samples revisited after teched
This commit is contained in:
37
packages/common-contacts/db/code-lists.cds
Normal file
37
packages/common-contacts/db/code-lists.cds
Normal file
@@ -0,0 +1,37 @@
|
||||
using { sap.capire.contacts.PostalAddress } from './schema';
|
||||
using { sap } from '@sap/cds/common';
|
||||
namespace sap.capire.contacts;
|
||||
|
||||
/**
|
||||
* The Code Lists below are designed as optional extensions to
|
||||
* the base schema. Switch them on by adding an Association to
|
||||
* one of the code list entities in your models or by:
|
||||
* annotate sap.common.Countries with @cds.persistence.skip:false;
|
||||
*/
|
||||
|
||||
entity Countries as select from sap.common.Countries;
|
||||
extend sap.common.Countries {
|
||||
regions : Composition of many Regions on regions._parent = $self.code;
|
||||
}
|
||||
entity Regions : sap.common.CodeList {
|
||||
key code : String(5); // ISO 3166-2 alpha5 codes, e.g. DE-BW
|
||||
children : Composition of many Regions on children._parent = $self.code;
|
||||
cities : Composition of many Cities on cities.region = $self;
|
||||
_parent : String(11);
|
||||
}
|
||||
entity Cities : sap.common.CodeList {
|
||||
key code : String(11);
|
||||
region : Association to Regions;
|
||||
districts : Composition of many Districts on districts.city = $self;
|
||||
}
|
||||
entity Districts : sap.common.CodeList {
|
||||
key code : String(11);
|
||||
city : Association to Cities;
|
||||
}
|
||||
|
||||
annotate PostalAddress with {
|
||||
district @ref: sap.capire.contacts.Districts;
|
||||
city @ref: sap.capire.contacts.Cities;
|
||||
region @ref: sap.capire.contacts.Regions;
|
||||
country @ref: sap.capire.contacts.Countries;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
code;name;descr
|
||||
AU;Australia;Commonwealth of Australia
|
||||
CA;Canada;Canada
|
||||
CN;China;People's Republic of China (PRC)
|
||||
FR;France;French Republic
|
||||
DE;Germany;Federal Republic of Germany
|
||||
IN;India;Republic of India
|
||||
IL;Israel;State of Israel
|
||||
MM;Myanmar;Republic of the Union of Myanmar
|
||||
GB;United Kingdom;United Kingdom of Great Britain and Northern Ireland
|
||||
US;United States;United States of America (USA)
|
||||
EU;European Union;European Union
|
||||
|
@@ -0,0 +1,12 @@
|
||||
code;locale;name;descr
|
||||
AU;de;Australien;Commonwealth Australien
|
||||
CA;de;Kanada;Canada
|
||||
CN;de;China;Volksrepublik China
|
||||
FR;de;Frankreich;Republik Frankreich
|
||||
DE;de;Deutschland;Bundesrepublik Deutschland
|
||||
IN;de;Indien;Republik Indien
|
||||
IL;de;Israel;Staat Israel
|
||||
MM;de;Myanmar;Republik der Union Myanmar
|
||||
GB;de;Vereinigtes Königreich;Vereinigtes Königreich Großbritannien und Nordirland
|
||||
US;de;Vereinigte Staaten;Vereinigte Staaten von Amerika
|
||||
EU;de;Europäische Union;Europäische Union
|
||||
|
58
packages/common-contacts/db/schema.cds
Normal file
58
packages/common-contacts/db/schema.cds
Normal file
@@ -0,0 +1,58 @@
|
||||
namespace sap.capire.contacts;
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Aspects
|
||||
|
||||
|
||||
aspect Organization {
|
||||
orgname : String(111);
|
||||
}
|
||||
|
||||
aspect Person {
|
||||
firstname : String(111);
|
||||
lastname : String(111);
|
||||
prefix : String(11);
|
||||
suffix : String(11);
|
||||
middle : String(11);
|
||||
dateOfBirth : Date; placeOfBirth : String;
|
||||
dateOfDeath : Date; placeOfDeath : String;
|
||||
}
|
||||
|
||||
aspect PostalAddress {
|
||||
street : String(222) @multiline;
|
||||
postCode : String(11);
|
||||
district : String(111);
|
||||
city : String(111);
|
||||
region : String(111);
|
||||
country : String(111);
|
||||
}
|
||||
|
||||
aspect ContactOptions {
|
||||
email : String @JSON:[{ kind:String, address: EmailAddress }];
|
||||
phone : String @JSON:[{ kind:String, number: PhoneNumber }];
|
||||
// phone : array of { kind:String; number: PhoneNumber };
|
||||
// addresses : Composition of many PostalAddress;
|
||||
}
|
||||
|
||||
type EmailAddress : String;
|
||||
type PhoneNumber : String;
|
||||
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Entities
|
||||
|
||||
@cds.persistence.skip:'if-unused'
|
||||
entity Contacts : Person, Organization, ContactOptions {
|
||||
key ID : UUID;
|
||||
isOrg : Boolean;
|
||||
addresses : Composition of many PostalAddresses on addresses.contact = $self;
|
||||
}
|
||||
|
||||
@cds.persistence.skip:'if-unused'
|
||||
entity PostalAddresses : PostalAddress {
|
||||
contact : Association to Contacts;
|
||||
kind : String;
|
||||
key ID : UUID;
|
||||
}
|
||||
Reference in New Issue
Block a user