initial upload of extension sample
This commit is contained in:
135
node_modules/_base/node_modules/@sap/cds/common.cds
generated
vendored
Normal file
135
node_modules/_base/node_modules/@sap/cds/common.cds
generated
vendored
Normal file
@@ -0,0 +1,135 @@
|
||||
type Language : Association to sap.common.Languages;
|
||||
type Currency : Association to sap.common.Currencies;
|
||||
type Country : Association to sap.common.Countries;
|
||||
|
||||
/**
|
||||
* Entities to serve the reuse types with extensible code lists
|
||||
* including built-in support for value lists in Fiori.
|
||||
*/
|
||||
context sap.common {
|
||||
entity Languages : CodeList {
|
||||
key code : String(14) @(title : '{i18n>LanguageCode}');
|
||||
//> length=14 is to accommodate values like these:
|
||||
// en_US_x_saptrc - (1Q) used as a technical SAP language code
|
||||
// en_US_x_sappsd - (2Q) used as a technical SAP language code
|
||||
}
|
||||
|
||||
entity Countries : CodeList {
|
||||
key code : String(3) @(title : '{i18n>CountryCode}');
|
||||
}
|
||||
|
||||
entity Currencies : CodeList {
|
||||
key code : String(3) @(title : '{i18n>CurrencyCode}');
|
||||
symbol : String(5) @(title : '{i18n>CurrencySymbol}');
|
||||
}
|
||||
|
||||
aspect CodeList @(
|
||||
cds.autoexpose,
|
||||
cds.persistence.skip : 'if-unused'
|
||||
) {
|
||||
name : localized String(255) @title : '{i18n>Name}';
|
||||
descr : localized String(1000) @title : '{i18n>Description}';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Aspect for entities with canonical universal IDs.
|
||||
*/
|
||||
aspect cuid {
|
||||
key ID : UUID; //> automatically filled in
|
||||
}
|
||||
|
||||
/*
|
||||
* Aspect to capture changes by user and name.
|
||||
*/
|
||||
aspect managed {
|
||||
createdAt : Timestamp @cds.on.insert : $now;
|
||||
createdBy : User @cds.on.insert : $user;
|
||||
modifiedAt : Timestamp @cds.on.insert : $now @cds.on.update : $now;
|
||||
modifiedBy : User @cds.on.insert : $user @cds.on.update : $user;
|
||||
}
|
||||
|
||||
/*
|
||||
* Aspects for entities with temporal data.
|
||||
*/
|
||||
aspect temporal {
|
||||
validFrom : Timestamp @cds.valid.from;
|
||||
validTo : Timestamp @cds.valid.to;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Canonical user ID
|
||||
*/
|
||||
type User : String(255);
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Annotations for Fiori UIs...
|
||||
|
||||
annotate sap.common.CodeList with @UI.Identification : [{Value:name}];
|
||||
annotate sap.common.CodeList with @cds.odata.valuelist;
|
||||
|
||||
annotate managed with {
|
||||
createdAt @UI.HiddenFilter;
|
||||
createdBy @UI.HiddenFilter;
|
||||
modifiedAt @UI.HiddenFilter;
|
||||
modifiedBy @UI.HiddenFilter;
|
||||
}
|
||||
|
||||
annotate managed with {
|
||||
createdAt @Core.Immutable;
|
||||
createdBy @Core.Immutable;
|
||||
}
|
||||
|
||||
annotate sap.common.Countries with { code @Common.Text:name; }
|
||||
annotate sap.common.Currencies with { code @Common.Text:name; }
|
||||
annotate sap.common.Languages with { code @Common.Text:name; }
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Common Annotations...
|
||||
|
||||
annotate Language with @(
|
||||
title : '{i18n>Language}',
|
||||
description : '{i18n>LanguageCode.Description}'
|
||||
);
|
||||
|
||||
annotate Currency with @(
|
||||
title : '{i18n>Currency}',
|
||||
description : '{i18n>CurrencyCode.Description}'
|
||||
);
|
||||
|
||||
annotate Country with @(
|
||||
title : '{i18n>Country}',
|
||||
description : '{i18n>CountryCode.Description}'
|
||||
);
|
||||
|
||||
annotate User with @(
|
||||
title : '{i18n>UserID}',
|
||||
description : '{i18n>UserID.Description}'
|
||||
);
|
||||
|
||||
annotate managed with {
|
||||
createdAt @title : '{i18n>CreatedAt}';
|
||||
createdBy @title : '{i18n>CreatedBy}';
|
||||
modifiedAt @title : '{i18n>ChangedAt}';
|
||||
modifiedBy @title : '{i18n>ChangedBy}';
|
||||
}
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Temporary Workarounds...
|
||||
|
||||
// REVISIT: change @odata.on... to @cds.on...
|
||||
// REVISIT: @cds.on... should automatically result in @readonly @Core.Computed
|
||||
|
||||
annotate managed with {
|
||||
modifiedAt @readonly @odata.on.update : #now;
|
||||
createdAt @readonly @odata.on.insert : #now;
|
||||
createdBy @readonly @odata.on.insert : #user;
|
||||
modifiedBy @readonly @odata.on.update : #user;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
Reference in New Issue
Block a user