commit 6657568824383da0b11756c94904794d82944311 Author: Wolfgang Koch Date: Thu May 6 15:22:46 2021 +0200 initial upload of extension sample diff --git a/db/data/sap.bookshop.extension-CustomerPostalAddresses.csv b/db/data/sap.bookshop.extension-CustomerPostalAddresses.csv new file mode 100644 index 00000000..c4ebd778 --- /dev/null +++ b/db/data/sap.bookshop.extension-CustomerPostalAddresses.csv @@ -0,0 +1,5 @@ +ID;modifiedAt;createdAt;createdBy;modifiedBy;Customer_ID;description;street;town;country_code +1e2f2640-6866-4dcf-8f4d-3027aa831cad;2019-04-04;2019-01-31;admin@business.com;admin@business.com;8e2f2640-6866-4dcf-8f4d-3027aa831cad;Home;Hauptstrasse 11;Berlin;DE +24e718c9-ff99-47f1-8ca3-950c850777d4;2019-04-04;2019-01-30;admin@business.com;admin@business.com;74e718c9-ff99-47f1-8ca3-950c850777d4;Home;Main Street 22;London;GB +3e2f2640-6866-4dcf-8f4d-3027aa831cad;2019-04-04;2019-01-31;admin@business.com;admin@business.com;8e2f2640-6866-4dcf-8f4d-3027aa831cad;Work;Siemensstrasse 21;Berlin;DE +44e718c9-ff99-47f1-8ca3-950c850777d4;2019-04-04;2019-01-30;admin@business.com;admin@business.com;74e718c9-ff99-47f1-8ca3-950c850777d4;Work;Work Street 34;London;GB diff --git a/db/data/sap.bookshop.extension-Customers.csv b/db/data/sap.bookshop.extension-Customers.csv new file mode 100644 index 00000000..9359a945 --- /dev/null +++ b/db/data/sap.bookshop.extension-Customers.csv @@ -0,0 +1,3 @@ +ID;modifiedAt;createdAt;createdBy;modifiedBy;email;firstName;lastName;creditCardNo;dateOfBirth;status;creditScore +8e2f2640-6866-4dcf-8f4d-3027aa831cad;2019-04-04;2019-01-31;admin@business.com;admin@business.com;john.doe@test.com;John;Doe;9977-6655-4433-2211;1970-01-01;gold;80.0 +74e718c9-ff99-47f1-8ca3-950c850777d4;2019-04-04;2019-01-30;admin@business.com;admin@business.com;jane.doe@sap.com;Jane;Doe;2211-3344-5566-7788;1980-11-11;platinum;100.0 \ No newline at end of file diff --git a/db/data/sap.capire.bookshop-Authors.csv b/db/data/sap.capire.bookshop-Authors.csv new file mode 100644 index 00000000..f97bfeed --- /dev/null +++ b/db/data/sap.capire.bookshop-Authors.csv @@ -0,0 +1,5 @@ +ID;name;dateOfBirth;placeOfBirth;dateOfDeath;placeOfDeath +101;Emily Brontë;1818-07-30;Thornton, Yorkshire;1848-12-19;Haworth, Yorkshire +107;Charlotte Brontë;1818-04-21;Thornton, Yorkshire;1855-03-31;Haworth, Yorkshire +150;Edgar Allen Poe;1809-01-19;Boston, Massachusetts;1849-10-07;Baltimore, Maryland +170;Richard Carpenter;1929-08-14;King’s Lynn, Norfolk;2012-02-26;Hertfordshire, England \ No newline at end of file diff --git a/db/data/sap.capire.bookshop-Books.csv b/db/data/sap.capire.bookshop-Books.csv new file mode 100644 index 00000000..cb3044aa --- /dev/null +++ b/db/data/sap.capire.bookshop-Books.csv @@ -0,0 +1,6 @@ +ID;title;descr;author_ID;stock;price;currency_code;genre_ID +201;Wuthering Heights;"Wuthering Heights, Emily Brontë's only novel, was published in 1847 under the pseudonym ""Ellis Bell"". It was written between October 1845 and June 1846. Wuthering Heights and Anne Brontë's Agnes Grey were accepted by publisher Thomas Newby before the success of their sister Charlotte's novel Jane Eyre. After Emily's death, Charlotte edited the manuscript of Wuthering Heights and arranged for the edited version to be published as a posthumous second edition in 1850.";101;12;11.11;GBP;11 +207;Jane Eyre;"Jane Eyre /ɛər/ (originally published as Jane Eyre: An Autobiography) is a novel by English writer Charlotte Brontë, published under the pen name ""Currer Bell"", on 16 October 1847, by Smith, Elder & Co. of London. The first American edition was published the following year by Harper & Brothers of New York. Primarily a bildungsroman, Jane Eyre follows the experiences of its eponymous heroine, including her growth to adulthood and her love for Mr. Rochester, the brooding master of Thornfield Hall. The novel revolutionised prose fiction in that the focus on Jane's moral and spiritual development is told through an intimate, first-person narrative, where actions and events are coloured by a psychological intensity. The book contains elements of social criticism, with a strong sense of Christian morality at its core and is considered by many to be ahead of its time because of Jane's individualistic character and how the novel approaches the topics of class, sexuality, religion and feminism.";107;11;12.34;GBP;11 +251;The Raven;"""The Raven"" is a narrative poem by American writer Edgar Allan Poe. First published in January 1845, the poem is often noted for its musicality, stylized language, and supernatural atmosphere. It tells of a talking raven's mysterious visit to a distraught lover, tracing the man's slow fall into madness. The lover, often identified as being a student, is lamenting the loss of his love, Lenore. Sitting on a bust of Pallas, the raven seems to further distress the protagonist with its constant repetition of the word ""Nevermore"". The poem makes use of folk, mythological, religious, and classical references.";150;333;13.13;USD;16 +252;Eleonora;"""Eleonora"" is a short story by Edgar Allan Poe, first published in 1842 in Philadelphia in the literary annual The Gift. It is often regarded as somewhat autobiographical and has a relatively ""happy"" ending.";150;555;14;USD;16 +271;Catweazle;Catweazle is a British fantasy television series, starring Geoffrey Bayldon in the title role, and created by Richard Carpenter for London Weekend Television. The first series, produced and directed by Quentin Lawrence, was screened in the UK on ITV in 1970. The second series, directed by David Reid and David Lane, was shown in 1971. Each series had thirteen episodes, most but not all written by Carpenter, who also published two books based on the scripts.;170;22;15;EUR;13 \ No newline at end of file diff --git a/db/data/sap.capire.bookshop-Genres.csv b/db/data/sap.capire.bookshop-Genres.csv new file mode 100644 index 00000000..1ea3793b --- /dev/null +++ b/db/data/sap.capire.bookshop-Genres.csv @@ -0,0 +1,16 @@ +ID;parent_ID;name +10;;Fiction +11;10;Drama +12;10;Poetry +13;10;Fantasy +14;10;Science Fiction +15;10;Romance +16;10;Mystery +17;10;Thriller +18;10;Dystopia +19;10;Fairy Tale +20;;Non-Fiction +21;20;Biography +22;21;Autobiography +23;20;Essay +24;20;Speech diff --git a/db/data/sap.capire.orders-Orders.csv b/db/data/sap.capire.orders-Orders.csv new file mode 100644 index 00000000..9ac4a7c9 --- /dev/null +++ b/db/data/sap.capire.orders-Orders.csv @@ -0,0 +1,3 @@ +ID;createdAt;createdBy;buyer;OrderNo;currency_code;Customer_ID;priority +7e2f2640-6866-4dcf-8f4d-3027aa831cad;2019-01-31;john.doe@test.com;john.doe@test.com;1;EUR;8e2f2640-6866-4dcf-8f4d-3027aa831cad;high +64e718c9-ff99-47f1-8ca3-950c850777d4;2019-01-30;jane.doe@test.com;jane.doe@test.com;2;EUR;74e718c9-ff99-47f1-8ca3-950c850777d4;low \ No newline at end of file diff --git a/db/data/sap.capire.orders-Orders_Items.csv b/db/data/sap.capire.orders-Orders_Items.csv new file mode 100644 index 00000000..b3025abe --- /dev/null +++ b/db/data/sap.capire.orders-Orders_Items.csv @@ -0,0 +1,4 @@ +ID;up__ID;amount;product_ID;title;price +58040e66-1dcd-4ffb-ab10-fdce32028b79;7e2f2640-6866-4dcf-8f4d-3027aa831cad;1;201;Wuthering Heights;11.11 +64e718c9-ff99-47f1-8ca3-950c850777d4;7e2f2640-6866-4dcf-8f4d-3027aa831cad;1;271;Catweazle;15 +e9641166-e050-4261-bfee-d1e797e6cb7f;64e718c9-ff99-47f1-8ca3-950c850777d4;2;252;Eleonora;28 \ No newline at end of file diff --git a/db/data/sap.common-Countries.csv b/db/data/sap.common-Countries.csv new file mode 100644 index 00000000..6614e27a --- /dev/null +++ b/db/data/sap.common-Countries.csv @@ -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 \ No newline at end of file diff --git a/db/data/sap.common-Currencies.csv b/db/data/sap.common-Currencies.csv new file mode 100644 index 00000000..efe4538e --- /dev/null +++ b/db/data/sap.common-Currencies.csv @@ -0,0 +1,12 @@ +code;symbol;name;descr;numcode;minor;exponent +EUR;€;Euro;European Euro;978;Cent;2 +USD;$;US Dollar;United States Dollar;840;Cent;2 +CAD;$;Canadian Dollar;Canadian Dollar;124;Cent;2 +AUD;$;Australian Dollar;Australian Dollar;036;Cent;2 +GBP;£;British Pound;Great Britain Pound;826;Penny;2 +ILS;₪;Shekel;Israeli New Shekel;376;Agorat;2 +INR;₹;Rupee;Indian Rupee;356;Paise;2 +QAR;﷼;Riyal;Katar Riyal;356;Dirham;2 +SAR;﷼;Riyal;Saudi Riyal;682;Halala;2 +JPY;¥;Yen;Japanese Yen;392;Sen;2 +CNY;¥;Yuan;Chinese Yuan Renminbi;156;Jiao;1 \ No newline at end of file diff --git a/db/data/sap.common-Languages.csv b/db/data/sap.common-Languages.csv new file mode 100644 index 00000000..17350b35 --- /dev/null +++ b/db/data/sap.common-Languages.csv @@ -0,0 +1,5 @@ +code;name +de;German +fr;French +en;English +en_GB;British English diff --git a/db/extension.cds b/db/extension.cds new file mode 100644 index 00000000..081666db --- /dev/null +++ b/db/extension.cds @@ -0,0 +1,49 @@ + +using {sap.capire.bookshop} from '_base/db/schema'; +using {sap.capire.orders} from '_base/db/schema'; +using from '_base/db/capire_common'; + +using { + cuid, managed, Country +} from '@sap/cds/common'; + +namespace sap.bookshop.extension; + +extend orders.Orders with { + Customer : Association to one Customers; + Remarks : Composition of many Remarks on Remarks.parent = $self; + priority : String @assert.range enum {high; medium; low} default 'medium'; +} + +entity Customers : cuid, managed { + email : String; + firstName : String; + lastName : String; + creditCardNo : String; + dateOfBirth : Date; + status : String @assert.range enum {platinum; gold; silver; bronze} default 'bronze'; + creditScore : Decimal @assert.range: [ 1.0, 100.0 ] default 50.0; + PostalAddresses : Composition of many CustomerPostalAddresses on PostalAddresses.Customer = $self; +} + +// new unique constraint (secondary index) +annotate Customers with @assert.unique: { email: [ email ] } +{ + email @mandatory; // mandatory check +} + +entity CustomerPostalAddresses : cuid, managed { + Customer : Association to one Customers; + description : String; + street : String; + town : String; + country : Country; +}; + +entity Remarks : cuid, managed +{ + parent : Association to one orders.Orders; + number : Integer; + remarksLine : String; +} + diff --git a/gen/srv/.cfignore b/gen/srv/.cfignore new file mode 100644 index 00000000..c2658d7d --- /dev/null +++ b/gen/srv/.cfignore @@ -0,0 +1 @@ +node_modules/ diff --git a/gen/srv/manifest.yml b/gen/srv/manifest.yml new file mode 100644 index 00000000..5c8bd2aa --- /dev/null +++ b/gen/srv/manifest.yml @@ -0,0 +1,8 @@ +--- +applications: + - name: multitenancy-srv + path: . + memory: 256M + buildpacks: + - nodejs_buildpack + services: diff --git a/gen/srv/package.json b/gen/srv/package.json new file mode 100644 index 00000000..8f3ac537 --- /dev/null +++ b/gen/srv/package.json @@ -0,0 +1,6 @@ +{ + "name": "multitenancy", + "version": "0.1.0", + "description": "cds extension project", + "dependencies": {} +} \ No newline at end of file diff --git a/gen/srv/srv/_i18n/i18n.json b/gen/srv/srv/_i18n/i18n.json new file mode 100644 index 00000000..87b516b6 --- /dev/null +++ b/gen/srv/srv/_i18n/i18n.json @@ -0,0 +1,1302 @@ +{ + "": { + "CreatedBy": "Created By", + "CreatedAt": "Created On", + "ChangedBy": "Changed By", + "ChangedAt": "Changed On", + "Currency": "Currency", + "CurrencyCode": "Currency Code", + "CurrencyCode.Description": "A currency code as specified in ISO 4217", + "CurrencySymbol": "Currency Symbol", + "Country": "Country", + "CountryCode": "Country Code", + "CountryCode.Description": "A country code as specified in ISO 3166-1", + "Language": "Language", + "LanguageCode": "Language Code", + "LanguageCode.Description": "A language code as specified in ISO 639-1", + "UserID": "User ID", + "Name": "Name", + "Description": "Description", + "UserID.Description": "A user's unique ID", + "Draft_DraftAdministrativeData": "Draft Administrative Data", + "Draft_DraftUUID": "Draft (Technical ID)", + "Draft_CreationDateTime": "Draft Created On", + "Draft_CreatedByUser": "Draft Created By", + "Draft_DraftIsCreatedByMe": "Draft Created By Me", + "Draft_LastChangeDateTime": "Draft Last Changed On", + "Draft_LastChangedByUser": "Draft Last Changed By", + "Draft_InProcessByUser": "Draft In Process By", + "Draft_DraftIsProcessedByMe": "Draft In Process By Me", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "ar": { + "CreatedBy": "تم الإنشاء بواسطة", + "CreatedAt": "تاريخ الإنشاء", + "ChangedBy": "تم التغيير بواسطة", + "ChangedAt": "تاريخ التغيير", + "Currency": "العملة", + "CurrencyCode": "رمز العملة", + "CurrencyCode.Description": "رمز العملة المحدد حسب ISO 4217", + "CurrencySymbol": "رمز العملة", + "Country": "الدولة", + "CountryCode": "رمز الدولة", + "CountryCode.Description": "رمز الدولة المحدد حسب ISO 4217", + "Language": "اللغة", + "LanguageCode": "رمز اللغة", + "LanguageCode.Description": "رمز الدولة المحدد حسب ISO 639-1", + "UserID": "معرف المستخدم", + "Name": "الاسم", + "Description": "الوصف", + "UserID.Description": "معرف المستخدم الفريد", + "Draft_DraftAdministrativeData": "البيانات الإدارية للمسودة", + "Draft_DraftUUID": "مسودة (المعرف التقني)", + "Draft_CreationDateTime": "تاريخ إنشاء المسودة", + "Draft_CreatedByUser": "منشئ المسودة", + "Draft_DraftIsCreatedByMe": "تم إنشاء المسودة بواسطتي", + "Draft_LastChangeDateTime": "تاريخ آخر تغيير للمسودة", + "Draft_LastChangedByUser": "آخر تغيير للمسودة بواسطة", + "Draft_InProcessByUser": "المسودة قيد المعالجة بواسطة", + "Draft_DraftIsProcessedByMe": "المسودة قيد المعالجة بواسطتي", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "cs": { + "CreatedBy": "Vytvořil", + "CreatedAt": "Vytvořeno dne", + "ChangedBy": "Autor změny", + "ChangedAt": "Změněno dne", + "Currency": "Měna", + "CurrencyCode": "Kód měny", + "CurrencyCode.Description": "Kód měny zadaný dle ISO 4217", + "CurrencySymbol": "Symbol měny", + "Country": "Stát", + "CountryCode": "Kód státu", + "CountryCode.Description": "Kód státu zadaný dle ISO 3166-1", + "Language": "Jazyk", + "LanguageCode": "Kód jazyka", + "LanguageCode.Description": "Kód jazyka zadaný dle ISO 639-1", + "UserID": "ID uživatele", + "Name": "Jméno", + "Description": "Popis", + "UserID.Description": "Jedinečné ID uživatele", + "Draft_DraftAdministrativeData": "Správní data návrhu", + "Draft_DraftUUID": "Návrh (technické ID)", + "Draft_CreationDateTime": "Návrh vytvořen dne", + "Draft_CreatedByUser": "Návrh vytvořil", + "Draft_DraftIsCreatedByMe": "Návrh vytvořen mnou", + "Draft_LastChangeDateTime": "Návrh naposledy změněn dne", + "Draft_LastChangedByUser": "Návrh naposledy změnil", + "Draft_InProcessByUser": "Návrh zpracovává", + "Draft_DraftIsProcessedByMe": "Návrh zpracovávaný mnou", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "da": { + "CreatedBy": "Oprettet af", + "CreatedAt": "Oprettet den", + "ChangedBy": "Ændret af", + "ChangedAt": "Ændret den", + "Currency": "Valuta", + "CurrencyCode": "Valutakode", + "CurrencyCode.Description": "Valutakode som angivet af ISO 4217", + "CurrencySymbol": "Valutasymbol", + "Country": "Land", + "CountryCode": "Landekode", + "CountryCode.Description": "Landekode som angivet af ISO 3166-1", + "Language": "Sprog", + "LanguageCode": "Sprogkode", + "LanguageCode.Description": "Sprogkode som angivet af ISO 639-1", + "UserID": "Bruger-ID", + "Name": "Navn", + "Description": "Beskrivelse", + "UserID.Description": "Brugers entydige ID", + "Draft_DraftAdministrativeData": "Udkast administrationsdata", + "Draft_DraftUUID": "Udkast (teknisk ID)", + "Draft_CreationDateTime": "Udkast oprettet den", + "Draft_CreatedByUser": "Udkast oprettet af", + "Draft_DraftIsCreatedByMe": "Udkast oprettet af mig", + "Draft_LastChangeDateTime": "Udkast senest ændret den", + "Draft_LastChangedByUser": "Udkast senest ændret af", + "Draft_InProcessByUser": "Udkast behandles af", + "Draft_DraftIsProcessedByMe": "Udkast behandles af mig", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "de": { + "CreatedBy": "Angelegt von", + "CreatedAt": "Angelegt am", + "ChangedBy": "Geändert von", + "ChangedAt": "Geändert am", + "Currency": "Währung", + "CurrencyCode": "Währungscode", + "CurrencyCode.Description": "Währungscode gemäß ISO 4217", + "CurrencySymbol": "Währungssymbol", + "Country": "Land", + "CountryCode": "Ländercode", + "CountryCode.Description": "Ländercode gemäß ISO 3166-1", + "Language": "Sprache", + "LanguageCode": "Sprachencode", + "LanguageCode.Description": "Sprachencode gemäß ISO 639-1", + "UserID": "Benutzer-ID", + "Name": "Name", + "Description": "Beschreibung", + "UserID.Description": "Die eindeutige ID eines Benutzers", + "Draft_DraftAdministrativeData": "Verwaltungsdaten des Entwurfs", + "Draft_DraftUUID": "Entwurf (technische ID)", + "Draft_CreationDateTime": "Entwurf angelegt am", + "Draft_CreatedByUser": "Entwurf angelegt von", + "Draft_DraftIsCreatedByMe": "Entwurf angelegt von mir", + "Draft_LastChangeDateTime": "Entwurf zuletzt geändert am", + "Draft_LastChangedByUser": "Entwurf zuletzt geändert von", + "Draft_InProcessByUser": "Entwurf in Bearbeitung durch", + "Draft_DraftIsProcessedByMe": "Entwurf in Bearbeitung durch mich", + "Books": "Bücher", + "Book": "Buch", + "ID": "ID", + "Title": "Titel", + "Author": "Autor", + "AuthorID": "ID des Autors", + "Stock": "Bestand", + "AuthorName": "Name des Autors", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Alter", + "Authors": "Autoren", + "Order": "Bestellung", + "Orders": "Bestellungen", + "Price": "Preis", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "en": { + "CreatedBy": "Created By", + "CreatedAt": "Created On", + "ChangedBy": "Changed By", + "ChangedAt": "Changed On", + "Currency": "Currency", + "CurrencyCode": "Currency Code", + "CurrencyCode.Description": "Currency code as specified by ISO 4217", + "CurrencySymbol": "Currency Symbol", + "Country": "Country", + "CountryCode": "Country Code", + "CountryCode.Description": "Country code as specified by ISO 3166-1", + "Language": "Language", + "LanguageCode": "Language Code", + "LanguageCode.Description": "Language code as specified by ISO 639-1", + "UserID": "User ID", + "Name": "Name", + "Description": "Description", + "UserID.Description": "User's unique ID", + "Draft_DraftAdministrativeData": "Draft Administrative Data", + "Draft_DraftUUID": "Draft (Technical ID)", + "Draft_CreationDateTime": "Draft Created On", + "Draft_CreatedByUser": "Draft Created By", + "Draft_DraftIsCreatedByMe": "Draft Created By Me", + "Draft_LastChangeDateTime": "Draft Last Changed On", + "Draft_LastChangedByUser": "Draft Last Changed By", + "Draft_InProcessByUser": "Draft In Process By", + "Draft_DraftIsProcessedByMe": "Draft In Process By Me", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "es": { + "CreatedBy": "Creado por", + "CreatedAt": "Fecha de creación", + "ChangedBy": "Modificado por", + "ChangedAt": "Modificado el", + "Currency": "Moneda", + "CurrencyCode": "Código de moneda", + "CurrencyCode.Description": "Código de moneda según especificado por ISO 4217", + "CurrencySymbol": "Símbolo de moneda", + "Country": "País", + "CountryCode": "Código de país", + "CountryCode.Description": "Código de país según especificado por ISO 3166-1", + "Language": "Idioma", + "LanguageCode": "Código de idioma", + "LanguageCode.Description": "Código de idioma según especificado por ISO 639-1", + "UserID": "ID de usuario", + "Name": "Nombre", + "Description": "Descripción", + "UserID.Description": "ID único de usuario", + "Draft_DraftAdministrativeData": "Datos administrativos en borrador", + "Draft_DraftUUID": "Borrador (ID técnico)", + "Draft_CreationDateTime": "Borrador creado el", + "Draft_CreatedByUser": "Borrador creado por", + "Draft_DraftIsCreatedByMe": "Borrador creado por mí", + "Draft_LastChangeDateTime": "Fecha del último cambio en borrador", + "Draft_LastChangedByUser": "Autor del último cambio en borrador", + "Draft_InProcessByUser": "Borrador en proceso por", + "Draft_DraftIsProcessedByMe": "Borrador en proceso por mí", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "fi": { + "CreatedBy": "Tekijä", + "CreatedAt": "Luontipäivämäärä", + "ChangedBy": "Muuttaja", + "ChangedAt": "Muutospäivämäärä", + "Currency": "Valuutta", + "CurrencyCode": "Valuuttakoodi", + "CurrencyCode.Description": "ISO 4217:n mukainen valuuttakoodi", + "CurrencySymbol": "Valuuttatunnus", + "Country": "Maa", + "CountryCode": "Maakoodi", + "CountryCode.Description": "ISO 3166-1:n mukainen maakoodi", + "Language": "Kieli", + "LanguageCode": "Kielikoodi", + "LanguageCode.Description": "ISO 639-1:n mukainen kielikoodi", + "UserID": "Käyttäjätunnus", + "Name": "Nimi", + "Description": "Kuvaus", + "UserID.Description": "Käyttäjän yksiselitteinen tunnus", + "Draft_DraftAdministrativeData": "Luonnoksen hallintatiedot", + "Draft_DraftUUID": "Luonnos (tekninen tunnus)", + "Draft_CreationDateTime": "Luonnos luotu", + "Draft_CreatedByUser": "Luonnoksen tekijä", + "Draft_DraftIsCreatedByMe": "Luonnos minun tekemäni", + "Draft_LastChangeDateTime": "Luonnosta muutettu viimeksi", + "Draft_LastChangedByUser": "Luonnoksen viimeisin muuttaja", + "Draft_InProcessByUser": "Luonnos käsiteltävänä -", + "Draft_DraftIsProcessedByMe": "Luonnos minun käsiteltävänäni", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "fr": { + "CreatedBy": "Créé(e) par", + "CreatedAt": "Créé(e) le", + "ChangedBy": "Modifié(e) par", + "ChangedAt": "Modifié(e) le", + "Currency": "Devise", + "CurrencyCode": "Code de devise", + "CurrencyCode.Description": "Code de devise tel qu'indiqué par ISO 4217", + "CurrencySymbol": "Symbole de devise", + "Country": "Pays", + "CountryCode": "Code pays", + "CountryCode.Description": "Code pays tel qu'indiqué par ISO 3166-1", + "Language": "Langue", + "LanguageCode": "Code langue", + "LanguageCode.Description": "Code langue tel qu'indiqué par ISO 639-1", + "UserID": "ID utilisateur", + "Name": "Nom", + "Description": "Description", + "UserID.Description": "ID unique de l'utilisateur", + "Draft_DraftAdministrativeData": "Données administratives préliminaires", + "Draft_DraftUUID": "Version préliminaire (ID technique)", + "Draft_CreationDateTime": "Version préliminaire créée le", + "Draft_CreatedByUser": "Version préliminaire créée par", + "Draft_DraftIsCreatedByMe": "Version préliminaire créée par moi", + "Draft_LastChangeDateTime": "Dernière modification de la version préliminaire le", + "Draft_LastChangedByUser": "Dernière modification de la version préliminaire par", + "Draft_InProcessByUser": "Version préliminaire en cours de traitement par", + "Draft_DraftIsProcessedByMe": "Version préliminaire en cours de traitement par moi", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "hu": { + "CreatedBy": "Létrehozó:", + "CreatedAt": "Létrehozás dátuma", + "ChangedBy": "Módosító", + "ChangedAt": "Módosítás dátuma", + "Currency": "Pénznem", + "CurrencyCode": "Pénznem kódja", + "CurrencyCode.Description": "Pénznem kódja ISO 4217 szerint", + "CurrencySymbol": "Pénznem szimbóluma", + "Country": "Ország", + "CountryCode": "Országkód", + "CountryCode.Description": "Pénznem kódja ISO 3166-1 szerint", + "Language": "Nyelv", + "LanguageCode": "Nyelvkód", + "LanguageCode.Description": "Pénznem kódja ISO 639-1 szerint", + "UserID": "Felhasználóazonosító", + "Name": "Név", + "Description": "Leírás", + "UserID.Description": "Felhasználó egyedi azonosítója", + "Draft_DraftAdministrativeData": "Adminisztrációs adatok - tervezet", + "Draft_DraftUUID": "Tervezet (műszaki azonosító)", + "Draft_CreationDateTime": "Tervezet létrehozásának dátuma", + "Draft_CreatedByUser": "Tervezet létrehozója", + "Draft_DraftIsCreatedByMe": "Általam létrehozott tervezet", + "Draft_LastChangeDateTime": "Tervezet utolsó módosításának dátuma", + "Draft_LastChangedByUser": "Tervezet utolsó módosítója", + "Draft_InProcessByUser": "Tervezet feldolgozás alatt, feldolgozó neve", + "Draft_DraftIsProcessedByMe": "Tervezet feldolgozás alatt általam", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "it": { + "CreatedBy": "Autore creazione", + "CreatedAt": "Data di creazione", + "ChangedBy": "Autore modifica", + "ChangedAt": "Data di modifica", + "Currency": "Divisa", + "CurrencyCode": "Codice divisa", + "CurrencyCode.Description": "Codice divisa come indicato da ISO 4217", + "CurrencySymbol": "Simbolo divisa", + "Country": "Paese", + "CountryCode": "Codice paese", + "CountryCode.Description": "Codice paese come indicato da ISO 3166-1", + "Language": "Lingua", + "LanguageCode": "Codice lingua", + "LanguageCode.Description": "Codice lingua come indicato da ISO 639-1", + "UserID": "ID utente", + "Name": "Nome", + "Description": "Descrizione", + "UserID.Description": "ID univoco utente", + "Draft_DraftAdministrativeData": "Dati amministrativi bozza", + "Draft_DraftUUID": "Bozza (ID tecnico)", + "Draft_CreationDateTime": "Data di creazione bozza", + "Draft_CreatedByUser": "Autore creazione bozza", + "Draft_DraftIsCreatedByMe": "Bozza creata da me", + "Draft_LastChangeDateTime": "Ultima modifica bozza", + "Draft_LastChangedByUser": "Autore dell'ultima modifica bozza", + "Draft_InProcessByUser": "Bozza attualmente elaborata da", + "Draft_DraftIsProcessedByMe": "Bozza attualmente elaborata da me", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "ja": { + "CreatedBy": "登録者", + "CreatedAt": "作成時間", + "ChangedBy": "変更者", + "ChangedAt": "変更日付", + "Currency": "通貨", + "CurrencyCode": "通貨コード", + "CurrencyCode.Description": "ISO 4217 で指定されている通貨コード", + "CurrencySymbol": "通貨シンボル", + "Country": "国", + "CountryCode": "国コード", + "CountryCode.Description": "ISO 3166-1 で指定されている通貨コード", + "Language": "言語", + "LanguageCode": "言語コード", + "LanguageCode.Description": "ISO 639-1 で指定されている言語コード", + "UserID": "ユーザ ID", + "Name": "名前", + "Description": "説明", + "UserID.Description": "ユーザの一意の ID", + "Draft_DraftAdministrativeData": "ドラフト管理データ", + "Draft_DraftUUID": "ドラフト (技術 ID)", + "Draft_CreationDateTime": "ドラフト作成日付", + "Draft_CreatedByUser": "ドラフト作成者", + "Draft_DraftIsCreatedByMe": "自分が作成したドラフト", + "Draft_LastChangeDateTime": "ドラフト最終変更日付", + "Draft_LastChangedByUser": "ドラフト最終変更者", + "Draft_InProcessByUser": "処理中ドラフトの処理者", + "Draft_DraftIsProcessedByMe": "自分が処理しているドラフト", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "ko": { + "CreatedBy": "생성자", + "CreatedAt": "생성일", + "ChangedBy": "변경자", + "ChangedAt": "변경일", + "Currency": "통화", + "CurrencyCode": "통화 코드", + "CurrencyCode.Description": "ISO 4217에서 지정한 통화 코드", + "CurrencySymbol": "통화 기호", + "Country": "국가", + "CountryCode": "국가 코드", + "CountryCode.Description": "ISO 3166-1에서 지정한 국가 코드", + "Language": "언어", + "LanguageCode": "언어 코드", + "LanguageCode.Description": "ISO 639-1에서 지정한 언어 코드", + "UserID": "사용자 ID", + "Name": "이름", + "Description": "내역", + "UserID.Description": "사용자 고유 ID", + "Draft_DraftAdministrativeData": "드래프트 관리 데이터", + "Draft_DraftUUID": "드래프트(기술 ID)", + "Draft_CreationDateTime": "드래프트 생성일", + "Draft_CreatedByUser": "드래프트 생성자", + "Draft_DraftIsCreatedByMe": "내가 생성한 드래프트", + "Draft_LastChangeDateTime": "드래프트 최종 변경일", + "Draft_LastChangedByUser": "드래프트 최종 변경자", + "Draft_InProcessByUser": "드래프트 처리 중인 사용자", + "Draft_DraftIsProcessedByMe": "내가 처리 중인 드래프트", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "ms": { + "CreatedBy": "Dicipta oleh", + "CreatedAt": "Dicipta pada", + "ChangedBy": "Diubah oleh", + "ChangedAt": "Diubah pada", + "Currency": "Mata Wang", + "CurrencyCode": "Kod Mata Wang", + "CurrencyCode.Description": "Kod mata wang seperti yang dinyatakan dalam ISO 4217", + "CurrencySymbol": "Simbol Mata Wang", + "Country": "Negara", + "CountryCode": "Kod Negara", + "CountryCode.Description": "Kod mata wang seperti yang dinyatakan dalam ISO 3166-1", + "Language": "Bahasa", + "LanguageCode": "Kod Bahasa", + "LanguageCode.Description": "Kod bahasa seperti yang dinyatakan dalam ISO 639-1", + "UserID": "ID Pengguna", + "Name": "Nama", + "Description": "Perihalan", + "UserID.Description": "ID unik pengguna", + "Draft_DraftAdministrativeData": "Data Pentadbiran Draf", + "Draft_DraftUUID": "Draf (ID Teknikal)", + "Draft_CreationDateTime": "Draf Dicipta pada", + "Draft_CreatedByUser": "Draf Dicipta oleh", + "Draft_DraftIsCreatedByMe": "Draf Dicipta oleh Saya", + "Draft_LastChangeDateTime": "Draf Terakhir Diubah pada", + "Draft_LastChangedByUser": "Draf Terakhir Diubah oleh", + "Draft_InProcessByUser": "Draf Sedang Diproses oleh", + "Draft_DraftIsProcessedByMe": "Draf Sedang Diproses oleh Saya", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "nl": { + "CreatedBy": "Gecreëerd door", + "CreatedAt": "Gecreëerd op", + "ChangedBy": "Gewijzigd door", + "ChangedAt": "Gewijzigd op", + "Currency": "Valuta", + "CurrencyCode": "Valutacode", + "CurrencyCode.Description": "Valutacode zoals gespecificeerd door ISO 4217", + "CurrencySymbol": "Valutasymbool", + "Country": "Land", + "CountryCode": "Landcode", + "CountryCode.Description": "Landcode zoals gespecificeerd door ISO 3166-1", + "Language": "Taal", + "LanguageCode": "Taalcode", + "LanguageCode.Description": "Taalcode zoals gespecificeerd door ISO 639-1", + "UserID": "Gebruikers-ID", + "Name": "Naam", + "Description": "Omschrijving", + "UserID.Description": "Unieke ID van gebruiker", + "Draft_DraftAdministrativeData": "Conceptbeheergegevens", + "Draft_DraftUUID": "Concept (technische ID)", + "Draft_CreationDateTime": "Concept gecreëerd op", + "Draft_CreatedByUser": "Concept gecreëerd door", + "Draft_DraftIsCreatedByMe": "Concept gecreëerd door mij", + "Draft_LastChangeDateTime": "Concept laatst gewijzigd op", + "Draft_LastChangedByUser": "Concept laatst gewijzigd door", + "Draft_InProcessByUser": "Concept wordt bewerkt door", + "Draft_DraftIsProcessedByMe": "Concept wordt bewerkt door mij", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "no": { + "CreatedBy": "Opprettet av", + "CreatedAt": "Opprettet den", + "ChangedBy": "Endret av", + "ChangedAt": "Endret den", + "Currency": "Valuta", + "CurrencyCode": "Valutakode", + "CurrencyCode.Description": "Valutakode som definert i ISO 4217", + "CurrencySymbol": "Valutasymbol", + "Country": "Land", + "CountryCode": "Landkode", + "CountryCode.Description": "Valutakode som definert i ISO 3166-1", + "Language": "Språk", + "LanguageCode": "Språkkode", + "LanguageCode.Description": "Språkkode som definert i ISO 639-1", + "UserID": "Bruker-ID", + "Name": "Navn", + "Description": "Beskrivelse", + "UserID.Description": "Brukerens unike ID", + "Draft_DraftAdministrativeData": "Administrative data for utkast", + "Draft_DraftUUID": "Utkast (teknisk ID)", + "Draft_CreationDateTime": "Utkast opprettet den", + "Draft_CreatedByUser": "Utkast opprettet av", + "Draft_DraftIsCreatedByMe": "Utkast opprettet av meg", + "Draft_LastChangeDateTime": "Utkast sist endret den", + "Draft_LastChangedByUser": "Utkast sist endret av", + "Draft_InProcessByUser": "Utkast under behandling av", + "Draft_DraftIsProcessedByMe": "Utkast under behandling av meg", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "pl": { + "CreatedBy": "Utworzone przez", + "CreatedAt": "Utworzono dnia", + "ChangedBy": "Zmienione przez", + "ChangedAt": "Zmieniono dnia", + "Currency": "Waluta", + "CurrencyCode": "Kod waluty", + "CurrencyCode.Description": "Kod waluty określony zgodnie z normą ISO 4217", + "CurrencySymbol": "Symbol waluty", + "Country": "Kraj", + "CountryCode": "Kod kraju", + "CountryCode.Description": "Kod kraju określony zgodnie z normą ISO 3166-1", + "Language": "Język", + "LanguageCode": "Kod języka", + "LanguageCode.Description": "Kod języka określony zgodnie z normą ISO 639-1", + "UserID": "Identyfikator użytkownika", + "Name": "Nazwa", + "Description": "Opis", + "UserID.Description": "Unikalny identyfikator użytkownika", + "Draft_DraftAdministrativeData": "Dane administracyjne wersji roboczej", + "Draft_DraftUUID": "Wersja robocza (identyfikator techniczny)", + "Draft_CreationDateTime": "Wersja robocza utworzona dnia", + "Draft_CreatedByUser": "Wersja robocza utworzona przez", + "Draft_DraftIsCreatedByMe": "Wersja robocza utworzona przeze mnie", + "Draft_LastChangeDateTime": "Wersja robocza ostatnio zmieniona dnia", + "Draft_LastChangedByUser": "Wersja robocza ostatnio zmieniona przez", + "Draft_InProcessByUser": "Wersja robocza w przetwarzaniu przez", + "Draft_DraftIsProcessedByMe": "Wersja robocza w przetwarzaniu przeze mnie", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "pt": { + "CreatedBy": "Criado por", + "CreatedAt": "Criado em", + "ChangedBy": "Modificado por", + "ChangedAt": "Modificado em", + "Currency": "Moeda", + "CurrencyCode": "Código de moeda", + "CurrencyCode.Description": "Código de moeda como especificado pelo ISO 4217", + "CurrencySymbol": "Símbolo da moeda", + "Country": "País", + "CountryCode": "Código do país", + "CountryCode.Description": "Código do país como especificado pelo ISO 3166-1", + "Language": "Idioma", + "LanguageCode": "Código de idioma", + "LanguageCode.Description": "Código de idioma como especificado pelo ISO 639-1", + "UserID": "ID do usuário", + "Name": "Nome", + "Description": "Descrição", + "UserID.Description": "ID exclusivo do usuário", + "Draft_DraftAdministrativeData": "Dados administrativos de rascunho", + "Draft_DraftUUID": "Rascunho (ID técnico)", + "Draft_CreationDateTime": "Rascunho criado em", + "Draft_CreatedByUser": "Rascunho criado por", + "Draft_DraftIsCreatedByMe": "Rascunho criado por mim", + "Draft_LastChangeDateTime": "Última modificação do rascunho em", + "Draft_LastChangedByUser": "Última modificação do rascunho por", + "Draft_InProcessByUser": "Rascunho sendo processado por", + "Draft_DraftIsProcessedByMe": "Rascunho sendo processado por mim", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "ro": { + "CreatedBy": "Creat de", + "CreatedAt": "Creat pe", + "ChangedBy": "Modificat de", + "ChangedAt": "Modificat pe", + "Currency": "Monedă", + "CurrencyCode": "Cod monedă", + "CurrencyCode.Description": "Cod monedă așa cum este specificat de ISO 4217", + "CurrencySymbol": "Simbol monedă", + "Country": "Țară", + "CountryCode": "Cod de țară", + "CountryCode.Description": "Cod de țară așa cum este specificat de ISO 3166-1", + "Language": "Limbă", + "LanguageCode": "Cod de limbă", + "LanguageCode.Description": "Cod de limbă așa cum este specificat de ISO 639-1", + "UserID": "ID utilizator", + "Name": "Nume", + "Description": "Descriere", + "UserID.Description": "ID unic utilizator", + "Draft_DraftAdministrativeData": "Date de administrare în versiune preliminară", + "Draft_DraftUUID": "Versiune preliminară (ID tehnic)", + "Draft_CreationDateTime": "Versiune preliminară creată pe", + "Draft_CreatedByUser": "Versiune preliminară creată de", + "Draft_DraftIsCreatedByMe": "Versiune preliminară creată de mine", + "Draft_LastChangeDateTime": "Versiune preliminară modificată ultima dată pe", + "Draft_LastChangedByUser": "Versiune preliminară modificată ultima dată de", + "Draft_InProcessByUser": "Versiune preliminară în prelucrare de", + "Draft_DraftIsProcessedByMe": "Versiune preliminară în prelucrare de mine", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "ru": { + "CreatedBy": "Создал", + "CreatedAt": "Дата создания", + "ChangedBy": "Автор изменения", + "ChangedAt": "Дата изменения", + "Currency": "Валюта", + "CurrencyCode": "Код валюты", + "CurrencyCode.Description": "Код валюты в соответствии с ISO 4217", + "CurrencySymbol": "Символ валюты", + "Country": "Страна", + "CountryCode": "Код страны", + "CountryCode.Description": "Код страны в соответствии с ISO 3166-1", + "Language": "Язык", + "LanguageCode": "Код языка", + "LanguageCode.Description": "Код языка в соответствии с ISO 639-1", + "UserID": "Ид. пользователя", + "Name": "Имя", + "Description": "Описание", + "UserID.Description": "Уникальный ид. пользователя", + "Draft_DraftAdministrativeData": "Черновик административных данных", + "Draft_DraftUUID": "Черновик (технический ид.)", + "Draft_CreationDateTime": "Дата создания черновика", + "Draft_CreatedByUser": "Создал черновик", + "Draft_DraftIsCreatedByMe": "Черновик создан мной", + "Draft_LastChangeDateTime": "Дата последнего изменения черновика", + "Draft_LastChangedByUser": "Изменил черновик", + "Draft_InProcessByUser": "Обрабатывает черновик", + "Draft_DraftIsProcessedByMe": "Черновик обрабатывается мной", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "sv": { + "CreatedBy": "Uppläggning av", + "CreatedAt": "Uppläggning den", + "ChangedBy": "Ändring av", + "ChangedAt": "Ändring den", + "Currency": "Valuta", + "CurrencyCode": "Valutakod", + "CurrencyCode.Description": "Valutakod enligt ISO 4217", + "CurrencySymbol": "Valutasymbol", + "Country": "Land", + "CountryCode": "Landskod", + "CountryCode.Description": "Landskod enligt ISO 3166-1", + "Language": "Språk", + "LanguageCode": "Språkkod", + "LanguageCode.Description": "Språkkod enligt ISO 639-1", + "UserID": "Användar-ID", + "Name": "Namn", + "Description": "Beskrivning", + "UserID.Description": "Unik användar-ID", + "Draft_DraftAdministrativeData": "Utkast för administrativa data", + "Draft_DraftUUID": "Utkast (teknisk ID)", + "Draft_CreationDateTime": "Utkast skapat den", + "Draft_CreatedByUser": "Utkast skapat av", + "Draft_DraftIsCreatedByMe": "Utkast skapat av mig", + "Draft_LastChangeDateTime": "Senaste utkaständring den", + "Draft_LastChangedByUser": "Senaste utkaständring av", + "Draft_InProcessByUser": "Utkast under bearbetning av", + "Draft_DraftIsProcessedByMe": "Utkast under bearbetning av mig", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "th": { + "CreatedBy": "สร้างโดย", + "CreatedAt": "สร้างเมื่อ", + "ChangedBy": "เปลี่ยนแปลงโดย", + "ChangedAt": "เปลี่ยนแปลงเมื่อ", + "Currency": "สกุลเงิน", + "CurrencyCode": "รหัสสกุลเงิน", + "CurrencyCode.Description": "รหัสสกุลเงินตามที่ระบุใน ISO 4217", + "CurrencySymbol": "สัญลักษณ์สกุลเงิน", + "Country": "ประเทศ", + "CountryCode": "รหัสประเทศ", + "CountryCode.Description": "รหัสประเทศตามที่ระบุใน ISO 3166-1", + "Language": "ภาษา", + "LanguageCode": "รหัสภาษา", + "LanguageCode.Description": "รหัสภาษาตามที่ระบุใน ISO 639-1", + "UserID": "ID ผู้ใช้", + "Name": "ชื่อ", + "Description": "คำอธิบาย", + "UserID.Description": "ID ที่ไม่ซ้ำของผู้ใช้", + "Draft_DraftAdministrativeData": "ข้อมูลด้านการบริหารสำหรับแบบร่าง", + "Draft_DraftUUID": "แบบร่าง (ID ทางเทคนิค)", + "Draft_CreationDateTime": "สร้างแบบร่างเมื่อ", + "Draft_CreatedByUser": "สร้างแบบร่างโดย", + "Draft_DraftIsCreatedByMe": "แบบร่างที่ฉันสร้างขึ้น", + "Draft_LastChangeDateTime": "เปลี่ยนแปลงแบบร่างครั้งล่าสุดเมื่อ", + "Draft_LastChangedByUser": "เปลี่ยนแปลงแบบร่างครั้งล่าสุดโดย", + "Draft_InProcessByUser": "แบบร่างอยู่ระหว่างดำเนินการโดย", + "Draft_DraftIsProcessedByMe": "แบบร่างที่ฉันกำลังดำเนินการ", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "tr": { + "CreatedBy": "Oluşturan", + "CreatedAt": "Oluşturma tarihi", + "ChangedBy": "Değiştiren", + "ChangedAt": "Değişiklik tarihi", + "Currency": "Para birimi", + "CurrencyCode": "Para birimi kodu", + "CurrencyCode.Description": "ISO 4217 tarafından belirtilen para birimi kodu", + "CurrencySymbol": "Para birimi sembolü", + "Country": "Ülke", + "CountryCode": "Ülke kodu", + "CountryCode.Description": "ISO 3166-1 tarafından belirtilen ülke kodu", + "Language": "Dil", + "LanguageCode": "Dil kodu", + "LanguageCode.Description": "ISO 639-1 tarafından belirtilen dil kodu", + "UserID": "Kullanıcı tanıtıcısı", + "Name": "Ad", + "Description": "Tanım", + "UserID.Description": "Kullanıcının benzersiz tanıtıcısı", + "Draft_DraftAdministrativeData": "Taslak yönetim verileri", + "Draft_DraftUUID": "Taslak (teknik tanıtıcı)", + "Draft_CreationDateTime": "Taslak oluşturma tarihi", + "Draft_CreatedByUser": "Taslağı oluşturan", + "Draft_DraftIsCreatedByMe": "Tarafımdan oluşturulan taslak", + "Draft_LastChangeDateTime": "Taslağın son değişiklik tarihi", + "Draft_LastChangedByUser": "Taslağı son değiştiren", + "Draft_InProcessByUser": "Taslağı işleyen", + "Draft_DraftIsProcessedByMe": "Tarafımdan işlenen taslak", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "zh_CN": { + "CreatedBy": "创建者", + "CreatedAt": "创建日期", + "ChangedBy": "更改者", + "ChangedAt": "更改日期", + "Currency": "货币", + "CurrencyCode": "货币代码", + "CurrencyCode.Description": "ISO 4217 指定的货币代码", + "CurrencySymbol": "货币符号", + "Country": "国家/地区", + "CountryCode": "国家/地区代码", + "CountryCode.Description": "ISO 3166-1 指定的国家/地区代码", + "Language": "语言", + "LanguageCode": "语言代码", + "LanguageCode.Description": "ISO 639-1 指定的语言代码", + "UserID": "用户标识", + "Name": "名称", + "Description": "描述", + "UserID.Description": "用户的唯一标识", + "Draft_DraftAdministrativeData": "草稿管理数据", + "Draft_DraftUUID": "草稿(技术标识)", + "Draft_CreationDateTime": "草稿创建日期", + "Draft_CreatedByUser": "草稿创建人", + "Draft_DraftIsCreatedByMe": "草稿由我创建", + "Draft_LastChangeDateTime": "草稿上次更改日期", + "Draft_LastChangedByUser": "草稿上次更改者", + "Draft_InProcessByUser": "正在处理草稿者", + "Draft_DraftIsProcessedByMe": "草稿正在由我处理", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "zh_TW": { + "CreatedBy": "建立者", + "CreatedAt": "建立日期", + "ChangedBy": "更改者", + "ChangedAt": "更改日期", + "Currency": "幣別", + "CurrencyCode": "幣別代碼", + "CurrencyCode.Description": "已按 ISO 4217 指定公司代碼", + "CurrencySymbol": "幣別符號", + "Country": "國家", + "CountryCode": "國家代碼", + "CountryCode.Description": "已按 ISO 3166-1 指定公司代碼", + "Language": "語言", + "LanguageCode": "語言代碼", + "LanguageCode.Description": "已按 ISO 639-1 指定公司代碼", + "UserID": "使用者 ID", + "Name": "名稱", + "Description": "說明", + "UserID.Description": "使用者專屬 ID", + "Draft_DraftAdministrativeData": "草稿管理資料", + "Draft_DraftUUID": "草稿 (技術 ID)", + "Draft_CreationDateTime": "草稿建立日期", + "Draft_CreatedByUser": "草稿建立者", + "Draft_DraftIsCreatedByMe": "我所建立的草稿", + "Draft_LastChangeDateTime": "草稿的上次更改日期", + "Draft_LastChangedByUser": "草稿的上次更改者", + "Draft_InProcessByUser": "正在處理草稿的人員", + "Draft_DraftIsProcessedByMe": "我正在處理的草稿", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + } +} \ No newline at end of file diff --git a/gen/srv/srv/csn.json b/gen/srv/srv/csn.json new file mode 100644 index 00000000..c76010dd --- /dev/null +++ b/gen/srv/srv/csn.json @@ -0,0 +1,6700 @@ +{ + "namespace": "sap.bookshop.extension", + "definitions": { + "sap.bookshop.extension.Customers": { + "kind": "entity", + "@assert.unique.email": [ + { + "=": "email" + } + ], + "includes": [ + "cuid", + "managed" + ], + "elements": { + "ID": { + "@Core.Computed": true, + "key": true, + "type": "cds.UUID" + }, + "createdAt": { + "@Core.Immutable": true, + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@odata.on.insert": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>CreatedAt}", + "type": "cds.Timestamp" + }, + "createdBy": { + "@Core.Immutable": true, + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$user" + }, + "@description": "{i18n>UserID.Description}", + "@odata.on.insert": { + "#": "user" + }, + "@readonly": true, + "@title": "{i18n>CreatedBy}", + "type": "User", + "length": 255 + }, + "modifiedAt": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@cds.on.update": { + "=": "$now" + }, + "@odata.on.update": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>ChangedAt}", + "type": "cds.Timestamp" + }, + "modifiedBy": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$user" + }, + "@cds.on.update": { + "=": "$user" + }, + "@description": "{i18n>UserID.Description}", + "@odata.on.update": { + "#": "user" + }, + "@readonly": true, + "@title": "{i18n>ChangedBy}", + "type": "User", + "length": 255 + }, + "email": { + "@mandatory": true, + "type": "cds.String" + }, + "firstName": { + "type": "cds.String" + }, + "lastName": { + "type": "cds.String" + }, + "creditCardNo": { + "type": "cds.String" + }, + "dateOfBirth": { + "type": "cds.Date" + }, + "status": { + "@assert.range": true, + "type": "cds.String", + "enum": { + "platinum": {}, + "gold": {}, + "silver": {}, + "bronze": {} + }, + "default": { + "val": "bronze" + } + }, + "creditScore": { + "@assert.range": [ + 1, + 100 + ], + "type": "cds.Decimal", + "default": { + "val": 50 + } + } + } + }, + "sap.bookshop.extension.CustomerPostalAddresses": { + "kind": "entity", + "includes": [ + "cuid", + "managed" + ], + "elements": { + "ID": { + "@Core.Computed": true, + "key": true, + "type": "cds.UUID" + }, + "createdAt": { + "@Core.Immutable": true, + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@odata.on.insert": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>CreatedAt}", + "type": "cds.Timestamp" + }, + "createdBy": { + "@Core.Immutable": true, + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$user" + }, + "@description": "{i18n>UserID.Description}", + "@odata.on.insert": { + "#": "user" + }, + "@readonly": true, + "@title": "{i18n>CreatedBy}", + "type": "User", + "length": 255 + }, + "modifiedAt": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@cds.on.update": { + "=": "$now" + }, + "@odata.on.update": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>ChangedAt}", + "type": "cds.Timestamp" + }, + "modifiedBy": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$user" + }, + "@cds.on.update": { + "=": "$user" + }, + "@description": "{i18n>UserID.Description}", + "@odata.on.update": { + "#": "user" + }, + "@readonly": true, + "@title": "{i18n>ChangedBy}", + "type": "User", + "length": 255 + }, + "Customer": { + "type": "cds.Association", + "cardinality": { + "max": 1 + }, + "target": "sap.bookshop.extension.Customers", + "keys": [ + { + "ref": [ + "ID" + ] + } + ] + }, + "description": { + "type": "cds.String" + }, + "street": { + "type": "cds.String" + }, + "town": { + "type": "cds.String" + }, + "country": { + "@description": "{i18n>CountryCode.Description}", + "@title": "{i18n>Country}", + "type": "Country", + "target": "sap.common.Countries", + "keys": [ + { + "ref": [ + "code" + ] + } + ] + } + } + }, + "sap.bookshop.extension.Remarks": { + "kind": "entity", + "includes": [ + "cuid", + "managed" + ], + "elements": { + "ID": { + "@Core.Computed": true, + "key": true, + "type": "cds.UUID" + }, + "createdAt": { + "@Core.Immutable": true, + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@odata.on.insert": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>CreatedAt}", + "type": "cds.Timestamp" + }, + "createdBy": { + "@Core.Immutable": true, + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$user" + }, + "@description": "{i18n>UserID.Description}", + "@odata.on.insert": { + "#": "user" + }, + "@readonly": true, + "@title": "{i18n>CreatedBy}", + "type": "User", + "length": 255 + }, + "modifiedAt": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@cds.on.update": { + "=": "$now" + }, + "@odata.on.update": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>ChangedAt}", + "type": "cds.Timestamp" + }, + "modifiedBy": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$user" + }, + "@cds.on.update": { + "=": "$user" + }, + "@description": "{i18n>UserID.Description}", + "@odata.on.update": { + "#": "user" + }, + "@readonly": true, + "@title": "{i18n>ChangedBy}", + "type": "User", + "length": 255 + }, + "parent": { + "type": "cds.Association", + "cardinality": { + "max": 1 + }, + "target": "sap.capire.orders.Orders", + "keys": [ + { + "ref": [ + "ID" + ] + } + ] + }, + "number": { + "type": "cds.Integer" + }, + "remarksLine": { + "type": "cds.String" + } + } + }, + "OrdersService.Customers": { + "kind": "entity", + "@UI.Facets": [ + { + "$Type": "UI.ReferenceFacet", + "Label": "Main", + "Target": "@UI.FieldGroup#Main" + } + ], + "@UI.FieldGroup#Main.Data": [ + { + "Value": { + "=": "firstName" + } + }, + { + "Value": { + "=": "lastName" + } + }, + { + "Value": { + "=": "email" + } + }, + { + "Value": { + "=": "status" + } + }, + { + "Value": { + "=": "creditScore" + } + } + ], + "@UI.HeaderInfo.Title.$Type": "UI.DataField", + "@UI.HeaderInfo.Title.Value": { + "=": "email" + }, + "@UI.HeaderInfo.TypeName": "Customer", + "@UI.HeaderInfo.TypeNamePlural": "Customers", + "@UI.LineItem": [ + { + "Value": { + "=": "firstName" + } + }, + { + "Value": { + "=": "lastName" + } + }, + { + "Value": { + "=": "email" + } + }, + { + "Value": { + "=": "status" + } + }, + { + "Value": { + "=": "creditScore" + } + } + ], + "@assert.unique.email": [ + { + "=": "email" + } + ], + "@odata.draft.enabled": true, + "projection": { + "from": { + "ref": [ + "sap.bookshop.extension.Customers" + ] + } + }, + "elements": { + "ID": { + "@Common.Text": { + "=": "email" + }, + "@Core.Computed": true, + "@UI.Hidden": true, + "key": true, + "type": "cds.UUID" + }, + "createdAt": { + "@Core.Immutable": true, + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@odata.on.insert": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>CreatedAt}", + "type": "cds.Timestamp" + }, + "createdBy": { + "@Core.Immutable": true, + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$user" + }, + "@description": "{i18n>UserID.Description}", + "@odata.on.insert": { + "#": "user" + }, + "@readonly": true, + "@title": "{i18n>CreatedBy}", + "type": "User", + "length": 255 + }, + "modifiedAt": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@cds.on.update": { + "=": "$now" + }, + "@odata.on.update": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>ChangedAt}", + "type": "cds.Timestamp" + }, + "modifiedBy": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$user" + }, + "@cds.on.update": { + "=": "$user" + }, + "@description": "{i18n>UserID.Description}", + "@odata.on.update": { + "#": "user" + }, + "@readonly": true, + "@title": "{i18n>ChangedBy}", + "type": "User", + "length": 255 + }, + "email": { + "@mandatory": true, + "@title": "Email", + "type": "cds.String" + }, + "firstName": { + "@title": "First Name", + "type": "cds.String" + }, + "lastName": { + "@title": "Last Name", + "type": "cds.String" + }, + "creditCardNo": { + "@title": "Credit Card No", + "type": "cds.String" + }, + "dateOfBirth": { + "@title": "Date of Birth", + "type": "cds.Date" + }, + "status": { + "@assert.range": true, + "@title": "Status", + "type": "cds.String", + "enum": { + "platinum": {}, + "gold": {}, + "silver": {}, + "bronze": {} + }, + "default": { + "val": "bronze" + } + }, + "creditScore": { + "@assert.range": [ + 1, + 100 + ], + "@title": "Credit Score", + "type": "cds.Decimal", + "default": { + "val": 50 + } + } + } + }, + "OrdersService.CustomerPostalAddresses": { + "kind": "entity", + "@UI.Facets": [ + { + "$Type": "UI.ReferenceFacet", + "Label": "Main", + "Target": "@UI.FieldGroup#Main" + } + ], + "@UI.FieldGroup#Main.Data": [ + { + "Value": { + "=": "Customer_ID" + } + }, + { + "Value": { + "=": "description" + } + }, + { + "Value": { + "=": "street" + } + }, + { + "Value": { + "=": "town" + } + }, + { + "Value": { + "=": "country_code" + } + } + ], + "@UI.HeaderInfo.Title.$Type": "UI.DataField", + "@UI.HeaderInfo.Title.Value": { + "=": "description" + }, + "@UI.HeaderInfo.TypeName": "CustomerPostalAddress", + "@UI.HeaderInfo.TypeNamePlural": "CustomerPostalAddresses", + "@UI.LineItem": [ + { + "Value": { + "=": "Customer_ID" + } + }, + { + "Value": { + "=": "description" + } + }, + { + "Value": { + "=": "street" + } + }, + { + "Value": { + "=": "town" + } + }, + { + "Value": { + "=": "country_code" + } + } + ], + "@odata.draft.enabled": true, + "projection": { + "from": { + "ref": [ + "sap.bookshop.extension.CustomerPostalAddresses" + ] + } + }, + "elements": { + "ID": { + "@Common.Text": { + "=": "description" + }, + "@Core.Computed": true, + "@UI.Hidden": true, + "key": true, + "type": "cds.UUID" + }, + "createdAt": { + "@Core.Immutable": true, + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@odata.on.insert": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>CreatedAt}", + "type": "cds.Timestamp" + }, + "createdBy": { + "@Core.Immutable": true, + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$user" + }, + "@description": "{i18n>UserID.Description}", + "@odata.on.insert": { + "#": "user" + }, + "@readonly": true, + "@title": "{i18n>CreatedBy}", + "type": "User", + "length": 255 + }, + "modifiedAt": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@cds.on.update": { + "=": "$now" + }, + "@odata.on.update": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>ChangedAt}", + "type": "cds.Timestamp" + }, + "modifiedBy": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$user" + }, + "@cds.on.update": { + "=": "$user" + }, + "@description": "{i18n>UserID.Description}", + "@odata.on.update": { + "#": "user" + }, + "@readonly": true, + "@title": "{i18n>ChangedBy}", + "type": "User", + "length": 255 + }, + "Customer": { + "type": "cds.Association", + "cardinality": { + "max": 1 + }, + "target": "OrdersService.Customers", + "keys": [ + { + "ref": [ + "ID" + ] + } + ] + }, + "description": { + "@title": "Description", + "type": "cds.String" + }, + "street": { + "@title": "Street", + "type": "cds.String" + }, + "town": { + "@title": "Town", + "type": "cds.String" + }, + "country": { + "@description": "{i18n>CountryCode.Description}", + "@title": "Country", + "type": "Country", + "target": "OrdersService.Countries", + "keys": [ + { + "ref": [ + "code" + ] + } + ] + } + } + }, + "sap.common_countries": { + "kind": "context" + }, + "sap.common_countries.Regions": { + "kind": "entity", + "@UI.Identification": [ + { + "Value": { + "=": "name" + } + } + ], + "@cds.autoexpose": true, + "@cds.odata.valuelist": true, + "@cds.persistence.skip": "if-unused", + "includes": [ + "sap.common.CodeList" + ], + "elements": { + "name": { + "@title": "{i18n>Name}", + "localized": true, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": true, + "type": "cds.String", + "length": 1000 + }, + "code": { + "key": true, + "type": "cds.String", + "length": 5 + }, + "children": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "sap.common_countries.Regions", + "on": [ + { + "ref": [ + "children", + "_parent" + ] + }, + "=", + { + "ref": [ + "$self", + "code" + ] + } + ] + }, + "cities": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "sap.common_countries.Cities", + "on": [ + { + "ref": [ + "cities", + "region" + ] + }, + "=", + { + "ref": [ + "$self" + ] + } + ] + }, + "_parent": { + "type": "cds.String", + "length": 11 + }, + "texts": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "sap.common_countries.Regions.texts", + "on": [ + { + "ref": [ + "texts", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + } + ] + }, + "localized": { + "type": "cds.Association", + "target": "sap.common_countries.Regions.texts", + "on": [ + { + "ref": [ + "localized", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + }, + "and", + { + "ref": [ + "localized", + "locale" + ] + }, + "=", + { + "ref": [ + "$user", + "locale" + ] + } + ] + } + } + }, + "sap.common_countries.Cities": { + "kind": "entity", + "@UI.Identification": [ + { + "Value": { + "=": "name" + } + } + ], + "@cds.autoexpose": true, + "@cds.odata.valuelist": true, + "@cds.persistence.skip": "if-unused", + "includes": [ + "sap.common.CodeList" + ], + "elements": { + "name": { + "@title": "{i18n>Name}", + "localized": true, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": true, + "type": "cds.String", + "length": 1000 + }, + "code": { + "key": true, + "type": "cds.String", + "length": 11 + }, + "region": { + "type": "cds.Association", + "target": "sap.common_countries.Regions", + "keys": [ + { + "ref": [ + "code" + ] + } + ] + }, + "districts": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "sap.common_countries.Districts", + "on": [ + { + "ref": [ + "districts", + "city" + ] + }, + "=", + { + "ref": [ + "$self" + ] + } + ] + }, + "texts": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "sap.common_countries.Cities.texts", + "on": [ + { + "ref": [ + "texts", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + } + ] + }, + "localized": { + "type": "cds.Association", + "target": "sap.common_countries.Cities.texts", + "on": [ + { + "ref": [ + "localized", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + }, + "and", + { + "ref": [ + "localized", + "locale" + ] + }, + "=", + { + "ref": [ + "$user", + "locale" + ] + } + ] + } + } + }, + "sap.common_countries.Districts": { + "kind": "entity", + "@UI.Identification": [ + { + "Value": { + "=": "name" + } + } + ], + "@cds.autoexpose": true, + "@cds.odata.valuelist": true, + "@cds.persistence.skip": "if-unused", + "includes": [ + "sap.common.CodeList" + ], + "elements": { + "name": { + "@title": "{i18n>Name}", + "localized": true, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": true, + "type": "cds.String", + "length": 1000 + }, + "code": { + "key": true, + "type": "cds.String", + "length": 11 + }, + "city": { + "type": "cds.Association", + "target": "sap.common_countries.Cities", + "keys": [ + { + "ref": [ + "code" + ] + } + ] + }, + "texts": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "sap.common_countries.Districts.texts", + "on": [ + { + "ref": [ + "texts", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + } + ] + }, + "localized": { + "type": "cds.Association", + "target": "sap.common_countries.Districts.texts", + "on": [ + { + "ref": [ + "localized", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + }, + "and", + { + "ref": [ + "localized", + "locale" + ] + }, + "=", + { + "ref": [ + "$user", + "locale" + ] + } + ] + } + } + }, + "Language": { + "kind": "type", + "@description": "{i18n>LanguageCode.Description}", + "@title": "{i18n>Language}", + "type": "cds.Association", + "target": "sap.common.Languages", + "keys": [ + { + "ref": [ + "code" + ] + } + ] + }, + "Currency": { + "kind": "type", + "@description": "{i18n>CurrencyCode.Description}", + "@title": "{i18n>Currency}", + "type": "cds.Association", + "target": "sap.common.Currencies", + "keys": [ + { + "ref": [ + "code" + ] + } + ] + }, + "Country": { + "kind": "type", + "@description": "{i18n>CountryCode.Description}", + "@title": "{i18n>Country}", + "type": "cds.Association", + "target": "sap.common.Countries", + "keys": [ + { + "ref": [ + "code" + ] + } + ] + }, + "sap.common": { + "kind": "context" + }, + "sap.common.Languages": { + "kind": "entity", + "@Common.SemanticKey": [ + { + "=": "code" + } + ], + "@Identification": [ + { + "Value": { + "=": "code" + } + } + ], + "@UI.Facets": [ + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>Details}", + "Target": "@UI.FieldGroup#Details" + } + ], + "@UI.FieldGroup#Details.Data": [ + { + "Value": { + "=": "code" + } + }, + { + "Value": { + "=": "name" + } + }, + { + "Value": { + "=": "descr" + } + } + ], + "@UI.HeaderInfo.Description.Value": { + "=": "descr" + }, + "@UI.HeaderInfo.Title.Value": { + "=": "name" + }, + "@UI.HeaderInfo.TypeName": "{i18n>Language}", + "@UI.HeaderInfo.TypeNamePlural": "{i18n>Languages}", + "@UI.Identification": [ + { + "Value": { + "=": "name" + } + } + ], + "@UI.LineItem": [ + { + "Value": { + "=": "code" + } + }, + { + "Value": { + "=": "name" + } + } + ], + "@UI.SelectionFields": [ + { + "=": "name" + }, + { + "=": "descr" + } + ], + "@cds.autoexpose": true, + "@cds.odata.valuelist": true, + "@cds.persistence.skip": "if-unused", + "includes": [ + "sap.common.CodeList" + ], + "elements": { + "name": { + "@title": "{i18n>Name}", + "localized": true, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": true, + "type": "cds.String", + "length": 1000 + }, + "code": { + "@Common.Text": { + "=": "name" + }, + "@title": "{i18n>LanguageCode}", + "key": true, + "type": "cds.String", + "length": 14 + }, + "texts": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "sap.common.Languages.texts", + "on": [ + { + "ref": [ + "texts", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + } + ] + }, + "localized": { + "type": "cds.Association", + "target": "sap.common.Languages.texts", + "on": [ + { + "ref": [ + "localized", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + }, + "and", + { + "ref": [ + "localized", + "locale" + ] + }, + "=", + { + "ref": [ + "$user", + "locale" + ] + } + ] + } + } + }, + "sap.common.Countries": { + "kind": "entity", + "@UI.Identification": [ + { + "Value": { + "=": "name" + } + } + ], + "@cds.autoexpose": true, + "@cds.odata.valuelist": true, + "@cds.persistence.skip": "if-unused", + "includes": [ + "sap.common.CodeList" + ], + "elements": { + "name": { + "@title": "{i18n>Name}", + "localized": true, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": true, + "type": "cds.String", + "length": 1000 + }, + "code": { + "@Common.Text": { + "=": "name" + }, + "@title": "{i18n>CountryCode}", + "key": true, + "type": "cds.String", + "length": 3 + }, + "regions": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "sap.common_countries.Regions", + "on": [ + { + "ref": [ + "regions", + "_parent" + ] + }, + "=", + { + "ref": [ + "$self", + "code" + ] + } + ] + }, + "texts": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "sap.common.Countries.texts", + "on": [ + { + "ref": [ + "texts", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + } + ] + }, + "localized": { + "type": "cds.Association", + "target": "sap.common.Countries.texts", + "on": [ + { + "ref": [ + "localized", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + }, + "and", + { + "ref": [ + "localized", + "locale" + ] + }, + "=", + { + "ref": [ + "$user", + "locale" + ] + } + ] + } + } + }, + "sap.common.Currencies": { + "kind": "entity", + "@Common.SemanticKey": [ + { + "=": "code" + } + ], + "@Identification": [ + { + "Value": { + "=": "code" + } + } + ], + "@UI.Facets": [ + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>Details}", + "Target": "@UI.FieldGroup#Details" + }, + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>Extended}", + "Target": "@UI.FieldGroup#Extended" + } + ], + "@UI.FieldGroup#Details.Data": [ + { + "Value": { + "=": "name" + } + }, + { + "Value": { + "=": "symbol" + } + }, + { + "Value": { + "=": "code" + } + }, + { + "Value": { + "=": "descr" + } + } + ], + "@UI.FieldGroup#Extended.Data": [ + { + "Value": { + "=": "numcode" + } + }, + { + "Value": { + "=": "minor" + } + }, + { + "Value": { + "=": "exponent" + } + } + ], + "@UI.HeaderInfo.Description.Value": { + "=": "code" + }, + "@UI.HeaderInfo.Title.Value": { + "=": "descr" + }, + "@UI.HeaderInfo.TypeName": "{i18n>Currency}", + "@UI.HeaderInfo.TypeNamePlural": "{i18n>Currencies}", + "@UI.Identification": [ + { + "Value": { + "=": "name" + } + } + ], + "@UI.LineItem": [ + { + "Value": { + "=": "descr" + } + }, + { + "Value": { + "=": "symbol" + } + }, + { + "Value": { + "=": "code" + } + } + ], + "@UI.SelectionFields": [ + { + "=": "name" + }, + { + "=": "descr" + } + ], + "@cds.autoexpose": true, + "@cds.odata.valuelist": true, + "@cds.persistence.skip": "if-unused", + "includes": [ + "sap.common.CodeList" + ], + "elements": { + "name": { + "@title": "{i18n>Name}", + "localized": true, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": true, + "type": "cds.String", + "length": 1000 + }, + "code": { + "@Common.Text": { + "=": "name" + }, + "@title": "{i18n>CurrencyCode}", + "key": true, + "type": "cds.String", + "length": 3 + }, + "symbol": { + "@title": "{i18n>CurrencySymbol}", + "type": "cds.String", + "length": 5 + }, + "numcode": { + "@title": "{i18n>NumCode}", + "type": "cds.Integer" + }, + "exponent": { + "@title": "{i18n>Exponent}", + "type": "cds.Integer" + }, + "minor": { + "@title": "{i18n>MinorUnit}", + "type": "cds.String" + }, + "texts": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "sap.common.Currencies.texts", + "on": [ + { + "ref": [ + "texts", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + } + ] + }, + "localized": { + "type": "cds.Association", + "target": "sap.common.Currencies.texts", + "on": [ + { + "ref": [ + "localized", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + }, + "and", + { + "ref": [ + "localized", + "locale" + ] + }, + "=", + { + "ref": [ + "$user", + "locale" + ] + } + ] + } + } + }, + "sap.common.CodeList": { + "kind": "aspect", + "@UI.Identification": [ + { + "Value": { + "=": "name" + } + } + ], + "@cds.autoexpose": true, + "@cds.odata.valuelist": true, + "@cds.persistence.skip": "if-unused", + "elements": { + "name": { + "@title": "{i18n>Name}", + "localized": true, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": true, + "type": "cds.String", + "length": 1000 + } + } + }, + "cuid": { + "kind": "aspect", + "elements": { + "ID": { + "@Core.Computed": true, + "key": true, + "type": "cds.UUID" + } + } + }, + "managed": { + "kind": "aspect", + "elements": { + "createdAt": { + "@Core.Immutable": true, + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@odata.on.insert": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>CreatedAt}", + "type": "cds.Timestamp" + }, + "createdBy": { + "@Core.Immutable": true, + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$user" + }, + "@description": "{i18n>UserID.Description}", + "@odata.on.insert": { + "#": "user" + }, + "@readonly": true, + "@title": "{i18n>CreatedBy}", + "type": "User", + "length": 255 + }, + "modifiedAt": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@cds.on.update": { + "=": "$now" + }, + "@odata.on.update": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>ChangedAt}", + "type": "cds.Timestamp" + }, + "modifiedBy": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$user" + }, + "@cds.on.update": { + "=": "$user" + }, + "@description": "{i18n>UserID.Description}", + "@odata.on.update": { + "#": "user" + }, + "@readonly": true, + "@title": "{i18n>ChangedBy}", + "type": "User", + "length": 255 + } + } + }, + "temporal": { + "kind": "aspect", + "elements": { + "validFrom": { + "@cds.valid.from": true, + "type": "cds.Timestamp" + }, + "validTo": { + "@cds.valid.to": true, + "type": "cds.Timestamp" + } + } + }, + "User": { + "kind": "type", + "@description": "{i18n>UserID.Description}", + "@title": "{i18n>UserID}", + "type": "cds.String", + "length": 255 + }, + "AdminService": { + "@source": "node_modules/_base/srv/admin-service.cds", + "kind": "service" + }, + "AdminService.Books": { + "kind": "entity", + "@Common.SemanticKey": [ + { + "=": "title" + } + ], + "@UI.Facets": [ + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>General}", + "Target": "@UI.FieldGroup#General" + }, + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>Translations}", + "Target": "texts/@UI.LineItem" + }, + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>Details}", + "Target": "@UI.FieldGroup#Details" + }, + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>Admin}", + "Target": "@UI.FieldGroup#Admin" + } + ], + "@UI.FieldGroup#Admin.Data": [ + { + "Value": { + "=": "createdBy" + } + }, + { + "Value": { + "=": "createdAt" + } + }, + { + "Value": { + "=": "modifiedBy" + } + }, + { + "Value": { + "=": "modifiedAt" + } + } + ], + "@UI.FieldGroup#Details.Data": [ + { + "Value": { + "=": "stock" + } + }, + { + "Value": { + "=": "price" + } + }, + { + "Value": { + "=": "currency_code" + }, + "Label": "{i18n>Currency}" + } + ], + "@UI.FieldGroup#General.Data": [ + { + "Value": { + "=": "title" + } + }, + { + "Value": { + "=": "author_ID" + } + }, + { + "Value": { + "=": "genre_ID" + } + }, + { + "Value": { + "=": "descr" + } + } + ], + "@UI.HeaderInfo.Description.Value": { + "=": "author.name" + }, + "@UI.HeaderInfo.Title.Value": { + "=": "title" + }, + "@UI.HeaderInfo.TypeName": "{i18n>Book}", + "@UI.HeaderInfo.TypeNamePlural": "{i18n>Books}", + "@UI.Identification": [ + { + "Value": { + "=": "title" + } + } + ], + "@UI.LineItem": [ + { + "Value": { + "=": "ID" + } + }, + { + "Value": { + "=": "title" + } + }, + { + "Value": { + "=": "author.name" + }, + "Label": "{i18n>Author}" + }, + { + "Value": { + "=": "genre.name" + } + }, + { + "Value": { + "=": "stock" + } + }, + { + "Value": { + "=": "price" + } + }, + { + "Value": { + "=": "currency.symbol" + }, + "Label": " " + } + ], + "@UI.SelectionFields": [ + { + "=": "ID" + }, + { + "=": "author_ID" + }, + { + "=": "price" + }, + { + "=": "currency_code" + } + ], + "@fiori.draft.enabled": true, + "@odata.draft.enabled": true, + "projection": { + "from": { + "ref": [ + "sap.capire.bookshop.Books" + ] + } + }, + "elements": { + "createdAt": { + "@Core.Immutable": true, + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@odata.on.insert": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>CreatedAt}", + "type": "cds.Timestamp" + }, + "createdBy": { + "@Core.Immutable": true, + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$user" + }, + "@description": "{i18n>UserID.Description}", + "@odata.on.insert": { + "#": "user" + }, + "@readonly": true, + "@title": "{i18n>CreatedBy}", + "type": "User", + "length": 255 + }, + "modifiedAt": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@cds.on.update": { + "=": "$now" + }, + "@odata.on.update": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>ChangedAt}", + "type": "cds.Timestamp" + }, + "modifiedBy": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$user" + }, + "@cds.on.update": { + "=": "$user" + }, + "@description": "{i18n>UserID.Description}", + "@odata.on.update": { + "#": "user" + }, + "@readonly": true, + "@title": "{i18n>ChangedBy}", + "type": "User", + "length": 255 + }, + "ID": { + "@UI.HiddenFilter": true, + "@title": "{i18n>ID}", + "key": true, + "type": "cds.Integer" + }, + "title": { + "@title": "{i18n>Title}", + "localized": true, + "type": "cds.String", + "length": 111 + }, + "descr": { + "@UI.MultiLineText": true, + "localized": true, + "type": "cds.String", + "length": 1111 + }, + "author": { + "@Common.Text": { + "=": "author.name" + }, + "@Common.TextArrangement": { + "#": "TextOnly" + }, + "@ValueList.entity": "Authors", + "@title": "{i18n>Author}", + "type": "cds.Association", + "target": "AdminService.Authors", + "keys": [ + { + "ref": [ + "ID" + ] + } + ] + }, + "genre": { + "@Common.Text": { + "=": "genre.name" + }, + "@Common.TextArrangement": { + "#": "TextOnly" + }, + "@title": "{i18n>Genre}", + "type": "cds.Association", + "target": "AdminService.Genres", + "keys": [ + { + "ref": [ + "ID" + ] + } + ] + }, + "stock": { + "@title": "{i18n>Stock}", + "type": "cds.Integer" + }, + "price": { + "@title": "{i18n>Price}", + "type": "cds.Decimal" + }, + "currency": { + "@description": "{i18n>CurrencyCode.Description}", + "@title": "{i18n>Currency}", + "type": "Currency", + "target": "AdminService.Currencies", + "keys": [ + { + "ref": [ + "code" + ] + } + ] + }, + "image": { + "@Core.MediaType": "image/png", + "type": "cds.LargeBinary" + }, + "texts": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "AdminService.Books.texts", + "on": [ + { + "ref": [ + "texts", + "ID" + ] + }, + "=", + { + "ref": [ + "ID" + ] + } + ] + }, + "localized": { + "type": "cds.Association", + "target": "AdminService.Books.texts", + "on": [ + { + "ref": [ + "localized", + "ID" + ] + }, + "=", + { + "ref": [ + "ID" + ] + }, + "and", + { + "ref": [ + "localized", + "locale" + ] + }, + "=", + { + "ref": [ + "$user", + "locale" + ] + } + ] + } + } + }, + "AdminService.Authors": { + "kind": "entity", + "@Common.SemanticKey": [ + { + "=": "name" + } + ], + "@UI.Facets": [ + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>Details}", + "Target": "@UI.FieldGroup#Details" + }, + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>Books}", + "Target": "books/@UI.LineItem" + } + ], + "@UI.FieldGroup#Details.Data": [ + { + "Value": { + "=": "placeOfBirth" + } + }, + { + "Value": { + "=": "placeOfDeath" + } + }, + { + "Value": { + "=": "dateOfBirth" + } + }, + { + "Value": { + "=": "dateOfDeath" + } + }, + { + "Value": { + "=": "age" + }, + "Label": "{i18n>Age}" + } + ], + "@UI.HeaderInfo.Description.Value": { + "=": "lifetime" + }, + "@UI.HeaderInfo.Title.Value": { + "=": "name" + }, + "@UI.HeaderInfo.TypeName": "{i18n>Author}", + "@UI.HeaderInfo.TypeNamePlural": "{i18n>Authors}", + "@UI.Identification": [ + { + "Value": { + "=": "name" + } + } + ], + "@UI.LineItem": [ + { + "Value": { + "=": "ID" + } + }, + { + "Value": { + "=": "name" + } + }, + { + "Value": { + "=": "dateOfBirth" + } + }, + { + "Value": { + "=": "dateOfDeath" + } + }, + { + "Value": { + "=": "placeOfBirth" + } + }, + { + "Value": { + "=": "placeOfDeath" + } + } + ], + "@UI.SelectionFields": [ + { + "=": "name" + } + ], + "projection": { + "from": { + "ref": [ + "sap.capire.bookshop.Authors" + ] + } + }, + "elements": { + "createdAt": { + "@Core.Immutable": true, + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@odata.on.insert": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>CreatedAt}", + "type": "cds.Timestamp" + }, + "createdBy": { + "@Core.Immutable": true, + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$user" + }, + "@description": "{i18n>UserID.Description}", + "@odata.on.insert": { + "#": "user" + }, + "@readonly": true, + "@title": "{i18n>CreatedBy}", + "type": "User", + "length": 255 + }, + "modifiedAt": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@cds.on.update": { + "=": "$now" + }, + "@odata.on.update": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>ChangedAt}", + "type": "cds.Timestamp" + }, + "modifiedBy": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$user" + }, + "@cds.on.update": { + "=": "$user" + }, + "@description": "{i18n>UserID.Description}", + "@odata.on.update": { + "#": "user" + }, + "@readonly": true, + "@title": "{i18n>ChangedBy}", + "type": "User", + "length": 255 + }, + "ID": { + "@UI.HiddenFilter": true, + "@title": "{i18n>ID}", + "key": true, + "type": "cds.Integer" + }, + "name": { + "@title": "{i18n>Name}", + "type": "cds.String", + "length": 111 + }, + "dateOfBirth": { + "@title": "{i18n>DateOfBirth}", + "type": "cds.Date" + }, + "dateOfDeath": { + "@title": "{i18n>DateOfDeath}", + "type": "cds.Date" + }, + "placeOfBirth": { + "@title": "{i18n>PlaceOfBirth}", + "type": "cds.String" + }, + "placeOfDeath": { + "@title": "{i18n>PlaceOfDeath}", + "type": "cds.String" + }, + "books": { + "type": "cds.Association", + "cardinality": { + "max": "*" + }, + "target": "AdminService.Books", + "on": [ + { + "ref": [ + "books", + "author" + ] + }, + "=", + { + "ref": [ + "$self" + ] + } + ] + } + } + }, + "CatalogService": { + "@source": "node_modules/_base/srv/cat-service.cds", + "kind": "service", + "@path": "/browse" + }, + "CatalogService.ListOfBooks": { + "kind": "entity", + "@Common.SemanticKey": [ + { + "=": "title" + } + ], + "@UI.Facets": [ + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>Details}", + "Target": "@UI.FieldGroup#Price" + } + ], + "@UI.FieldGroup#Descr.Data": [ + { + "Value": { + "=": "descr" + } + } + ], + "@UI.FieldGroup#Price.Data": [ + { + "Value": { + "=": "price" + } + }, + { + "Value": { + "=": "currency.symbol" + }, + "Label": "{i18n>Currency}" + } + ], + "@UI.HeaderFacets": [ + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>Description}", + "Target": "@UI.FieldGroup#Descr" + } + ], + "@UI.HeaderInfo.Description.Value": { + "=": "author" + }, + "@UI.HeaderInfo.Title.Value": { + "=": "title" + }, + "@UI.HeaderInfo.TypeName": "Book", + "@UI.HeaderInfo.TypeNamePlural": "Books", + "@UI.Identification": [ + { + "Value": { + "=": "title" + } + } + ], + "@UI.LineItem": [ + { + "Value": { + "=": "title" + } + }, + { + "Value": { + "=": "author" + }, + "Label": "{i18n>Author}" + }, + { + "Value": { + "=": "genre.name" + } + }, + { + "Value": { + "=": "price" + } + }, + { + "Value": { + "=": "currency.symbol" + }, + "Label": " " + } + ], + "@UI.SelectionFields": [ + { + "=": "ID" + }, + { + "=": "price" + }, + { + "=": "currency_code" + } + ], + "@fiori.draft.enabled": true, + "@readonly": true, + "projection": { + "from": { + "ref": [ + "CatalogService.Books" + ] + }, + "excluding": [ + "descr" + ] + }, + "elements": { + "createdAt": { + "@Core.Immutable": true, + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@odata.on.insert": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>CreatedAt}", + "type": "cds.Timestamp" + }, + "modifiedAt": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@cds.on.update": { + "=": "$now" + }, + "@odata.on.update": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>ChangedAt}", + "type": "cds.Timestamp" + }, + "ID": { + "@UI.HiddenFilter": true, + "@title": "{i18n>ID}", + "key": true, + "type": "cds.Integer" + }, + "title": { + "@title": "{i18n>Title}", + "localized": true, + "type": "cds.String", + "length": 111 + }, + "author": { + "@title": "{i18n>Name}", + "type": "cds.String", + "length": 111 + }, + "genre": { + "@Common.Text": { + "=": "genre.name" + }, + "@Common.TextArrangement": { + "#": "TextOnly" + }, + "@title": "{i18n>Genre}", + "type": "cds.Association", + "target": "CatalogService.Genres", + "keys": [ + { + "ref": [ + "ID" + ] + } + ] + }, + "stock": { + "@title": "{i18n>Stock}", + "type": "cds.Integer" + }, + "price": { + "@title": "{i18n>Price}", + "type": "cds.Decimal" + }, + "currency": { + "@description": "{i18n>CurrencyCode.Description}", + "@title": "{i18n>Currency}", + "type": "Currency", + "target": "CatalogService.Currencies", + "keys": [ + { + "ref": [ + "code" + ] + } + ] + }, + "image": { + "@Core.MediaType": "image/png", + "type": "cds.LargeBinary" + }, + "texts": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "CatalogService.Books.texts", + "on": [ + { + "ref": [ + "texts", + "ID" + ] + }, + "=", + { + "ref": [ + "ID" + ] + } + ] + }, + "localized": { + "type": "cds.Association", + "target": "CatalogService.Books.texts", + "on": [ + { + "ref": [ + "localized", + "ID" + ] + }, + "=", + { + "ref": [ + "ID" + ] + }, + "and", + { + "ref": [ + "localized", + "locale" + ] + }, + "=", + { + "ref": [ + "$user", + "locale" + ] + } + ] + } + } + }, + "CatalogService.Books": { + "kind": "entity", + "@Common.SemanticKey": [ + { + "=": "title" + } + ], + "@UI.Facets": [ + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>Details}", + "Target": "@UI.FieldGroup#Price" + } + ], + "@UI.FieldGroup#Descr.Data": [ + { + "Value": { + "=": "descr" + } + } + ], + "@UI.FieldGroup#Price.Data": [ + { + "Value": { + "=": "price" + } + }, + { + "Value": { + "=": "currency.symbol" + }, + "Label": "{i18n>Currency}" + } + ], + "@UI.HeaderFacets": [ + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>Description}", + "Target": "@UI.FieldGroup#Descr" + } + ], + "@UI.HeaderInfo.Description.Value": { + "=": "author" + }, + "@UI.HeaderInfo.Title.Value": { + "=": "title" + }, + "@UI.HeaderInfo.TypeName": "Book", + "@UI.HeaderInfo.TypeNamePlural": "Books", + "@UI.Identification": [ + { + "Value": { + "=": "title" + } + } + ], + "@UI.LineItem": [ + { + "Value": { + "=": "title" + } + }, + { + "Value": { + "=": "author" + }, + "Label": "{i18n>Author}" + }, + { + "Value": { + "=": "genre.name" + } + }, + { + "Value": { + "=": "price" + } + }, + { + "Value": { + "=": "currency.symbol" + }, + "Label": " " + } + ], + "@UI.SelectionFields": [ + { + "=": "ID" + }, + { + "=": "price" + }, + { + "=": "currency_code" + } + ], + "@fiori.draft.enabled": true, + "@readonly": true, + "projection": { + "from": { + "ref": [ + "sap.capire.bookshop.Books" + ] + }, + "columns": [ + "*", + { + "ref": [ + "author", + "name" + ], + "as": "author" + } + ], + "excluding": [ + "createdBy", + "modifiedBy" + ] + }, + "elements": { + "createdAt": { + "@Core.Immutable": true, + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@odata.on.insert": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>CreatedAt}", + "type": "cds.Timestamp" + }, + "modifiedAt": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@cds.on.update": { + "=": "$now" + }, + "@odata.on.update": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>ChangedAt}", + "type": "cds.Timestamp" + }, + "ID": { + "@UI.HiddenFilter": true, + "@title": "{i18n>ID}", + "key": true, + "type": "cds.Integer" + }, + "title": { + "@title": "{i18n>Title}", + "localized": true, + "type": "cds.String", + "length": 111 + }, + "descr": { + "@UI.MultiLineText": true, + "localized": true, + "type": "cds.String", + "length": 1111 + }, + "author": { + "@title": "{i18n>Name}", + "type": "cds.String", + "length": 111 + }, + "genre": { + "@Common.Text": { + "=": "genre.name" + }, + "@Common.TextArrangement": { + "#": "TextOnly" + }, + "@title": "{i18n>Genre}", + "type": "cds.Association", + "target": "CatalogService.Genres", + "keys": [ + { + "ref": [ + "ID" + ] + } + ] + }, + "stock": { + "@title": "{i18n>Stock}", + "type": "cds.Integer" + }, + "price": { + "@title": "{i18n>Price}", + "type": "cds.Decimal" + }, + "currency": { + "@description": "{i18n>CurrencyCode.Description}", + "@title": "{i18n>Currency}", + "type": "Currency", + "target": "CatalogService.Currencies", + "keys": [ + { + "ref": [ + "code" + ] + } + ] + }, + "image": { + "@Core.MediaType": "image/png", + "type": "cds.LargeBinary" + }, + "texts": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "CatalogService.Books.texts", + "on": [ + { + "ref": [ + "texts", + "ID" + ] + }, + "=", + { + "ref": [ + "ID" + ] + } + ] + }, + "localized": { + "type": "cds.Association", + "target": "CatalogService.Books.texts", + "on": [ + { + "ref": [ + "localized", + "ID" + ] + }, + "=", + { + "ref": [ + "ID" + ] + }, + "and", + { + "ref": [ + "localized", + "locale" + ] + }, + "=", + { + "ref": [ + "$user", + "locale" + ] + } + ] + } + } + }, + "CatalogService.submitOrder": { + "kind": "action", + "params": { + "book": { + "@UI.HiddenFilter": true, + "@title": "{i18n>ID}", + "type": { + "ref": [ + "CatalogService.Books", + "ID" + ] + } + }, + "amount": { + "type": "cds.Integer" + } + }, + "returns": { + "elements": { + "stock": { + "type": "cds.Integer" + } + } + } + }, + "CatalogService.OrderedBook": { + "kind": "event", + "elements": { + "book": { + "@UI.HiddenFilter": true, + "@title": "{i18n>ID}", + "type": { + "ref": [ + "CatalogService.Books", + "ID" + ] + } + }, + "amount": { + "type": "cds.Integer" + }, + "buyer": { + "type": "cds.String" + } + } + }, + "OrdersService": { + "@source": "node_modules/_base/srv/orders-service.cds", + "kind": "service" + }, + "OrdersService.Orders": { + "kind": "entity", + "@UI.Facets": [ + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>Details}", + "Target": "@UI.FieldGroup#Details" + }, + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>OrderItems}", + "Target": "Items/@UI.LineItem" + }, + { + "$Type": "UI.ReferenceFacet", + "Label": "Remarks", + "Target": "Remarks/@UI.LineItem" + } + ], + "@UI.FieldGroup#Created.Data": [ + { + "Value": { + "=": "createdBy" + } + }, + { + "Value": { + "=": "createdAt" + } + } + ], + "@UI.FieldGroup#Details.Data": [ + { + "Value": { + "=": "currency_code" + }, + "Label": "Currency" + }, + { + "Value": { + "=": "Customer_ID" + }, + "Label": "Customer" + } + ], + "@UI.FieldGroup#Modified.Data": [ + { + "Value": { + "=": "modifiedBy" + } + }, + { + "Value": { + "=": "modifiedAt" + } + } + ], + "@UI.HeaderFacets": [ + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>Created}", + "Target": "@UI.FieldGroup#Created" + }, + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>Modified}", + "Target": "@UI.FieldGroup#Modified" + } + ], + "@UI.HeaderInfo.Description.Value": { + "=": "createdBy" + }, + "@UI.HeaderInfo.Title.Label": "Order number ", + "@UI.HeaderInfo.Title.Value": { + "=": "OrderNo" + }, + "@UI.HeaderInfo.TypeName": "Order", + "@UI.HeaderInfo.TypeNamePlural": "Orders", + "@UI.Identification": [ + { + "Value": { + "=": "createdBy" + }, + "Label": "Customer" + }, + { + "Value": { + "=": "createdAt" + }, + "Label": "Date" + }, + { + "Value": { + "=": "OrderNo" + } + } + ], + "@UI.LineItem": [ + { + "Value": { + "=": "OrderNo" + }, + "Label": "OrderNo" + }, + { + "Value": { + "=": "Customer_ID" + }, + "Label": "Customer" + }, + { + "Value": { + "=": "priority" + }, + "Label": "Priority" + }, + { + "Value": { + "=": "createdAt" + }, + "Label": "Date" + } + ], + "@UI.SelectionFields": [ + { + "=": "createdAt" + }, + { + "=": "createdBy" + } + ], + "@odata.draft.enabled": true, + "projection": { + "from": { + "ref": [ + "sap.capire.orders.Orders" + ] + } + }, + "elements": { + "ID": { + "@Core.Computed": true, + "key": true, + "type": "cds.UUID" + }, + "createdAt": { + "@Core.Immutable": true, + "@UI.HiddenFilter": false, + "@cds.on.insert": { + "=": "$now" + }, + "@odata.on.insert": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>CreatedAt}", + "type": "cds.Timestamp" + }, + "createdBy": { + "@Core.Immutable": true, + "@UI.HiddenFilter": false, + "@cds.on.insert": { + "=": "$user" + }, + "@description": "{i18n>UserID.Description}", + "@odata.on.insert": { + "#": "user" + }, + "@readonly": true, + "@title": "{i18n>CreatedBy}", + "type": "User", + "length": 255 + }, + "modifiedAt": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@cds.on.update": { + "=": "$now" + }, + "@odata.on.update": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>ChangedAt}", + "type": "cds.Timestamp" + }, + "modifiedBy": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$user" + }, + "@cds.on.update": { + "=": "$user" + }, + "@description": "{i18n>UserID.Description}", + "@odata.on.update": { + "#": "user" + }, + "@readonly": true, + "@title": "{i18n>ChangedBy}", + "type": "User", + "length": 255 + }, + "OrderNo": { + "@title": "Order Number", + "type": "cds.String" + }, + "Items": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "OrdersService.Orders_Items", + "on": [ + { + "ref": [ + "Items", + "up_" + ] + }, + "=", + { + "ref": [ + "$self" + ] + } + ] + }, + "buyer": { + "@description": "{i18n>UserID.Description}", + "@title": "{i18n>UserID}", + "type": "User", + "length": 255 + }, + "currency": { + "@description": "{i18n>CurrencyCode.Description}", + "@title": "{i18n>Currency}", + "type": "Currency", + "target": "OrdersService.Currencies", + "keys": [ + { + "ref": [ + "code" + ] + } + ] + }, + "Customer": { + "@Common.Text": { + "=": "Customer.email" + }, + "@Common.TextArrangement": { + "#": "TextOnly" + }, + "@Common.ValueList.CollectionPath": "Customers", + "@Common.ValueList.Label": "Customers", + "@Common.ValueList.Parameters": [ + { + "$Type": "Common.ValueListParameterInOut", + "LocalDataProperty": { + "=": "Customer_ID" + }, + "ValueListProperty": "ID" + }, + { + "$Type": "Common.ValueListParameterDisplayOnly", + "ValueListProperty": "email" + } + ], + "@UI.MultiLineText": { + "=": "IsActiveEntity" + }, + "type": "cds.Association", + "cardinality": { + "max": 1 + }, + "target": "OrdersService.Customers", + "keys": [ + { + "ref": [ + "ID" + ] + } + ] + }, + "Remarks": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "OrdersService.Remarks", + "keys": [ + { + "ref": [ + "ID" + ] + } + ] + }, + "priority": { + "@assert.range": true, + "type": "cds.String", + "enum": { + "high": {}, + "medium": {}, + "low": {} + }, + "default": { + "val": "medium" + } + } + } + }, + "sap.capire.bookshop.Books": { + "kind": "entity", + "@Common.SemanticKey": [ + { + "=": "title" + } + ], + "@UI.HeaderInfo.Description.Value": { + "=": "author.name" + }, + "@UI.HeaderInfo.Title.Value": { + "=": "title" + }, + "@UI.HeaderInfo.TypeName": "{i18n>Book}", + "@UI.HeaderInfo.TypeNamePlural": "{i18n>Books}", + "@UI.Identification": [ + { + "Value": { + "=": "title" + } + } + ], + "@UI.LineItem": [ + { + "Value": { + "=": "ID" + } + }, + { + "Value": { + "=": "title" + } + }, + { + "Value": { + "=": "author.name" + }, + "Label": "{i18n>Author}" + }, + { + "Value": { + "=": "genre.name" + } + }, + { + "Value": { + "=": "stock" + } + }, + { + "Value": { + "=": "price" + } + }, + { + "Value": { + "=": "currency.symbol" + }, + "Label": " " + } + ], + "@UI.SelectionFields": [ + { + "=": "ID" + }, + { + "=": "author_ID" + }, + { + "=": "price" + }, + { + "=": "currency_code" + } + ], + "@fiori.draft.enabled": true, + "includes": [ + "managed" + ], + "elements": { + "createdAt": { + "@Core.Immutable": true, + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@odata.on.insert": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>CreatedAt}", + "type": "cds.Timestamp" + }, + "createdBy": { + "@Core.Immutable": true, + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$user" + }, + "@description": "{i18n>UserID.Description}", + "@odata.on.insert": { + "#": "user" + }, + "@readonly": true, + "@title": "{i18n>CreatedBy}", + "type": "User", + "length": 255 + }, + "modifiedAt": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@cds.on.update": { + "=": "$now" + }, + "@odata.on.update": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>ChangedAt}", + "type": "cds.Timestamp" + }, + "modifiedBy": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$user" + }, + "@cds.on.update": { + "=": "$user" + }, + "@description": "{i18n>UserID.Description}", + "@odata.on.update": { + "#": "user" + }, + "@readonly": true, + "@title": "{i18n>ChangedBy}", + "type": "User", + "length": 255 + }, + "ID": { + "@UI.HiddenFilter": true, + "@title": "{i18n>ID}", + "key": true, + "type": "cds.Integer" + }, + "title": { + "@title": "{i18n>Title}", + "localized": true, + "type": "cds.String", + "length": 111 + }, + "descr": { + "@UI.MultiLineText": true, + "localized": true, + "type": "cds.String", + "length": 1111 + }, + "author": { + "@Common.Text": { + "=": "author.name" + }, + "@Common.TextArrangement": { + "#": "TextOnly" + }, + "@ValueList.entity": "Authors", + "@title": "{i18n>Author}", + "type": "cds.Association", + "target": "sap.capire.bookshop.Authors", + "keys": [ + { + "ref": [ + "ID" + ] + } + ] + }, + "genre": { + "@Common.Text": { + "=": "genre.name" + }, + "@Common.TextArrangement": { + "#": "TextOnly" + }, + "@title": "{i18n>Genre}", + "type": "cds.Association", + "target": "sap.capire.bookshop.Genres", + "keys": [ + { + "ref": [ + "ID" + ] + } + ] + }, + "stock": { + "@title": "{i18n>Stock}", + "type": "cds.Integer" + }, + "price": { + "@title": "{i18n>Price}", + "type": "cds.Decimal" + }, + "currency": { + "@description": "{i18n>CurrencyCode.Description}", + "@title": "{i18n>Currency}", + "type": "Currency", + "target": "sap.common.Currencies", + "keys": [ + { + "ref": [ + "code" + ] + } + ] + }, + "image": { + "@Core.MediaType": "image/png", + "type": "cds.LargeBinary" + }, + "texts": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "sap.capire.bookshop.Books.texts", + "on": [ + { + "ref": [ + "texts", + "ID" + ] + }, + "=", + { + "ref": [ + "ID" + ] + } + ] + }, + "localized": { + "type": "cds.Association", + "target": "sap.capire.bookshop.Books.texts", + "on": [ + { + "ref": [ + "localized", + "ID" + ] + }, + "=", + { + "ref": [ + "ID" + ] + }, + "and", + { + "ref": [ + "localized", + "locale" + ] + }, + "=", + { + "ref": [ + "$user", + "locale" + ] + } + ] + } + } + }, + "sap.capire.bookshop.Authors": { + "kind": "entity", + "@Common.SemanticKey": [ + { + "=": "name" + } + ], + "@UI.Facets": [ + { + "$Type": "UI.ReferenceFacet", + "Target": "books/@UI.LineItem" + } + ], + "@UI.HeaderInfo.Description.Value": { + "=": "dateOfBirth" + }, + "@UI.HeaderInfo.Title.Value": { + "=": "name" + }, + "@UI.HeaderInfo.TypeName": "{i18n>Author}", + "@UI.HeaderInfo.TypeNamePlural": "{i18n>Authors}", + "@UI.Identification": [ + { + "Value": { + "=": "name" + } + } + ], + "@UI.LineItem": [ + { + "Value": { + "=": "ID" + } + }, + { + "Value": { + "=": "name" + } + }, + { + "Value": { + "=": "dateOfBirth" + } + }, + { + "Value": { + "=": "dateOfDeath" + } + }, + { + "Value": { + "=": "placeOfBirth" + } + }, + { + "Value": { + "=": "placeOfDeath" + } + } + ], + "@UI.SelectionFields": [ + { + "=": "name" + } + ], + "includes": [ + "managed" + ], + "elements": { + "createdAt": { + "@Core.Immutable": true, + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@odata.on.insert": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>CreatedAt}", + "type": "cds.Timestamp" + }, + "createdBy": { + "@Core.Immutable": true, + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$user" + }, + "@description": "{i18n>UserID.Description}", + "@odata.on.insert": { + "#": "user" + }, + "@readonly": true, + "@title": "{i18n>CreatedBy}", + "type": "User", + "length": 255 + }, + "modifiedAt": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@cds.on.update": { + "=": "$now" + }, + "@odata.on.update": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>ChangedAt}", + "type": "cds.Timestamp" + }, + "modifiedBy": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$user" + }, + "@cds.on.update": { + "=": "$user" + }, + "@description": "{i18n>UserID.Description}", + "@odata.on.update": { + "#": "user" + }, + "@readonly": true, + "@title": "{i18n>ChangedBy}", + "type": "User", + "length": 255 + }, + "ID": { + "@UI.HiddenFilter": true, + "@title": "{i18n>ID}", + "key": true, + "type": "cds.Integer" + }, + "name": { + "@title": "{i18n>Name}", + "type": "cds.String", + "length": 111 + }, + "dateOfBirth": { + "@title": "{i18n>DateOfBirth}", + "type": "cds.Date" + }, + "dateOfDeath": { + "@title": "{i18n>DateOfDeath}", + "type": "cds.Date" + }, + "placeOfBirth": { + "@title": "{i18n>PlaceOfBirth}", + "type": "cds.String" + }, + "placeOfDeath": { + "@title": "{i18n>PlaceOfDeath}", + "type": "cds.String" + }, + "books": { + "type": "cds.Association", + "cardinality": { + "max": "*" + }, + "target": "sap.capire.bookshop.Books", + "on": [ + { + "ref": [ + "books", + "author" + ] + }, + "=", + { + "ref": [ + "$self" + ] + } + ] + } + } + }, + "sap.capire.bookshop.Genres": { + "kind": "entity", + "@Common.SemanticKey": [ + { + "=": "name" + } + ], + "@UI.Facets": [ + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>SubGenres}", + "Target": "children/@UI.LineItem" + } + ], + "@UI.HeaderInfo.Description.Value": { + "=": "ID" + }, + "@UI.HeaderInfo.Title.Value": { + "=": "name" + }, + "@UI.HeaderInfo.TypeName": "{i18n>Genre}", + "@UI.HeaderInfo.TypeNamePlural": "{i18n>Genres}", + "@UI.Identification": [ + { + "Value": { + "=": "name" + } + } + ], + "@UI.LineItem": [ + { + "Value": { + "=": "name" + } + }, + { + "Value": { + "=": "parent.name" + }, + "Label": "Main Genre" + } + ], + "@UI.SelectionFields": [ + { + "=": "name" + } + ], + "@cds.autoexpose": true, + "@cds.odata.valuelist": true, + "@cds.persistence.skip": "if-unused", + "includes": [ + "sap.common.CodeList" + ], + "elements": { + "name": { + "@title": "{i18n>Genre}", + "localized": true, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": true, + "type": "cds.String", + "length": 1000 + }, + "ID": { + "@title": "{i18n>ID}", + "key": true, + "type": "cds.Integer" + }, + "parent": { + "type": "cds.Association", + "target": "sap.capire.bookshop.Genres", + "keys": [ + { + "ref": [ + "ID" + ] + } + ] + }, + "children": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "sap.capire.bookshop.Genres", + "on": [ + { + "ref": [ + "children", + "parent" + ] + }, + "=", + { + "ref": [ + "$self" + ] + } + ] + }, + "texts": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "sap.capire.bookshop.Genres.texts", + "on": [ + { + "ref": [ + "texts", + "ID" + ] + }, + "=", + { + "ref": [ + "ID" + ] + } + ] + }, + "localized": { + "type": "cds.Association", + "target": "sap.capire.bookshop.Genres.texts", + "on": [ + { + "ref": [ + "localized", + "ID" + ] + }, + "=", + { + "ref": [ + "ID" + ] + }, + "and", + { + "ref": [ + "localized", + "locale" + ] + }, + "=", + { + "ref": [ + "$user", + "locale" + ] + } + ] + } + } + }, + "sap.capire.orders.Orders": { + "kind": "entity", + "includes": [ + "cuid", + "managed" + ], + "elements": { + "ID": { + "@Core.Computed": true, + "key": true, + "type": "cds.UUID" + }, + "createdAt": { + "@Core.Immutable": true, + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@odata.on.insert": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>CreatedAt}", + "type": "cds.Timestamp" + }, + "createdBy": { + "@Core.Immutable": true, + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$user" + }, + "@description": "{i18n>UserID.Description}", + "@odata.on.insert": { + "#": "user" + }, + "@readonly": true, + "@title": "{i18n>CreatedBy}", + "type": "User", + "length": 255 + }, + "modifiedAt": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@cds.on.update": { + "=": "$now" + }, + "@odata.on.update": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>ChangedAt}", + "type": "cds.Timestamp" + }, + "modifiedBy": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$user" + }, + "@cds.on.update": { + "=": "$user" + }, + "@description": "{i18n>UserID.Description}", + "@odata.on.update": { + "#": "user" + }, + "@readonly": true, + "@title": "{i18n>ChangedBy}", + "type": "User", + "length": 255 + }, + "OrderNo": { + "@title": "Order Number", + "type": "cds.String" + }, + "Items": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "sap.capire.orders.Orders_Items", + "on": [ + { + "ref": [ + "Items", + "up_" + ] + }, + "=", + { + "ref": [ + "$self" + ] + } + ] + }, + "buyer": { + "@description": "{i18n>UserID.Description}", + "@title": "{i18n>UserID}", + "type": "User", + "length": 255 + }, + "currency": { + "@description": "{i18n>CurrencyCode.Description}", + "@title": "{i18n>Currency}", + "type": "Currency", + "target": "sap.common.Currencies", + "keys": [ + { + "ref": [ + "code" + ] + } + ] + }, + "Customer": { + "type": "cds.Association", + "cardinality": { + "max": 1 + }, + "target": "sap.bookshop.extension.Customers", + "keys": [ + { + "ref": [ + "ID" + ] + } + ] + }, + "Remarks": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "sap.bookshop.extension.Remarks", + "keys": [ + { + "ref": [ + "ID" + ] + } + ] + }, + "priority": { + "@assert.range": true, + "type": "cds.String", + "enum": { + "high": {}, + "medium": {}, + "low": {} + }, + "default": { + "val": "medium" + } + } + } + }, + "sap.capire.orders.Orders_Items": { + "kind": "entity", + "elements": { + "ID": { + "@Core.Computed": true, + "key": true, + "type": "cds.UUID" + }, + "up_": { + "type": "cds.Association", + "target": "sap.capire.orders.Orders", + "keys": [ + { + "ref": [ + "ID" + ] + } + ] + }, + "product": { + "@assert.integrity": false, + "type": "cds.Association", + "target": "sap.capire.orders.Products", + "keys": [ + { + "ref": [ + "ID" + ] + } + ] + }, + "amount": { + "type": "cds.Integer" + }, + "title": { + "type": "cds.String" + }, + "price": { + "type": "cds.Double" + } + } + }, + "sap.capire.orders.Products": { + "kind": "entity", + "@cds.persistence.skip": "always", + "elements": { + "ID": { + "key": true, + "type": "cds.String" + } + } + }, + "AdminService.Languages": { + "kind": "entity", + "@Common.SemanticKey": [ + { + "=": "code" + } + ], + "@Identification": [ + { + "Value": { + "=": "code" + } + } + ], + "@UI.Facets": [ + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>Details}", + "Target": "@UI.FieldGroup#Details" + } + ], + "@UI.FieldGroup#Details.Data": [ + { + "Value": { + "=": "code" + } + }, + { + "Value": { + "=": "name" + } + }, + { + "Value": { + "=": "descr" + } + } + ], + "@UI.HeaderInfo.Description.Value": { + "=": "descr" + }, + "@UI.HeaderInfo.Title.Value": { + "=": "name" + }, + "@UI.HeaderInfo.TypeName": "{i18n>Language}", + "@UI.HeaderInfo.TypeNamePlural": "{i18n>Languages}", + "@UI.Identification": [ + { + "Value": { + "=": "name" + } + } + ], + "@UI.LineItem": [ + { + "Value": { + "=": "code" + } + }, + { + "Value": { + "=": "name" + } + } + ], + "@UI.SelectionFields": [ + { + "=": "name" + }, + { + "=": "descr" + } + ], + "@cds.autoexpose": true, + "@cds.odata.valuelist": true, + "@cds.persistence.skip": "if-unused", + "projection": { + "from": { + "ref": [ + "sap.common.Languages" + ] + } + }, + "elements": { + "name": { + "@title": "{i18n>Name}", + "localized": true, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": true, + "type": "cds.String", + "length": 1000 + }, + "code": { + "@Common.Text": { + "=": "name" + }, + "@title": "{i18n>LanguageCode}", + "key": true, + "type": "cds.String", + "length": 14 + }, + "texts": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "AdminService.Languages.texts", + "on": [ + { + "ref": [ + "texts", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + } + ] + }, + "localized": { + "type": "cds.Association", + "target": "AdminService.Languages.texts", + "on": [ + { + "ref": [ + "localized", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + }, + "and", + { + "ref": [ + "localized", + "locale" + ] + }, + "=", + { + "ref": [ + "$user", + "locale" + ] + } + ] + } + } + }, + "sap.common_countries.Regions.texts": { + "kind": "entity", + "@odata.draft.enabled": false, + "elements": { + "locale": { + "key": true, + "type": "cds.String", + "length": 14 + }, + "name": { + "@title": "{i18n>Name}", + "localized": false, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": false, + "type": "cds.String", + "length": 1000 + }, + "code": { + "@odata.containment.ignore": true, + "key": true, + "type": "cds.String", + "length": 5 + } + } + }, + "sap.common_countries.Cities.texts": { + "kind": "entity", + "@odata.draft.enabled": false, + "elements": { + "locale": { + "key": true, + "type": "cds.String", + "length": 14 + }, + "name": { + "@title": "{i18n>Name}", + "localized": false, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": false, + "type": "cds.String", + "length": 1000 + }, + "code": { + "@odata.containment.ignore": true, + "key": true, + "type": "cds.String", + "length": 11 + } + } + }, + "sap.common_countries.Districts.texts": { + "kind": "entity", + "@odata.draft.enabled": false, + "elements": { + "locale": { + "key": true, + "type": "cds.String", + "length": 14 + }, + "name": { + "@title": "{i18n>Name}", + "localized": false, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": false, + "type": "cds.String", + "length": 1000 + }, + "code": { + "@odata.containment.ignore": true, + "key": true, + "type": "cds.String", + "length": 11 + } + } + }, + "sap.common.Languages.texts": { + "kind": "entity", + "@odata.draft.enabled": false, + "elements": { + "locale": { + "key": true, + "type": "cds.String", + "length": 14 + }, + "name": { + "@title": "{i18n>Name}", + "localized": false, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": false, + "type": "cds.String", + "length": 1000 + }, + "code": { + "@Common.Text": { + "=": "name" + }, + "@odata.containment.ignore": true, + "@title": "{i18n>LanguageCode}", + "key": true, + "type": "cds.String", + "length": 14 + } + } + }, + "sap.common.Countries.texts": { + "kind": "entity", + "@odata.draft.enabled": false, + "elements": { + "locale": { + "key": true, + "type": "cds.String", + "length": 14 + }, + "name": { + "@title": "{i18n>Name}", + "localized": false, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": false, + "type": "cds.String", + "length": 1000 + }, + "code": { + "@Common.Text": { + "=": "name" + }, + "@odata.containment.ignore": true, + "@title": "{i18n>CountryCode}", + "key": true, + "type": "cds.String", + "length": 3 + } + } + }, + "sap.common.Currencies.texts": { + "kind": "entity", + "@odata.draft.enabled": false, + "elements": { + "locale": { + "key": true, + "type": "cds.String", + "length": 14 + }, + "name": { + "@title": "{i18n>Name}", + "localized": false, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": false, + "type": "cds.String", + "length": 1000 + }, + "code": { + "@Common.Text": { + "=": "name" + }, + "@odata.containment.ignore": true, + "@title": "{i18n>CurrencyCode}", + "key": true, + "type": "cds.String", + "length": 3 + } + } + }, + "sap.capire.bookshop.Books.texts": { + "kind": "entity", + "@assert.unique.locale": [ + { + "=": "locale" + }, + { + "=": "ID" + } + ], + "elements": { + "ID_texts": { + "@Core.Computed": true, + "key": true, + "type": "cds.UUID" + }, + "locale": { + "type": "cds.String", + "length": 14 + }, + "ID": { + "@UI.HiddenFilter": true, + "@title": "{i18n>ID}", + "type": "cds.Integer" + }, + "title": { + "@title": "{i18n>Title}", + "localized": false, + "type": "cds.String", + "length": 111 + }, + "descr": { + "@UI.MultiLineText": true, + "localized": false, + "type": "cds.String", + "length": 1111 + } + } + }, + "sap.capire.bookshop.Genres.texts": { + "kind": "entity", + "@odata.draft.enabled": false, + "elements": { + "locale": { + "key": true, + "type": "cds.String", + "length": 14 + }, + "name": { + "@title": "{i18n>Genre}", + "localized": false, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": false, + "type": "cds.String", + "length": 1000 + }, + "ID": { + "@odata.containment.ignore": true, + "@title": "{i18n>ID}", + "key": true, + "type": "cds.Integer" + } + } + }, + "OrdersService.Countries": { + "kind": "entity", + "@UI.Identification": [ + { + "Value": { + "=": "name" + } + } + ], + "@cds.autoexpose": true, + "@cds.autoexposed": true, + "@cds.odata.valuelist": true, + "@cds.persistence.skip": "if-unused", + "query": { + "SELECT": { + "from": { + "ref": [ + "sap.common.Countries" + ] + } + } + }, + "elements": { + "name": { + "@title": "{i18n>Name}", + "localized": true, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": true, + "type": "cds.String", + "length": 1000 + }, + "code": { + "@Common.Text": { + "=": "name" + }, + "@title": "{i18n>CountryCode}", + "key": true, + "type": "cds.String", + "length": 3 + }, + "regions": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "OrdersService.Regions", + "on": [ + { + "ref": [ + "regions", + "_parent" + ] + }, + "=", + { + "ref": [ + "$self", + "code" + ] + } + ] + }, + "texts": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "OrdersService.Countries.texts", + "on": [ + { + "ref": [ + "texts", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + } + ] + }, + "localized": { + "type": "cds.Association", + "target": "OrdersService.Countries.texts", + "on": [ + { + "ref": [ + "localized", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + }, + "and", + { + "ref": [ + "localized", + "locale" + ] + }, + "=", + { + "ref": [ + "$user", + "locale" + ] + } + ] + } + } + }, + "AdminService.Genres": { + "kind": "entity", + "@Common.SemanticKey": [ + { + "=": "name" + } + ], + "@UI.Facets": [ + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>SubGenres}", + "Target": "children/@UI.LineItem" + } + ], + "@UI.HeaderInfo.Description.Value": { + "=": "ID" + }, + "@UI.HeaderInfo.Title.Value": { + "=": "name" + }, + "@UI.HeaderInfo.TypeName": "{i18n>Genre}", + "@UI.HeaderInfo.TypeNamePlural": "{i18n>Genres}", + "@UI.Identification": [ + { + "Value": { + "=": "name" + } + } + ], + "@UI.LineItem": [ + { + "Value": { + "=": "name" + } + }, + { + "Value": { + "=": "parent.name" + }, + "Label": "Main Genre" + } + ], + "@UI.SelectionFields": [ + { + "=": "name" + } + ], + "@cds.autoexpose": true, + "@cds.autoexposed": true, + "@cds.odata.valuelist": true, + "@cds.persistence.skip": "if-unused", + "query": { + "SELECT": { + "from": { + "ref": [ + "sap.capire.bookshop.Genres" + ] + } + } + }, + "elements": { + "name": { + "@title": "{i18n>Genre}", + "localized": true, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": true, + "type": "cds.String", + "length": 1000 + }, + "ID": { + "@title": "{i18n>ID}", + "key": true, + "type": "cds.Integer" + }, + "parent": { + "type": "cds.Association", + "target": "AdminService.Genres", + "keys": [ + { + "ref": [ + "ID" + ] + } + ] + }, + "children": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "AdminService.Genres", + "on": [ + { + "ref": [ + "children", + "parent" + ] + }, + "=", + { + "ref": [ + "$self" + ] + } + ] + }, + "texts": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "AdminService.Genres.texts", + "on": [ + { + "ref": [ + "texts", + "ID" + ] + }, + "=", + { + "ref": [ + "ID" + ] + } + ] + }, + "localized": { + "type": "cds.Association", + "target": "AdminService.Genres.texts", + "on": [ + { + "ref": [ + "localized", + "ID" + ] + }, + "=", + { + "ref": [ + "ID" + ] + }, + "and", + { + "ref": [ + "localized", + "locale" + ] + }, + "=", + { + "ref": [ + "$user", + "locale" + ] + } + ] + } + } + }, + "AdminService.Currencies": { + "kind": "entity", + "@Common.SemanticKey": [ + { + "=": "code" + } + ], + "@Identification": [ + { + "Value": { + "=": "code" + } + } + ], + "@UI.Facets": [ + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>Details}", + "Target": "@UI.FieldGroup#Details" + }, + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>Extended}", + "Target": "@UI.FieldGroup#Extended" + } + ], + "@UI.FieldGroup#Details.Data": [ + { + "Value": { + "=": "name" + } + }, + { + "Value": { + "=": "symbol" + } + }, + { + "Value": { + "=": "code" + } + }, + { + "Value": { + "=": "descr" + } + } + ], + "@UI.FieldGroup#Extended.Data": [ + { + "Value": { + "=": "numcode" + } + }, + { + "Value": { + "=": "minor" + } + }, + { + "Value": { + "=": "exponent" + } + } + ], + "@UI.HeaderInfo.Description.Value": { + "=": "code" + }, + "@UI.HeaderInfo.Title.Value": { + "=": "descr" + }, + "@UI.HeaderInfo.TypeName": "{i18n>Currency}", + "@UI.HeaderInfo.TypeNamePlural": "{i18n>Currencies}", + "@UI.Identification": [ + { + "Value": { + "=": "name" + } + } + ], + "@UI.LineItem": [ + { + "Value": { + "=": "descr" + } + }, + { + "Value": { + "=": "symbol" + } + }, + { + "Value": { + "=": "code" + } + } + ], + "@UI.SelectionFields": [ + { + "=": "name" + }, + { + "=": "descr" + } + ], + "@cds.autoexpose": true, + "@cds.autoexposed": true, + "@cds.odata.valuelist": true, + "@cds.persistence.skip": "if-unused", + "query": { + "SELECT": { + "from": { + "ref": [ + "sap.common.Currencies" + ] + } + } + }, + "elements": { + "name": { + "@title": "{i18n>Name}", + "localized": true, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": true, + "type": "cds.String", + "length": 1000 + }, + "code": { + "@Common.Text": { + "=": "name" + }, + "@title": "{i18n>CurrencyCode}", + "key": true, + "type": "cds.String", + "length": 3 + }, + "symbol": { + "@title": "{i18n>CurrencySymbol}", + "type": "cds.String", + "length": 5 + }, + "numcode": { + "@title": "{i18n>NumCode}", + "type": "cds.Integer" + }, + "exponent": { + "@title": "{i18n>Exponent}", + "type": "cds.Integer" + }, + "minor": { + "@title": "{i18n>MinorUnit}", + "type": "cds.String" + }, + "texts": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "AdminService.Currencies.texts", + "on": [ + { + "ref": [ + "texts", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + } + ] + }, + "localized": { + "type": "cds.Association", + "target": "AdminService.Currencies.texts", + "on": [ + { + "ref": [ + "localized", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + }, + "and", + { + "ref": [ + "localized", + "locale" + ] + }, + "=", + { + "ref": [ + "$user", + "locale" + ] + } + ] + } + } + }, + "AdminService.Books.texts": { + "kind": "entity", + "@assert.unique.locale": [ + { + "=": "locale" + }, + { + "=": "ID" + } + ], + "@cds.autoexposed": true, + "query": { + "SELECT": { + "from": { + "ref": [ + "sap.capire.bookshop.Books.texts" + ] + } + } + }, + "elements": { + "ID_texts": { + "@Core.Computed": true, + "key": true, + "type": "cds.UUID" + }, + "locale": { + "type": "cds.String", + "length": 14 + }, + "ID": { + "@UI.HiddenFilter": true, + "@title": "{i18n>ID}", + "type": "cds.Integer" + }, + "title": { + "@title": "{i18n>Title}", + "localized": false, + "type": "cds.String", + "length": 111 + }, + "descr": { + "@UI.MultiLineText": true, + "localized": false, + "type": "cds.String", + "length": 1111 + } + } + }, + "CatalogService.Genres": { + "kind": "entity", + "@Common.SemanticKey": [ + { + "=": "name" + } + ], + "@UI.Facets": [ + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>SubGenres}", + "Target": "children/@UI.LineItem" + } + ], + "@UI.HeaderInfo.Description.Value": { + "=": "ID" + }, + "@UI.HeaderInfo.Title.Value": { + "=": "name" + }, + "@UI.HeaderInfo.TypeName": "{i18n>Genre}", + "@UI.HeaderInfo.TypeNamePlural": "{i18n>Genres}", + "@UI.Identification": [ + { + "Value": { + "=": "name" + } + } + ], + "@UI.LineItem": [ + { + "Value": { + "=": "name" + } + }, + { + "Value": { + "=": "parent.name" + }, + "Label": "Main Genre" + } + ], + "@UI.SelectionFields": [ + { + "=": "name" + } + ], + "@cds.autoexpose": true, + "@cds.autoexposed": true, + "@cds.odata.valuelist": true, + "@cds.persistence.skip": "if-unused", + "query": { + "SELECT": { + "from": { + "ref": [ + "sap.capire.bookshop.Genres" + ] + } + } + }, + "elements": { + "name": { + "@title": "{i18n>Genre}", + "localized": true, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": true, + "type": "cds.String", + "length": 1000 + }, + "ID": { + "@title": "{i18n>ID}", + "key": true, + "type": "cds.Integer" + }, + "parent": { + "type": "cds.Association", + "target": "CatalogService.Genres", + "keys": [ + { + "ref": [ + "ID" + ] + } + ] + }, + "children": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "CatalogService.Genres", + "on": [ + { + "ref": [ + "children", + "parent" + ] + }, + "=", + { + "ref": [ + "$self" + ] + } + ] + }, + "texts": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "CatalogService.Genres.texts", + "on": [ + { + "ref": [ + "texts", + "ID" + ] + }, + "=", + { + "ref": [ + "ID" + ] + } + ] + }, + "localized": { + "type": "cds.Association", + "target": "CatalogService.Genres.texts", + "on": [ + { + "ref": [ + "localized", + "ID" + ] + }, + "=", + { + "ref": [ + "ID" + ] + }, + "and", + { + "ref": [ + "localized", + "locale" + ] + }, + "=", + { + "ref": [ + "$user", + "locale" + ] + } + ] + } + } + }, + "CatalogService.Currencies": { + "kind": "entity", + "@Common.SemanticKey": [ + { + "=": "code" + } + ], + "@Identification": [ + { + "Value": { + "=": "code" + } + } + ], + "@UI.Facets": [ + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>Details}", + "Target": "@UI.FieldGroup#Details" + }, + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>Extended}", + "Target": "@UI.FieldGroup#Extended" + } + ], + "@UI.FieldGroup#Details.Data": [ + { + "Value": { + "=": "name" + } + }, + { + "Value": { + "=": "symbol" + } + }, + { + "Value": { + "=": "code" + } + }, + { + "Value": { + "=": "descr" + } + } + ], + "@UI.FieldGroup#Extended.Data": [ + { + "Value": { + "=": "numcode" + } + }, + { + "Value": { + "=": "minor" + } + }, + { + "Value": { + "=": "exponent" + } + } + ], + "@UI.HeaderInfo.Description.Value": { + "=": "code" + }, + "@UI.HeaderInfo.Title.Value": { + "=": "descr" + }, + "@UI.HeaderInfo.TypeName": "{i18n>Currency}", + "@UI.HeaderInfo.TypeNamePlural": "{i18n>Currencies}", + "@UI.Identification": [ + { + "Value": { + "=": "name" + } + } + ], + "@UI.LineItem": [ + { + "Value": { + "=": "descr" + } + }, + { + "Value": { + "=": "symbol" + } + }, + { + "Value": { + "=": "code" + } + } + ], + "@UI.SelectionFields": [ + { + "=": "name" + }, + { + "=": "descr" + } + ], + "@cds.autoexpose": true, + "@cds.autoexposed": true, + "@cds.odata.valuelist": true, + "@cds.persistence.skip": "if-unused", + "query": { + "SELECT": { + "from": { + "ref": [ + "sap.common.Currencies" + ] + } + } + }, + "elements": { + "name": { + "@title": "{i18n>Name}", + "localized": true, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": true, + "type": "cds.String", + "length": 1000 + }, + "code": { + "@Common.Text": { + "=": "name" + }, + "@title": "{i18n>CurrencyCode}", + "key": true, + "type": "cds.String", + "length": 3 + }, + "symbol": { + "@title": "{i18n>CurrencySymbol}", + "type": "cds.String", + "length": 5 + }, + "numcode": { + "@title": "{i18n>NumCode}", + "type": "cds.Integer" + }, + "exponent": { + "@title": "{i18n>Exponent}", + "type": "cds.Integer" + }, + "minor": { + "@title": "{i18n>MinorUnit}", + "type": "cds.String" + }, + "texts": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "CatalogService.Currencies.texts", + "on": [ + { + "ref": [ + "texts", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + } + ] + }, + "localized": { + "type": "cds.Association", + "target": "CatalogService.Currencies.texts", + "on": [ + { + "ref": [ + "localized", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + }, + "and", + { + "ref": [ + "localized", + "locale" + ] + }, + "=", + { + "ref": [ + "$user", + "locale" + ] + } + ] + } + } + }, + "CatalogService.Books.texts": { + "kind": "entity", + "@assert.unique.locale": [ + { + "=": "locale" + }, + { + "=": "ID" + } + ], + "@cds.autoexposed": true, + "query": { + "SELECT": { + "from": { + "ref": [ + "sap.capire.bookshop.Books.texts" + ] + } + } + }, + "elements": { + "ID_texts": { + "@Core.Computed": true, + "key": true, + "type": "cds.UUID" + }, + "locale": { + "type": "cds.String", + "length": 14 + }, + "ID": { + "@UI.HiddenFilter": true, + "@title": "{i18n>ID}", + "type": "cds.Integer" + }, + "title": { + "@title": "{i18n>Title}", + "localized": false, + "type": "cds.String", + "length": 111 + }, + "descr": { + "@UI.MultiLineText": true, + "localized": false, + "type": "cds.String", + "length": 1111 + } + } + }, + "OrdersService.Orders_Items": { + "kind": "entity", + "@UI.Facets": [ + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>OrderItems}", + "Target": "@UI.Identification" + } + ], + "@UI.Identification": [ + { + "Value": { + "=": "amount" + }, + "Label": "Amount" + }, + { + "Value": { + "=": "title" + }, + "Label": "Product" + }, + { + "Value": { + "=": "price" + }, + "Label": "Unit Price" + } + ], + "@UI.LineItem": [ + { + "Value": { + "=": "product_ID" + }, + "Label": "Product ID" + }, + { + "Value": { + "=": "title" + }, + "Label": "Product Title" + }, + { + "Value": { + "=": "price" + }, + "Label": "Unit Price" + }, + { + "Value": { + "=": "amount" + }, + "Label": "Quantity" + } + ], + "@cds.autoexposed": true, + "query": { + "SELECT": { + "from": { + "ref": [ + "sap.capire.orders.Orders_Items" + ] + } + } + }, + "elements": { + "ID": { + "@Core.Computed": true, + "key": true, + "type": "cds.UUID" + }, + "up_": { + "type": "cds.Association", + "target": "OrdersService.Orders", + "keys": [ + { + "ref": [ + "ID" + ] + } + ] + }, + "product": { + "@assert.integrity": false, + "type": "cds.Association", + "target": "sap.capire.orders.Products", + "keys": [ + { + "ref": [ + "ID" + ] + } + ] + }, + "amount": { + "@Common.FieldControl": { + "#": "Mandatory" + }, + "type": "cds.Integer" + }, + "title": { + "type": "cds.String" + }, + "price": { + "type": "cds.Double" + } + } + }, + "OrdersService.Currencies": { + "kind": "entity", + "@Common.SemanticKey": [ + { + "=": "code" + } + ], + "@Identification": [ + { + "Value": { + "=": "code" + } + } + ], + "@UI.Facets": [ + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>Details}", + "Target": "@UI.FieldGroup#Details" + }, + { + "$Type": "UI.ReferenceFacet", + "Label": "{i18n>Extended}", + "Target": "@UI.FieldGroup#Extended" + } + ], + "@UI.FieldGroup#Details.Data": [ + { + "Value": { + "=": "name" + } + }, + { + "Value": { + "=": "symbol" + } + }, + { + "Value": { + "=": "code" + } + }, + { + "Value": { + "=": "descr" + } + } + ], + "@UI.FieldGroup#Extended.Data": [ + { + "Value": { + "=": "numcode" + } + }, + { + "Value": { + "=": "minor" + } + }, + { + "Value": { + "=": "exponent" + } + } + ], + "@UI.HeaderInfo.Description.Value": { + "=": "code" + }, + "@UI.HeaderInfo.Title.Value": { + "=": "descr" + }, + "@UI.HeaderInfo.TypeName": "{i18n>Currency}", + "@UI.HeaderInfo.TypeNamePlural": "{i18n>Currencies}", + "@UI.Identification": [ + { + "Value": { + "=": "name" + } + } + ], + "@UI.LineItem": [ + { + "Value": { + "=": "descr" + } + }, + { + "Value": { + "=": "symbol" + } + }, + { + "Value": { + "=": "code" + } + } + ], + "@UI.SelectionFields": [ + { + "=": "name" + }, + { + "=": "descr" + } + ], + "@cds.autoexpose": true, + "@cds.autoexposed": true, + "@cds.odata.valuelist": true, + "@cds.persistence.skip": "if-unused", + "query": { + "SELECT": { + "from": { + "ref": [ + "sap.common.Currencies" + ] + } + } + }, + "elements": { + "name": { + "@title": "{i18n>Name}", + "localized": true, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": true, + "type": "cds.String", + "length": 1000 + }, + "code": { + "@Common.Text": { + "=": "name" + }, + "@title": "{i18n>CurrencyCode}", + "key": true, + "type": "cds.String", + "length": 3 + }, + "symbol": { + "@title": "{i18n>CurrencySymbol}", + "type": "cds.String", + "length": 5 + }, + "numcode": { + "@title": "{i18n>NumCode}", + "type": "cds.Integer" + }, + "exponent": { + "@title": "{i18n>Exponent}", + "type": "cds.Integer" + }, + "minor": { + "@title": "{i18n>MinorUnit}", + "type": "cds.String" + }, + "texts": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "OrdersService.Currencies.texts", + "on": [ + { + "ref": [ + "texts", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + } + ] + }, + "localized": { + "type": "cds.Association", + "target": "OrdersService.Currencies.texts", + "on": [ + { + "ref": [ + "localized", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + }, + "and", + { + "ref": [ + "localized", + "locale" + ] + }, + "=", + { + "ref": [ + "$user", + "locale" + ] + } + ] + } + } + }, + "OrdersService.Remarks": { + "kind": "entity", + "@UI.Facets": [ + { + "$Type": "UI.ReferenceFacet", + "Label": "Main", + "Target": "@UI.FieldGroup#Main" + } + ], + "@UI.FieldGroup#Main.Data": [ + { + "Value": { + "=": "number" + } + }, + { + "Value": { + "=": "remarksLine" + } + } + ], + "@UI.HeaderInfo.Title.$Type": "UI.DataField", + "@UI.HeaderInfo.Title.Value": { + "=": "number" + }, + "@UI.HeaderInfo.TypeName": "Remark", + "@UI.HeaderInfo.TypeNamePlural": "Remarks", + "@UI.LineItem": [ + { + "Value": { + "=": "number" + } + }, + { + "Value": { + "=": "remarksLine" + } + } + ], + "@cds.autoexposed": true, + "query": { + "SELECT": { + "from": { + "ref": [ + "sap.bookshop.extension.Remarks" + ] + } + } + }, + "elements": { + "ID": { + "@Core.Computed": true, + "key": true, + "type": "cds.UUID" + }, + "createdAt": { + "@Core.Immutable": true, + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@odata.on.insert": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>CreatedAt}", + "type": "cds.Timestamp" + }, + "createdBy": { + "@Core.Immutable": true, + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$user" + }, + "@description": "{i18n>UserID.Description}", + "@odata.on.insert": { + "#": "user" + }, + "@readonly": true, + "@title": "{i18n>CreatedBy}", + "type": "User", + "length": 255 + }, + "modifiedAt": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$now" + }, + "@cds.on.update": { + "=": "$now" + }, + "@odata.on.update": { + "#": "now" + }, + "@readonly": true, + "@title": "{i18n>ChangedAt}", + "type": "cds.Timestamp" + }, + "modifiedBy": { + "@UI.HiddenFilter": true, + "@cds.on.insert": { + "=": "$user" + }, + "@cds.on.update": { + "=": "$user" + }, + "@description": "{i18n>UserID.Description}", + "@odata.on.update": { + "#": "user" + }, + "@readonly": true, + "@title": "{i18n>ChangedBy}", + "type": "User", + "length": 255 + }, + "parent": { + "type": "cds.Association", + "cardinality": { + "max": 1 + }, + "target": "OrdersService.Orders", + "keys": [ + { + "ref": [ + "ID" + ] + } + ] + }, + "number": { + "@title": "Remark Number", + "type": "cds.Integer" + }, + "remarksLine": { + "@title": "Remark", + "type": "cds.String" + } + } + }, + "AdminService.Languages.texts": { + "kind": "entity", + "@cds.autoexposed": true, + "@odata.draft.enabled": false, + "query": { + "SELECT": { + "from": { + "ref": [ + "sap.common.Languages.texts" + ] + } + } + }, + "elements": { + "locale": { + "key": true, + "type": "cds.String", + "length": 14 + }, + "name": { + "@title": "{i18n>Name}", + "localized": false, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": false, + "type": "cds.String", + "length": 1000 + }, + "code": { + "@Common.Text": { + "=": "name" + }, + "@odata.containment.ignore": true, + "@title": "{i18n>LanguageCode}", + "key": true, + "type": "cds.String", + "length": 14 + } + } + }, + "OrdersService.Regions": { + "kind": "entity", + "@UI.Identification": [ + { + "Value": { + "=": "name" + } + } + ], + "@cds.autoexpose": true, + "@cds.autoexposed": true, + "@cds.odata.valuelist": true, + "@cds.persistence.skip": "if-unused", + "query": { + "SELECT": { + "from": { + "ref": [ + "sap.common_countries.Regions" + ] + } + } + }, + "elements": { + "name": { + "@title": "{i18n>Name}", + "localized": true, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": true, + "type": "cds.String", + "length": 1000 + }, + "code": { + "key": true, + "type": "cds.String", + "length": 5 + }, + "children": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "OrdersService.Regions", + "on": [ + { + "ref": [ + "children", + "_parent" + ] + }, + "=", + { + "ref": [ + "$self", + "code" + ] + } + ] + }, + "cities": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "OrdersService.Cities", + "on": [ + { + "ref": [ + "cities", + "region" + ] + }, + "=", + { + "ref": [ + "$self" + ] + } + ] + }, + "_parent": { + "type": "cds.String", + "length": 11 + }, + "texts": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "OrdersService.Regions.texts", + "on": [ + { + "ref": [ + "texts", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + } + ] + }, + "localized": { + "type": "cds.Association", + "target": "OrdersService.Regions.texts", + "on": [ + { + "ref": [ + "localized", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + }, + "and", + { + "ref": [ + "localized", + "locale" + ] + }, + "=", + { + "ref": [ + "$user", + "locale" + ] + } + ] + } + } + }, + "OrdersService.Countries.texts": { + "kind": "entity", + "@cds.autoexposed": true, + "@odata.draft.enabled": false, + "query": { + "SELECT": { + "from": { + "ref": [ + "sap.common.Countries.texts" + ] + } + } + }, + "elements": { + "locale": { + "key": true, + "type": "cds.String", + "length": 14 + }, + "name": { + "@title": "{i18n>Name}", + "localized": false, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": false, + "type": "cds.String", + "length": 1000 + }, + "code": { + "@Common.Text": { + "=": "name" + }, + "@odata.containment.ignore": true, + "@title": "{i18n>CountryCode}", + "key": true, + "type": "cds.String", + "length": 3 + } + } + }, + "AdminService.Genres.texts": { + "kind": "entity", + "@cds.autoexposed": true, + "@odata.draft.enabled": false, + "query": { + "SELECT": { + "from": { + "ref": [ + "sap.capire.bookshop.Genres.texts" + ] + } + } + }, + "elements": { + "locale": { + "key": true, + "type": "cds.String", + "length": 14 + }, + "name": { + "@title": "{i18n>Genre}", + "localized": false, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": false, + "type": "cds.String", + "length": 1000 + }, + "ID": { + "@odata.containment.ignore": true, + "@title": "{i18n>ID}", + "key": true, + "type": "cds.Integer" + } + } + }, + "AdminService.Currencies.texts": { + "kind": "entity", + "@cds.autoexposed": true, + "@odata.draft.enabled": false, + "query": { + "SELECT": { + "from": { + "ref": [ + "sap.common.Currencies.texts" + ] + } + } + }, + "elements": { + "locale": { + "key": true, + "type": "cds.String", + "length": 14 + }, + "name": { + "@title": "{i18n>Name}", + "localized": false, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": false, + "type": "cds.String", + "length": 1000 + }, + "code": { + "@Common.Text": { + "=": "name" + }, + "@odata.containment.ignore": true, + "@title": "{i18n>CurrencyCode}", + "key": true, + "type": "cds.String", + "length": 3 + } + } + }, + "CatalogService.Genres.texts": { + "kind": "entity", + "@cds.autoexposed": true, + "@odata.draft.enabled": false, + "query": { + "SELECT": { + "from": { + "ref": [ + "sap.capire.bookshop.Genres.texts" + ] + } + } + }, + "elements": { + "locale": { + "key": true, + "type": "cds.String", + "length": 14 + }, + "name": { + "@title": "{i18n>Genre}", + "localized": false, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": false, + "type": "cds.String", + "length": 1000 + }, + "ID": { + "@odata.containment.ignore": true, + "@title": "{i18n>ID}", + "key": true, + "type": "cds.Integer" + } + } + }, + "CatalogService.Currencies.texts": { + "kind": "entity", + "@cds.autoexposed": true, + "@odata.draft.enabled": false, + "query": { + "SELECT": { + "from": { + "ref": [ + "sap.common.Currencies.texts" + ] + } + } + }, + "elements": { + "locale": { + "key": true, + "type": "cds.String", + "length": 14 + }, + "name": { + "@title": "{i18n>Name}", + "localized": false, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": false, + "type": "cds.String", + "length": 1000 + }, + "code": { + "@Common.Text": { + "=": "name" + }, + "@odata.containment.ignore": true, + "@title": "{i18n>CurrencyCode}", + "key": true, + "type": "cds.String", + "length": 3 + } + } + }, + "OrdersService.Currencies.texts": { + "kind": "entity", + "@cds.autoexposed": true, + "@odata.draft.enabled": false, + "query": { + "SELECT": { + "from": { + "ref": [ + "sap.common.Currencies.texts" + ] + } + } + }, + "elements": { + "locale": { + "key": true, + "type": "cds.String", + "length": 14 + }, + "name": { + "@title": "{i18n>Name}", + "localized": false, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": false, + "type": "cds.String", + "length": 1000 + }, + "code": { + "@Common.Text": { + "=": "name" + }, + "@odata.containment.ignore": true, + "@title": "{i18n>CurrencyCode}", + "key": true, + "type": "cds.String", + "length": 3 + } + } + }, + "OrdersService.Cities": { + "kind": "entity", + "@UI.Identification": [ + { + "Value": { + "=": "name" + } + } + ], + "@cds.autoexpose": true, + "@cds.autoexposed": true, + "@cds.odata.valuelist": true, + "@cds.persistence.skip": "if-unused", + "query": { + "SELECT": { + "from": { + "ref": [ + "sap.common_countries.Cities" + ] + } + } + }, + "elements": { + "name": { + "@title": "{i18n>Name}", + "localized": true, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": true, + "type": "cds.String", + "length": 1000 + }, + "code": { + "key": true, + "type": "cds.String", + "length": 11 + }, + "region": { + "type": "cds.Association", + "target": "OrdersService.Regions", + "keys": [ + { + "ref": [ + "code" + ] + } + ] + }, + "districts": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "OrdersService.Districts", + "on": [ + { + "ref": [ + "districts", + "city" + ] + }, + "=", + { + "ref": [ + "$self" + ] + } + ] + }, + "texts": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "OrdersService.Cities.texts", + "on": [ + { + "ref": [ + "texts", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + } + ] + }, + "localized": { + "type": "cds.Association", + "target": "OrdersService.Cities.texts", + "on": [ + { + "ref": [ + "localized", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + }, + "and", + { + "ref": [ + "localized", + "locale" + ] + }, + "=", + { + "ref": [ + "$user", + "locale" + ] + } + ] + } + } + }, + "OrdersService.Regions.texts": { + "kind": "entity", + "@cds.autoexposed": true, + "@odata.draft.enabled": false, + "query": { + "SELECT": { + "from": { + "ref": [ + "sap.common_countries.Regions.texts" + ] + } + } + }, + "elements": { + "locale": { + "key": true, + "type": "cds.String", + "length": 14 + }, + "name": { + "@title": "{i18n>Name}", + "localized": false, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": false, + "type": "cds.String", + "length": 1000 + }, + "code": { + "@odata.containment.ignore": true, + "key": true, + "type": "cds.String", + "length": 5 + } + } + }, + "OrdersService.Districts": { + "kind": "entity", + "@UI.Identification": [ + { + "Value": { + "=": "name" + } + } + ], + "@cds.autoexpose": true, + "@cds.autoexposed": true, + "@cds.odata.valuelist": true, + "@cds.persistence.skip": "if-unused", + "query": { + "SELECT": { + "from": { + "ref": [ + "sap.common_countries.Districts" + ] + } + } + }, + "elements": { + "name": { + "@title": "{i18n>Name}", + "localized": true, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": true, + "type": "cds.String", + "length": 1000 + }, + "code": { + "key": true, + "type": "cds.String", + "length": 11 + }, + "city": { + "type": "cds.Association", + "target": "OrdersService.Cities", + "keys": [ + { + "ref": [ + "code" + ] + } + ] + }, + "texts": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "OrdersService.Districts.texts", + "on": [ + { + "ref": [ + "texts", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + } + ] + }, + "localized": { + "type": "cds.Association", + "target": "OrdersService.Districts.texts", + "on": [ + { + "ref": [ + "localized", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + }, + "and", + { + "ref": [ + "localized", + "locale" + ] + }, + "=", + { + "ref": [ + "$user", + "locale" + ] + } + ] + } + } + }, + "OrdersService.Cities.texts": { + "kind": "entity", + "@cds.autoexposed": true, + "@odata.draft.enabled": false, + "query": { + "SELECT": { + "from": { + "ref": [ + "sap.common_countries.Cities.texts" + ] + } + } + }, + "elements": { + "locale": { + "key": true, + "type": "cds.String", + "length": 14 + }, + "name": { + "@title": "{i18n>Name}", + "localized": false, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": false, + "type": "cds.String", + "length": 1000 + }, + "code": { + "@odata.containment.ignore": true, + "key": true, + "type": "cds.String", + "length": 11 + } + } + }, + "OrdersService.Districts.texts": { + "kind": "entity", + "@cds.autoexposed": true, + "@odata.draft.enabled": false, + "query": { + "SELECT": { + "from": { + "ref": [ + "sap.common_countries.Districts.texts" + ] + } + } + }, + "elements": { + "locale": { + "key": true, + "type": "cds.String", + "length": 14 + }, + "name": { + "@title": "{i18n>Name}", + "localized": false, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": false, + "type": "cds.String", + "length": 1000 + }, + "code": { + "@odata.containment.ignore": true, + "key": true, + "type": "cds.String", + "length": 11 + } + } + } + }, + "extensions": [ + { + "annotate": "AdminService.Books_texts", + "@UI.Identification": [ + { + "Value": { + "=": "title" + } + } + ], + "@UI.LineItem": [ + { + "Value": { + "=": "locale" + }, + "Label": "Locale" + }, + { + "Value": { + "=": "title" + }, + "Label": "Title" + }, + { + "Value": { + "=": "descr" + }, + "Label": "Description" + } + ], + "@UI.SelectionFields": [ + { + "=": "locale" + }, + { + "=": "title" + } + ], + "elements": { + "locale": { + "@ValueList.entity": "Languages", + "@ValueList.type": { + "#": "fixed" + } + } + } + }, + { + "annotate": "cds.UUID", + "@Core.Computed": true + } + ], + "meta": { + "creator": "CDS Compiler v2.1.4", + "flavor": "inferred" + }, + "$version": "2.0" +} \ No newline at end of file diff --git a/node_modules/_base/_i18n/i18n.json b/node_modules/_base/_i18n/i18n.json new file mode 100644 index 00000000..87b516b6 --- /dev/null +++ b/node_modules/_base/_i18n/i18n.json @@ -0,0 +1,1302 @@ +{ + "": { + "CreatedBy": "Created By", + "CreatedAt": "Created On", + "ChangedBy": "Changed By", + "ChangedAt": "Changed On", + "Currency": "Currency", + "CurrencyCode": "Currency Code", + "CurrencyCode.Description": "A currency code as specified in ISO 4217", + "CurrencySymbol": "Currency Symbol", + "Country": "Country", + "CountryCode": "Country Code", + "CountryCode.Description": "A country code as specified in ISO 3166-1", + "Language": "Language", + "LanguageCode": "Language Code", + "LanguageCode.Description": "A language code as specified in ISO 639-1", + "UserID": "User ID", + "Name": "Name", + "Description": "Description", + "UserID.Description": "A user's unique ID", + "Draft_DraftAdministrativeData": "Draft Administrative Data", + "Draft_DraftUUID": "Draft (Technical ID)", + "Draft_CreationDateTime": "Draft Created On", + "Draft_CreatedByUser": "Draft Created By", + "Draft_DraftIsCreatedByMe": "Draft Created By Me", + "Draft_LastChangeDateTime": "Draft Last Changed On", + "Draft_LastChangedByUser": "Draft Last Changed By", + "Draft_InProcessByUser": "Draft In Process By", + "Draft_DraftIsProcessedByMe": "Draft In Process By Me", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "ar": { + "CreatedBy": "تم الإنشاء بواسطة", + "CreatedAt": "تاريخ الإنشاء", + "ChangedBy": "تم التغيير بواسطة", + "ChangedAt": "تاريخ التغيير", + "Currency": "العملة", + "CurrencyCode": "رمز العملة", + "CurrencyCode.Description": "رمز العملة المحدد حسب ISO 4217", + "CurrencySymbol": "رمز العملة", + "Country": "الدولة", + "CountryCode": "رمز الدولة", + "CountryCode.Description": "رمز الدولة المحدد حسب ISO 4217", + "Language": "اللغة", + "LanguageCode": "رمز اللغة", + "LanguageCode.Description": "رمز الدولة المحدد حسب ISO 639-1", + "UserID": "معرف المستخدم", + "Name": "الاسم", + "Description": "الوصف", + "UserID.Description": "معرف المستخدم الفريد", + "Draft_DraftAdministrativeData": "البيانات الإدارية للمسودة", + "Draft_DraftUUID": "مسودة (المعرف التقني)", + "Draft_CreationDateTime": "تاريخ إنشاء المسودة", + "Draft_CreatedByUser": "منشئ المسودة", + "Draft_DraftIsCreatedByMe": "تم إنشاء المسودة بواسطتي", + "Draft_LastChangeDateTime": "تاريخ آخر تغيير للمسودة", + "Draft_LastChangedByUser": "آخر تغيير للمسودة بواسطة", + "Draft_InProcessByUser": "المسودة قيد المعالجة بواسطة", + "Draft_DraftIsProcessedByMe": "المسودة قيد المعالجة بواسطتي", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "cs": { + "CreatedBy": "Vytvořil", + "CreatedAt": "Vytvořeno dne", + "ChangedBy": "Autor změny", + "ChangedAt": "Změněno dne", + "Currency": "Měna", + "CurrencyCode": "Kód měny", + "CurrencyCode.Description": "Kód měny zadaný dle ISO 4217", + "CurrencySymbol": "Symbol měny", + "Country": "Stát", + "CountryCode": "Kód státu", + "CountryCode.Description": "Kód státu zadaný dle ISO 3166-1", + "Language": "Jazyk", + "LanguageCode": "Kód jazyka", + "LanguageCode.Description": "Kód jazyka zadaný dle ISO 639-1", + "UserID": "ID uživatele", + "Name": "Jméno", + "Description": "Popis", + "UserID.Description": "Jedinečné ID uživatele", + "Draft_DraftAdministrativeData": "Správní data návrhu", + "Draft_DraftUUID": "Návrh (technické ID)", + "Draft_CreationDateTime": "Návrh vytvořen dne", + "Draft_CreatedByUser": "Návrh vytvořil", + "Draft_DraftIsCreatedByMe": "Návrh vytvořen mnou", + "Draft_LastChangeDateTime": "Návrh naposledy změněn dne", + "Draft_LastChangedByUser": "Návrh naposledy změnil", + "Draft_InProcessByUser": "Návrh zpracovává", + "Draft_DraftIsProcessedByMe": "Návrh zpracovávaný mnou", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "da": { + "CreatedBy": "Oprettet af", + "CreatedAt": "Oprettet den", + "ChangedBy": "Ændret af", + "ChangedAt": "Ændret den", + "Currency": "Valuta", + "CurrencyCode": "Valutakode", + "CurrencyCode.Description": "Valutakode som angivet af ISO 4217", + "CurrencySymbol": "Valutasymbol", + "Country": "Land", + "CountryCode": "Landekode", + "CountryCode.Description": "Landekode som angivet af ISO 3166-1", + "Language": "Sprog", + "LanguageCode": "Sprogkode", + "LanguageCode.Description": "Sprogkode som angivet af ISO 639-1", + "UserID": "Bruger-ID", + "Name": "Navn", + "Description": "Beskrivelse", + "UserID.Description": "Brugers entydige ID", + "Draft_DraftAdministrativeData": "Udkast administrationsdata", + "Draft_DraftUUID": "Udkast (teknisk ID)", + "Draft_CreationDateTime": "Udkast oprettet den", + "Draft_CreatedByUser": "Udkast oprettet af", + "Draft_DraftIsCreatedByMe": "Udkast oprettet af mig", + "Draft_LastChangeDateTime": "Udkast senest ændret den", + "Draft_LastChangedByUser": "Udkast senest ændret af", + "Draft_InProcessByUser": "Udkast behandles af", + "Draft_DraftIsProcessedByMe": "Udkast behandles af mig", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "de": { + "CreatedBy": "Angelegt von", + "CreatedAt": "Angelegt am", + "ChangedBy": "Geändert von", + "ChangedAt": "Geändert am", + "Currency": "Währung", + "CurrencyCode": "Währungscode", + "CurrencyCode.Description": "Währungscode gemäß ISO 4217", + "CurrencySymbol": "Währungssymbol", + "Country": "Land", + "CountryCode": "Ländercode", + "CountryCode.Description": "Ländercode gemäß ISO 3166-1", + "Language": "Sprache", + "LanguageCode": "Sprachencode", + "LanguageCode.Description": "Sprachencode gemäß ISO 639-1", + "UserID": "Benutzer-ID", + "Name": "Name", + "Description": "Beschreibung", + "UserID.Description": "Die eindeutige ID eines Benutzers", + "Draft_DraftAdministrativeData": "Verwaltungsdaten des Entwurfs", + "Draft_DraftUUID": "Entwurf (technische ID)", + "Draft_CreationDateTime": "Entwurf angelegt am", + "Draft_CreatedByUser": "Entwurf angelegt von", + "Draft_DraftIsCreatedByMe": "Entwurf angelegt von mir", + "Draft_LastChangeDateTime": "Entwurf zuletzt geändert am", + "Draft_LastChangedByUser": "Entwurf zuletzt geändert von", + "Draft_InProcessByUser": "Entwurf in Bearbeitung durch", + "Draft_DraftIsProcessedByMe": "Entwurf in Bearbeitung durch mich", + "Books": "Bücher", + "Book": "Buch", + "ID": "ID", + "Title": "Titel", + "Author": "Autor", + "AuthorID": "ID des Autors", + "Stock": "Bestand", + "AuthorName": "Name des Autors", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Alter", + "Authors": "Autoren", + "Order": "Bestellung", + "Orders": "Bestellungen", + "Price": "Preis", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "en": { + "CreatedBy": "Created By", + "CreatedAt": "Created On", + "ChangedBy": "Changed By", + "ChangedAt": "Changed On", + "Currency": "Currency", + "CurrencyCode": "Currency Code", + "CurrencyCode.Description": "Currency code as specified by ISO 4217", + "CurrencySymbol": "Currency Symbol", + "Country": "Country", + "CountryCode": "Country Code", + "CountryCode.Description": "Country code as specified by ISO 3166-1", + "Language": "Language", + "LanguageCode": "Language Code", + "LanguageCode.Description": "Language code as specified by ISO 639-1", + "UserID": "User ID", + "Name": "Name", + "Description": "Description", + "UserID.Description": "User's unique ID", + "Draft_DraftAdministrativeData": "Draft Administrative Data", + "Draft_DraftUUID": "Draft (Technical ID)", + "Draft_CreationDateTime": "Draft Created On", + "Draft_CreatedByUser": "Draft Created By", + "Draft_DraftIsCreatedByMe": "Draft Created By Me", + "Draft_LastChangeDateTime": "Draft Last Changed On", + "Draft_LastChangedByUser": "Draft Last Changed By", + "Draft_InProcessByUser": "Draft In Process By", + "Draft_DraftIsProcessedByMe": "Draft In Process By Me", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "es": { + "CreatedBy": "Creado por", + "CreatedAt": "Fecha de creación", + "ChangedBy": "Modificado por", + "ChangedAt": "Modificado el", + "Currency": "Moneda", + "CurrencyCode": "Código de moneda", + "CurrencyCode.Description": "Código de moneda según especificado por ISO 4217", + "CurrencySymbol": "Símbolo de moneda", + "Country": "País", + "CountryCode": "Código de país", + "CountryCode.Description": "Código de país según especificado por ISO 3166-1", + "Language": "Idioma", + "LanguageCode": "Código de idioma", + "LanguageCode.Description": "Código de idioma según especificado por ISO 639-1", + "UserID": "ID de usuario", + "Name": "Nombre", + "Description": "Descripción", + "UserID.Description": "ID único de usuario", + "Draft_DraftAdministrativeData": "Datos administrativos en borrador", + "Draft_DraftUUID": "Borrador (ID técnico)", + "Draft_CreationDateTime": "Borrador creado el", + "Draft_CreatedByUser": "Borrador creado por", + "Draft_DraftIsCreatedByMe": "Borrador creado por mí", + "Draft_LastChangeDateTime": "Fecha del último cambio en borrador", + "Draft_LastChangedByUser": "Autor del último cambio en borrador", + "Draft_InProcessByUser": "Borrador en proceso por", + "Draft_DraftIsProcessedByMe": "Borrador en proceso por mí", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "fi": { + "CreatedBy": "Tekijä", + "CreatedAt": "Luontipäivämäärä", + "ChangedBy": "Muuttaja", + "ChangedAt": "Muutospäivämäärä", + "Currency": "Valuutta", + "CurrencyCode": "Valuuttakoodi", + "CurrencyCode.Description": "ISO 4217:n mukainen valuuttakoodi", + "CurrencySymbol": "Valuuttatunnus", + "Country": "Maa", + "CountryCode": "Maakoodi", + "CountryCode.Description": "ISO 3166-1:n mukainen maakoodi", + "Language": "Kieli", + "LanguageCode": "Kielikoodi", + "LanguageCode.Description": "ISO 639-1:n mukainen kielikoodi", + "UserID": "Käyttäjätunnus", + "Name": "Nimi", + "Description": "Kuvaus", + "UserID.Description": "Käyttäjän yksiselitteinen tunnus", + "Draft_DraftAdministrativeData": "Luonnoksen hallintatiedot", + "Draft_DraftUUID": "Luonnos (tekninen tunnus)", + "Draft_CreationDateTime": "Luonnos luotu", + "Draft_CreatedByUser": "Luonnoksen tekijä", + "Draft_DraftIsCreatedByMe": "Luonnos minun tekemäni", + "Draft_LastChangeDateTime": "Luonnosta muutettu viimeksi", + "Draft_LastChangedByUser": "Luonnoksen viimeisin muuttaja", + "Draft_InProcessByUser": "Luonnos käsiteltävänä -", + "Draft_DraftIsProcessedByMe": "Luonnos minun käsiteltävänäni", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "fr": { + "CreatedBy": "Créé(e) par", + "CreatedAt": "Créé(e) le", + "ChangedBy": "Modifié(e) par", + "ChangedAt": "Modifié(e) le", + "Currency": "Devise", + "CurrencyCode": "Code de devise", + "CurrencyCode.Description": "Code de devise tel qu'indiqué par ISO 4217", + "CurrencySymbol": "Symbole de devise", + "Country": "Pays", + "CountryCode": "Code pays", + "CountryCode.Description": "Code pays tel qu'indiqué par ISO 3166-1", + "Language": "Langue", + "LanguageCode": "Code langue", + "LanguageCode.Description": "Code langue tel qu'indiqué par ISO 639-1", + "UserID": "ID utilisateur", + "Name": "Nom", + "Description": "Description", + "UserID.Description": "ID unique de l'utilisateur", + "Draft_DraftAdministrativeData": "Données administratives préliminaires", + "Draft_DraftUUID": "Version préliminaire (ID technique)", + "Draft_CreationDateTime": "Version préliminaire créée le", + "Draft_CreatedByUser": "Version préliminaire créée par", + "Draft_DraftIsCreatedByMe": "Version préliminaire créée par moi", + "Draft_LastChangeDateTime": "Dernière modification de la version préliminaire le", + "Draft_LastChangedByUser": "Dernière modification de la version préliminaire par", + "Draft_InProcessByUser": "Version préliminaire en cours de traitement par", + "Draft_DraftIsProcessedByMe": "Version préliminaire en cours de traitement par moi", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "hu": { + "CreatedBy": "Létrehozó:", + "CreatedAt": "Létrehozás dátuma", + "ChangedBy": "Módosító", + "ChangedAt": "Módosítás dátuma", + "Currency": "Pénznem", + "CurrencyCode": "Pénznem kódja", + "CurrencyCode.Description": "Pénznem kódja ISO 4217 szerint", + "CurrencySymbol": "Pénznem szimbóluma", + "Country": "Ország", + "CountryCode": "Országkód", + "CountryCode.Description": "Pénznem kódja ISO 3166-1 szerint", + "Language": "Nyelv", + "LanguageCode": "Nyelvkód", + "LanguageCode.Description": "Pénznem kódja ISO 639-1 szerint", + "UserID": "Felhasználóazonosító", + "Name": "Név", + "Description": "Leírás", + "UserID.Description": "Felhasználó egyedi azonosítója", + "Draft_DraftAdministrativeData": "Adminisztrációs adatok - tervezet", + "Draft_DraftUUID": "Tervezet (műszaki azonosító)", + "Draft_CreationDateTime": "Tervezet létrehozásának dátuma", + "Draft_CreatedByUser": "Tervezet létrehozója", + "Draft_DraftIsCreatedByMe": "Általam létrehozott tervezet", + "Draft_LastChangeDateTime": "Tervezet utolsó módosításának dátuma", + "Draft_LastChangedByUser": "Tervezet utolsó módosítója", + "Draft_InProcessByUser": "Tervezet feldolgozás alatt, feldolgozó neve", + "Draft_DraftIsProcessedByMe": "Tervezet feldolgozás alatt általam", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "it": { + "CreatedBy": "Autore creazione", + "CreatedAt": "Data di creazione", + "ChangedBy": "Autore modifica", + "ChangedAt": "Data di modifica", + "Currency": "Divisa", + "CurrencyCode": "Codice divisa", + "CurrencyCode.Description": "Codice divisa come indicato da ISO 4217", + "CurrencySymbol": "Simbolo divisa", + "Country": "Paese", + "CountryCode": "Codice paese", + "CountryCode.Description": "Codice paese come indicato da ISO 3166-1", + "Language": "Lingua", + "LanguageCode": "Codice lingua", + "LanguageCode.Description": "Codice lingua come indicato da ISO 639-1", + "UserID": "ID utente", + "Name": "Nome", + "Description": "Descrizione", + "UserID.Description": "ID univoco utente", + "Draft_DraftAdministrativeData": "Dati amministrativi bozza", + "Draft_DraftUUID": "Bozza (ID tecnico)", + "Draft_CreationDateTime": "Data di creazione bozza", + "Draft_CreatedByUser": "Autore creazione bozza", + "Draft_DraftIsCreatedByMe": "Bozza creata da me", + "Draft_LastChangeDateTime": "Ultima modifica bozza", + "Draft_LastChangedByUser": "Autore dell'ultima modifica bozza", + "Draft_InProcessByUser": "Bozza attualmente elaborata da", + "Draft_DraftIsProcessedByMe": "Bozza attualmente elaborata da me", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "ja": { + "CreatedBy": "登録者", + "CreatedAt": "作成時間", + "ChangedBy": "変更者", + "ChangedAt": "変更日付", + "Currency": "通貨", + "CurrencyCode": "通貨コード", + "CurrencyCode.Description": "ISO 4217 で指定されている通貨コード", + "CurrencySymbol": "通貨シンボル", + "Country": "国", + "CountryCode": "国コード", + "CountryCode.Description": "ISO 3166-1 で指定されている通貨コード", + "Language": "言語", + "LanguageCode": "言語コード", + "LanguageCode.Description": "ISO 639-1 で指定されている言語コード", + "UserID": "ユーザ ID", + "Name": "名前", + "Description": "説明", + "UserID.Description": "ユーザの一意の ID", + "Draft_DraftAdministrativeData": "ドラフト管理データ", + "Draft_DraftUUID": "ドラフト (技術 ID)", + "Draft_CreationDateTime": "ドラフト作成日付", + "Draft_CreatedByUser": "ドラフト作成者", + "Draft_DraftIsCreatedByMe": "自分が作成したドラフト", + "Draft_LastChangeDateTime": "ドラフト最終変更日付", + "Draft_LastChangedByUser": "ドラフト最終変更者", + "Draft_InProcessByUser": "処理中ドラフトの処理者", + "Draft_DraftIsProcessedByMe": "自分が処理しているドラフト", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "ko": { + "CreatedBy": "생성자", + "CreatedAt": "생성일", + "ChangedBy": "변경자", + "ChangedAt": "변경일", + "Currency": "통화", + "CurrencyCode": "통화 코드", + "CurrencyCode.Description": "ISO 4217에서 지정한 통화 코드", + "CurrencySymbol": "통화 기호", + "Country": "국가", + "CountryCode": "국가 코드", + "CountryCode.Description": "ISO 3166-1에서 지정한 국가 코드", + "Language": "언어", + "LanguageCode": "언어 코드", + "LanguageCode.Description": "ISO 639-1에서 지정한 언어 코드", + "UserID": "사용자 ID", + "Name": "이름", + "Description": "내역", + "UserID.Description": "사용자 고유 ID", + "Draft_DraftAdministrativeData": "드래프트 관리 데이터", + "Draft_DraftUUID": "드래프트(기술 ID)", + "Draft_CreationDateTime": "드래프트 생성일", + "Draft_CreatedByUser": "드래프트 생성자", + "Draft_DraftIsCreatedByMe": "내가 생성한 드래프트", + "Draft_LastChangeDateTime": "드래프트 최종 변경일", + "Draft_LastChangedByUser": "드래프트 최종 변경자", + "Draft_InProcessByUser": "드래프트 처리 중인 사용자", + "Draft_DraftIsProcessedByMe": "내가 처리 중인 드래프트", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "ms": { + "CreatedBy": "Dicipta oleh", + "CreatedAt": "Dicipta pada", + "ChangedBy": "Diubah oleh", + "ChangedAt": "Diubah pada", + "Currency": "Mata Wang", + "CurrencyCode": "Kod Mata Wang", + "CurrencyCode.Description": "Kod mata wang seperti yang dinyatakan dalam ISO 4217", + "CurrencySymbol": "Simbol Mata Wang", + "Country": "Negara", + "CountryCode": "Kod Negara", + "CountryCode.Description": "Kod mata wang seperti yang dinyatakan dalam ISO 3166-1", + "Language": "Bahasa", + "LanguageCode": "Kod Bahasa", + "LanguageCode.Description": "Kod bahasa seperti yang dinyatakan dalam ISO 639-1", + "UserID": "ID Pengguna", + "Name": "Nama", + "Description": "Perihalan", + "UserID.Description": "ID unik pengguna", + "Draft_DraftAdministrativeData": "Data Pentadbiran Draf", + "Draft_DraftUUID": "Draf (ID Teknikal)", + "Draft_CreationDateTime": "Draf Dicipta pada", + "Draft_CreatedByUser": "Draf Dicipta oleh", + "Draft_DraftIsCreatedByMe": "Draf Dicipta oleh Saya", + "Draft_LastChangeDateTime": "Draf Terakhir Diubah pada", + "Draft_LastChangedByUser": "Draf Terakhir Diubah oleh", + "Draft_InProcessByUser": "Draf Sedang Diproses oleh", + "Draft_DraftIsProcessedByMe": "Draf Sedang Diproses oleh Saya", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "nl": { + "CreatedBy": "Gecreëerd door", + "CreatedAt": "Gecreëerd op", + "ChangedBy": "Gewijzigd door", + "ChangedAt": "Gewijzigd op", + "Currency": "Valuta", + "CurrencyCode": "Valutacode", + "CurrencyCode.Description": "Valutacode zoals gespecificeerd door ISO 4217", + "CurrencySymbol": "Valutasymbool", + "Country": "Land", + "CountryCode": "Landcode", + "CountryCode.Description": "Landcode zoals gespecificeerd door ISO 3166-1", + "Language": "Taal", + "LanguageCode": "Taalcode", + "LanguageCode.Description": "Taalcode zoals gespecificeerd door ISO 639-1", + "UserID": "Gebruikers-ID", + "Name": "Naam", + "Description": "Omschrijving", + "UserID.Description": "Unieke ID van gebruiker", + "Draft_DraftAdministrativeData": "Conceptbeheergegevens", + "Draft_DraftUUID": "Concept (technische ID)", + "Draft_CreationDateTime": "Concept gecreëerd op", + "Draft_CreatedByUser": "Concept gecreëerd door", + "Draft_DraftIsCreatedByMe": "Concept gecreëerd door mij", + "Draft_LastChangeDateTime": "Concept laatst gewijzigd op", + "Draft_LastChangedByUser": "Concept laatst gewijzigd door", + "Draft_InProcessByUser": "Concept wordt bewerkt door", + "Draft_DraftIsProcessedByMe": "Concept wordt bewerkt door mij", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "no": { + "CreatedBy": "Opprettet av", + "CreatedAt": "Opprettet den", + "ChangedBy": "Endret av", + "ChangedAt": "Endret den", + "Currency": "Valuta", + "CurrencyCode": "Valutakode", + "CurrencyCode.Description": "Valutakode som definert i ISO 4217", + "CurrencySymbol": "Valutasymbol", + "Country": "Land", + "CountryCode": "Landkode", + "CountryCode.Description": "Valutakode som definert i ISO 3166-1", + "Language": "Språk", + "LanguageCode": "Språkkode", + "LanguageCode.Description": "Språkkode som definert i ISO 639-1", + "UserID": "Bruker-ID", + "Name": "Navn", + "Description": "Beskrivelse", + "UserID.Description": "Brukerens unike ID", + "Draft_DraftAdministrativeData": "Administrative data for utkast", + "Draft_DraftUUID": "Utkast (teknisk ID)", + "Draft_CreationDateTime": "Utkast opprettet den", + "Draft_CreatedByUser": "Utkast opprettet av", + "Draft_DraftIsCreatedByMe": "Utkast opprettet av meg", + "Draft_LastChangeDateTime": "Utkast sist endret den", + "Draft_LastChangedByUser": "Utkast sist endret av", + "Draft_InProcessByUser": "Utkast under behandling av", + "Draft_DraftIsProcessedByMe": "Utkast under behandling av meg", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "pl": { + "CreatedBy": "Utworzone przez", + "CreatedAt": "Utworzono dnia", + "ChangedBy": "Zmienione przez", + "ChangedAt": "Zmieniono dnia", + "Currency": "Waluta", + "CurrencyCode": "Kod waluty", + "CurrencyCode.Description": "Kod waluty określony zgodnie z normą ISO 4217", + "CurrencySymbol": "Symbol waluty", + "Country": "Kraj", + "CountryCode": "Kod kraju", + "CountryCode.Description": "Kod kraju określony zgodnie z normą ISO 3166-1", + "Language": "Język", + "LanguageCode": "Kod języka", + "LanguageCode.Description": "Kod języka określony zgodnie z normą ISO 639-1", + "UserID": "Identyfikator użytkownika", + "Name": "Nazwa", + "Description": "Opis", + "UserID.Description": "Unikalny identyfikator użytkownika", + "Draft_DraftAdministrativeData": "Dane administracyjne wersji roboczej", + "Draft_DraftUUID": "Wersja robocza (identyfikator techniczny)", + "Draft_CreationDateTime": "Wersja robocza utworzona dnia", + "Draft_CreatedByUser": "Wersja robocza utworzona przez", + "Draft_DraftIsCreatedByMe": "Wersja robocza utworzona przeze mnie", + "Draft_LastChangeDateTime": "Wersja robocza ostatnio zmieniona dnia", + "Draft_LastChangedByUser": "Wersja robocza ostatnio zmieniona przez", + "Draft_InProcessByUser": "Wersja robocza w przetwarzaniu przez", + "Draft_DraftIsProcessedByMe": "Wersja robocza w przetwarzaniu przeze mnie", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "pt": { + "CreatedBy": "Criado por", + "CreatedAt": "Criado em", + "ChangedBy": "Modificado por", + "ChangedAt": "Modificado em", + "Currency": "Moeda", + "CurrencyCode": "Código de moeda", + "CurrencyCode.Description": "Código de moeda como especificado pelo ISO 4217", + "CurrencySymbol": "Símbolo da moeda", + "Country": "País", + "CountryCode": "Código do país", + "CountryCode.Description": "Código do país como especificado pelo ISO 3166-1", + "Language": "Idioma", + "LanguageCode": "Código de idioma", + "LanguageCode.Description": "Código de idioma como especificado pelo ISO 639-1", + "UserID": "ID do usuário", + "Name": "Nome", + "Description": "Descrição", + "UserID.Description": "ID exclusivo do usuário", + "Draft_DraftAdministrativeData": "Dados administrativos de rascunho", + "Draft_DraftUUID": "Rascunho (ID técnico)", + "Draft_CreationDateTime": "Rascunho criado em", + "Draft_CreatedByUser": "Rascunho criado por", + "Draft_DraftIsCreatedByMe": "Rascunho criado por mim", + "Draft_LastChangeDateTime": "Última modificação do rascunho em", + "Draft_LastChangedByUser": "Última modificação do rascunho por", + "Draft_InProcessByUser": "Rascunho sendo processado por", + "Draft_DraftIsProcessedByMe": "Rascunho sendo processado por mim", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "ro": { + "CreatedBy": "Creat de", + "CreatedAt": "Creat pe", + "ChangedBy": "Modificat de", + "ChangedAt": "Modificat pe", + "Currency": "Monedă", + "CurrencyCode": "Cod monedă", + "CurrencyCode.Description": "Cod monedă așa cum este specificat de ISO 4217", + "CurrencySymbol": "Simbol monedă", + "Country": "Țară", + "CountryCode": "Cod de țară", + "CountryCode.Description": "Cod de țară așa cum este specificat de ISO 3166-1", + "Language": "Limbă", + "LanguageCode": "Cod de limbă", + "LanguageCode.Description": "Cod de limbă așa cum este specificat de ISO 639-1", + "UserID": "ID utilizator", + "Name": "Nume", + "Description": "Descriere", + "UserID.Description": "ID unic utilizator", + "Draft_DraftAdministrativeData": "Date de administrare în versiune preliminară", + "Draft_DraftUUID": "Versiune preliminară (ID tehnic)", + "Draft_CreationDateTime": "Versiune preliminară creată pe", + "Draft_CreatedByUser": "Versiune preliminară creată de", + "Draft_DraftIsCreatedByMe": "Versiune preliminară creată de mine", + "Draft_LastChangeDateTime": "Versiune preliminară modificată ultima dată pe", + "Draft_LastChangedByUser": "Versiune preliminară modificată ultima dată de", + "Draft_InProcessByUser": "Versiune preliminară în prelucrare de", + "Draft_DraftIsProcessedByMe": "Versiune preliminară în prelucrare de mine", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "ru": { + "CreatedBy": "Создал", + "CreatedAt": "Дата создания", + "ChangedBy": "Автор изменения", + "ChangedAt": "Дата изменения", + "Currency": "Валюта", + "CurrencyCode": "Код валюты", + "CurrencyCode.Description": "Код валюты в соответствии с ISO 4217", + "CurrencySymbol": "Символ валюты", + "Country": "Страна", + "CountryCode": "Код страны", + "CountryCode.Description": "Код страны в соответствии с ISO 3166-1", + "Language": "Язык", + "LanguageCode": "Код языка", + "LanguageCode.Description": "Код языка в соответствии с ISO 639-1", + "UserID": "Ид. пользователя", + "Name": "Имя", + "Description": "Описание", + "UserID.Description": "Уникальный ид. пользователя", + "Draft_DraftAdministrativeData": "Черновик административных данных", + "Draft_DraftUUID": "Черновик (технический ид.)", + "Draft_CreationDateTime": "Дата создания черновика", + "Draft_CreatedByUser": "Создал черновик", + "Draft_DraftIsCreatedByMe": "Черновик создан мной", + "Draft_LastChangeDateTime": "Дата последнего изменения черновика", + "Draft_LastChangedByUser": "Изменил черновик", + "Draft_InProcessByUser": "Обрабатывает черновик", + "Draft_DraftIsProcessedByMe": "Черновик обрабатывается мной", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "sv": { + "CreatedBy": "Uppläggning av", + "CreatedAt": "Uppläggning den", + "ChangedBy": "Ändring av", + "ChangedAt": "Ändring den", + "Currency": "Valuta", + "CurrencyCode": "Valutakod", + "CurrencyCode.Description": "Valutakod enligt ISO 4217", + "CurrencySymbol": "Valutasymbol", + "Country": "Land", + "CountryCode": "Landskod", + "CountryCode.Description": "Landskod enligt ISO 3166-1", + "Language": "Språk", + "LanguageCode": "Språkkod", + "LanguageCode.Description": "Språkkod enligt ISO 639-1", + "UserID": "Användar-ID", + "Name": "Namn", + "Description": "Beskrivning", + "UserID.Description": "Unik användar-ID", + "Draft_DraftAdministrativeData": "Utkast för administrativa data", + "Draft_DraftUUID": "Utkast (teknisk ID)", + "Draft_CreationDateTime": "Utkast skapat den", + "Draft_CreatedByUser": "Utkast skapat av", + "Draft_DraftIsCreatedByMe": "Utkast skapat av mig", + "Draft_LastChangeDateTime": "Senaste utkaständring den", + "Draft_LastChangedByUser": "Senaste utkaständring av", + "Draft_InProcessByUser": "Utkast under bearbetning av", + "Draft_DraftIsProcessedByMe": "Utkast under bearbetning av mig", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "th": { + "CreatedBy": "สร้างโดย", + "CreatedAt": "สร้างเมื่อ", + "ChangedBy": "เปลี่ยนแปลงโดย", + "ChangedAt": "เปลี่ยนแปลงเมื่อ", + "Currency": "สกุลเงิน", + "CurrencyCode": "รหัสสกุลเงิน", + "CurrencyCode.Description": "รหัสสกุลเงินตามที่ระบุใน ISO 4217", + "CurrencySymbol": "สัญลักษณ์สกุลเงิน", + "Country": "ประเทศ", + "CountryCode": "รหัสประเทศ", + "CountryCode.Description": "รหัสประเทศตามที่ระบุใน ISO 3166-1", + "Language": "ภาษา", + "LanguageCode": "รหัสภาษา", + "LanguageCode.Description": "รหัสภาษาตามที่ระบุใน ISO 639-1", + "UserID": "ID ผู้ใช้", + "Name": "ชื่อ", + "Description": "คำอธิบาย", + "UserID.Description": "ID ที่ไม่ซ้ำของผู้ใช้", + "Draft_DraftAdministrativeData": "ข้อมูลด้านการบริหารสำหรับแบบร่าง", + "Draft_DraftUUID": "แบบร่าง (ID ทางเทคนิค)", + "Draft_CreationDateTime": "สร้างแบบร่างเมื่อ", + "Draft_CreatedByUser": "สร้างแบบร่างโดย", + "Draft_DraftIsCreatedByMe": "แบบร่างที่ฉันสร้างขึ้น", + "Draft_LastChangeDateTime": "เปลี่ยนแปลงแบบร่างครั้งล่าสุดเมื่อ", + "Draft_LastChangedByUser": "เปลี่ยนแปลงแบบร่างครั้งล่าสุดโดย", + "Draft_InProcessByUser": "แบบร่างอยู่ระหว่างดำเนินการโดย", + "Draft_DraftIsProcessedByMe": "แบบร่างที่ฉันกำลังดำเนินการ", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "tr": { + "CreatedBy": "Oluşturan", + "CreatedAt": "Oluşturma tarihi", + "ChangedBy": "Değiştiren", + "ChangedAt": "Değişiklik tarihi", + "Currency": "Para birimi", + "CurrencyCode": "Para birimi kodu", + "CurrencyCode.Description": "ISO 4217 tarafından belirtilen para birimi kodu", + "CurrencySymbol": "Para birimi sembolü", + "Country": "Ülke", + "CountryCode": "Ülke kodu", + "CountryCode.Description": "ISO 3166-1 tarafından belirtilen ülke kodu", + "Language": "Dil", + "LanguageCode": "Dil kodu", + "LanguageCode.Description": "ISO 639-1 tarafından belirtilen dil kodu", + "UserID": "Kullanıcı tanıtıcısı", + "Name": "Ad", + "Description": "Tanım", + "UserID.Description": "Kullanıcının benzersiz tanıtıcısı", + "Draft_DraftAdministrativeData": "Taslak yönetim verileri", + "Draft_DraftUUID": "Taslak (teknik tanıtıcı)", + "Draft_CreationDateTime": "Taslak oluşturma tarihi", + "Draft_CreatedByUser": "Taslağı oluşturan", + "Draft_DraftIsCreatedByMe": "Tarafımdan oluşturulan taslak", + "Draft_LastChangeDateTime": "Taslağın son değişiklik tarihi", + "Draft_LastChangedByUser": "Taslağı son değiştiren", + "Draft_InProcessByUser": "Taslağı işleyen", + "Draft_DraftIsProcessedByMe": "Tarafımdan işlenen taslak", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "zh_CN": { + "CreatedBy": "创建者", + "CreatedAt": "创建日期", + "ChangedBy": "更改者", + "ChangedAt": "更改日期", + "Currency": "货币", + "CurrencyCode": "货币代码", + "CurrencyCode.Description": "ISO 4217 指定的货币代码", + "CurrencySymbol": "货币符号", + "Country": "国家/地区", + "CountryCode": "国家/地区代码", + "CountryCode.Description": "ISO 3166-1 指定的国家/地区代码", + "Language": "语言", + "LanguageCode": "语言代码", + "LanguageCode.Description": "ISO 639-1 指定的语言代码", + "UserID": "用户标识", + "Name": "名称", + "Description": "描述", + "UserID.Description": "用户的唯一标识", + "Draft_DraftAdministrativeData": "草稿管理数据", + "Draft_DraftUUID": "草稿(技术标识)", + "Draft_CreationDateTime": "草稿创建日期", + "Draft_CreatedByUser": "草稿创建人", + "Draft_DraftIsCreatedByMe": "草稿由我创建", + "Draft_LastChangeDateTime": "草稿上次更改日期", + "Draft_LastChangedByUser": "草稿上次更改者", + "Draft_InProcessByUser": "正在处理草稿者", + "Draft_DraftIsProcessedByMe": "草稿正在由我处理", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + }, + "zh_TW": { + "CreatedBy": "建立者", + "CreatedAt": "建立日期", + "ChangedBy": "更改者", + "ChangedAt": "更改日期", + "Currency": "幣別", + "CurrencyCode": "幣別代碼", + "CurrencyCode.Description": "已按 ISO 4217 指定公司代碼", + "CurrencySymbol": "幣別符號", + "Country": "國家", + "CountryCode": "國家代碼", + "CountryCode.Description": "已按 ISO 3166-1 指定公司代碼", + "Language": "語言", + "LanguageCode": "語言代碼", + "LanguageCode.Description": "已按 ISO 639-1 指定公司代碼", + "UserID": "使用者 ID", + "Name": "名稱", + "Description": "說明", + "UserID.Description": "使用者專屬 ID", + "Draft_DraftAdministrativeData": "草稿管理資料", + "Draft_DraftUUID": "草稿 (技術 ID)", + "Draft_CreationDateTime": "草稿建立日期", + "Draft_CreatedByUser": "草稿建立者", + "Draft_DraftIsCreatedByMe": "我所建立的草稿", + "Draft_LastChangeDateTime": "草稿的上次更改日期", + "Draft_LastChangedByUser": "草稿的上次更改者", + "Draft_InProcessByUser": "正在處理草稿的人員", + "Draft_DraftIsProcessedByMe": "我正在處理的草稿", + "Books": "Books", + "Book": "Book", + "ID": "ID", + "Title": "Title", + "Author": "Author", + "AuthorID": "Author ID", + "Stock": "Stock", + "AuthorName": "Author's Name", + "DateOfBirth": "Date of Birth", + "DateOfDeath": "Date of Death", + "PlaceOfBirth": "Place of Birth", + "PlaceOfDeath": "Place of Death", + "Age": "Age", + "Authors": "Authors", + "Order": "Order", + "Orders": "Orders", + "Price": "Price", + "Genre": "Genre", + "Genres": "Genres", + "SubGenres": "Sub Genres", + "NumCode": "Numeric Code", + "MinorUnit": "Minor Unit", + "Exponent": "Exponent" + } +} \ No newline at end of file diff --git a/node_modules/_base/app/admin/fiori-service.cds b/node_modules/_base/app/admin/fiori-service.cds new file mode 100644 index 00000000..8e97fdbe --- /dev/null +++ b/node_modules/_base/app/admin/fiori-service.cds @@ -0,0 +1,93 @@ +using { AdminService } from '../../db/schema'; + +//////////////////////////////////////////////////////////////////////////// +// +// Books Object Page +// + +annotate AdminService.Books with @( + UI: { + Facets: [ + {$Type: 'UI.ReferenceFacet', Label: '{i18n>General}', Target: '@UI.FieldGroup#General'}, + {$Type: 'UI.ReferenceFacet', Label: '{i18n>Translations}', Target: 'texts/@UI.LineItem'}, + {$Type: 'UI.ReferenceFacet', Label: '{i18n>Details}', Target: '@UI.FieldGroup#Details'}, + {$Type: 'UI.ReferenceFacet', Label: '{i18n>Admin}', Target: '@UI.FieldGroup#Admin'}, + ], + FieldGroup#General: { + Data: [ + {Value: title}, + {Value: author_ID}, + {Value: genre_ID}, + {Value: descr}, + ] + }, + FieldGroup#Details: { + Data: [ + {Value: stock}, + {Value: price}, + {Value: currency_code, Label: '{i18n>Currency}'}, + ] + }, + FieldGroup#Admin: { + Data: [ + {Value: createdBy}, + {Value: createdAt}, + {Value: modifiedBy}, + {Value: modifiedAt} + ] + } + } +); + +annotate AdminService.Authors with @( + UI: { + HeaderInfo: { + Description: {Value: lifetime} + }, + Facets: [ + {$Type: 'UI.ReferenceFacet', Label: '{i18n>Details}', Target: '@UI.FieldGroup#Details'}, + {$Type: 'UI.ReferenceFacet', Label: '{i18n>Books}', Target: 'books/@UI.LineItem'}, + ], + FieldGroup#Details: { + Data: [ + {Value: placeOfBirth}, + {Value: placeOfDeath}, + {Value: dateOfBirth}, + {Value: dateOfDeath}, + {Value: age, Label: '{i18n>Age}'}, + ] + }, + } +); + + + +//////////////////////////////////////////////////////////// +// +// Draft for Localized Data +// + +annotate sap.capire.bookshop.Books with @fiori.draft.enabled; +annotate AdminService.Books with @odata.draft.enabled; + +annotate AdminService.Books_texts with @( + UI: { + Identification: [{Value:title}], + SelectionFields: [ locale, title ], + LineItem: [ + {Value: locale, Label: 'Locale'}, + {Value: title, Label: 'Title'}, + {Value: descr, Label: 'Description'}, + ] + } +); + +// Add Value Help for Locales +annotate AdminService.Books_texts { + locale @ValueList:{entity:'Languages',type:#fixed} +} +// In addition we need to expose Languages through AdminService +using { sap } from '@sap/cds/common'; +extend service AdminService { + entity Languages as projection on sap.common.Languages; +} diff --git a/node_modules/_base/app/browse/fiori-service.cds b/node_modules/_base/app/browse/fiori-service.cds new file mode 100644 index 00000000..3605a117 --- /dev/null +++ b/node_modules/_base/app/browse/fiori-service.cds @@ -0,0 +1,50 @@ +using CatalogService from '../../srv/cat-service'; + +//////////////////////////////////////////////////////////////////////////// +// +// Books Object Page +// +annotate CatalogService.Books with @( + UI: { + HeaderInfo: { + TypeName: 'Book', + TypeNamePlural: 'Books', + Description: {Value: author} + }, + HeaderFacets: [ + {$Type: 'UI.ReferenceFacet', Label: '{i18n>Description}', Target: '@UI.FieldGroup#Descr'}, + ], + Facets: [ + {$Type: 'UI.ReferenceFacet', Label: '{i18n>Details}', Target: '@UI.FieldGroup#Price'}, + ], + FieldGroup#Descr: { + Data: [ + {Value: descr}, + ] + }, + FieldGroup#Price: { + Data: [ + {Value: price}, + {Value: currency.symbol, Label: '{i18n>Currency}'}, + ] + }, + } +); + + +//////////////////////////////////////////////////////////////////////////// +// +// Books Object Page +// +annotate CatalogService.Books with @( + UI: { + SelectionFields: [ ID, price, currency_code ], + LineItem: [ + {Value: title}, + {Value: author, Label:'{i18n>Author}'}, + {Value: genre.name}, + {Value: price}, + {Value: currency.symbol, Label:' '}, + ] + }, +); diff --git a/node_modules/_base/app/common.cds b/node_modules/_base/app/common.cds new file mode 100644 index 00000000..f5aa7387 --- /dev/null +++ b/node_modules/_base/app/common.cds @@ -0,0 +1,257 @@ +/* + Common Annotations shared by all apps +*/ + +using { sap.capire.bookshop as my } from '../db/schema'; +using { sap.common } from '../db/capire_common'; + +//////////////////////////////////////////////////////////////////////////// +// +// Books Lists +// +annotate my.Books with @( + Common.SemanticKey: [title], + UI: { + Identification: [{Value:title}], + SelectionFields: [ ID, author_ID, price, currency_code ], + LineItem: [ + {Value: ID}, + {Value: title}, + {Value: author.name, Label:'{i18n>Author}'}, + {Value: genre.name}, + {Value: stock}, + {Value: price}, + {Value: currency.symbol, Label:' '}, + ] + } +) { + author @ValueList.entity:'Authors'; +}; + +//////////////////////////////////////////////////////////////////////////// +// +// Books Details +// +annotate my.Books with @( + UI: { + HeaderInfo: { + TypeName: '{i18n>Book}', + TypeNamePlural: '{i18n>Books}', + Title: {Value: title}, + Description: {Value: author.name} + }, + } +); + + + +//////////////////////////////////////////////////////////////////////////// +// +// Books Elements +// +annotate my.Books with { + ID @title:'{i18n>ID}' @UI.HiddenFilter; + title @title:'{i18n>Title}'; + genre @title:'{i18n>Genre}' @Common: { Text: genre.name, TextArrangement: #TextOnly }; + author @title:'{i18n>Author}' @Common: { Text: author.name, TextArrangement: #TextOnly }; + price @title:'{i18n>Price}'; + stock @title:'{i18n>Stock}'; + descr @UI.MultiLineText; +} + +//////////////////////////////////////////////////////////////////////////// +// +// Genres List +// +annotate my.Genres with @( + Common.SemanticKey: [name], + UI: { + SelectionFields: [ name ], + LineItem:[ + {Value: name}, + {Value: parent.name, Label: 'Main Genre'}, + ], + } +); + +//////////////////////////////////////////////////////////////////////////// +// +// Genre Details +// +annotate my.Genres with @( + UI: { + Identification: [{Value:name}], + HeaderInfo: { + TypeName: '{i18n>Genre}', + TypeNamePlural: '{i18n>Genres}', + Title: {Value: name}, + Description: {Value: ID} + }, + Facets: [ + {$Type: 'UI.ReferenceFacet', Label: '{i18n>SubGenres}', Target: 'children/@UI.LineItem'}, + ], + } +); + +//////////////////////////////////////////////////////////////////////////// +// +// Genres Elements +// +annotate my.Genres with { + ID @title: '{i18n>ID}'; + name @title: '{i18n>Genre}'; +} + +//////////////////////////////////////////////////////////////////////////// +// +// Authors List +// +annotate my.Authors with @( + Common.SemanticKey: [name], + UI: { + Identification: [{Value:name}], + SelectionFields: [ name ], + LineItem:[ + {Value: ID}, + {Value: name}, + {Value: dateOfBirth}, + {Value: dateOfDeath}, + {Value: placeOfBirth}, + {Value: placeOfDeath}, + ], + } +); + +//////////////////////////////////////////////////////////////////////////// +// +// Author Details +// +annotate my.Authors with @( + UI: { + HeaderInfo: { + TypeName: '{i18n>Author}', + TypeNamePlural: '{i18n>Authors}', + Title: {Value: name}, + Description: {Value: dateOfBirth} + }, + Facets: [ + {$Type: 'UI.ReferenceFacet', Target: 'books/@UI.LineItem'}, + ], + } +); + + +//////////////////////////////////////////////////////////////////////////// +// +// Authors Elements +// +annotate my.Authors with { + ID @title:'{i18n>ID}' @UI.HiddenFilter; + name @title:'{i18n>Name}'; + dateOfBirth @title:'{i18n>DateOfBirth}'; + dateOfDeath @title:'{i18n>DateOfDeath}'; + placeOfBirth @title:'{i18n>PlaceOfBirth}'; + placeOfDeath @title:'{i18n>PlaceOfDeath}'; +} + +//////////////////////////////////////////////////////////////////////////// +// +// Languages List +// +annotate common.Languages with @( + Common.SemanticKey: [code], + Identification: [{Value:code}], + UI: { + SelectionFields: [ name, descr ], + LineItem:[ + {Value: code}, + {Value: name}, + ], + } +); + +//////////////////////////////////////////////////////////////////////////// +// +// Language Details +// +annotate common.Languages with @( + UI: { + HeaderInfo: { + TypeName: '{i18n>Language}', + TypeNamePlural: '{i18n>Languages}', + Title: {Value: name}, + Description: {Value: descr} + }, + Facets: [ + {$Type: 'UI.ReferenceFacet', Label: '{i18n>Details}', Target: '@UI.FieldGroup#Details'}, + ], + FieldGroup#Details: { + Data: [ + {Value: code}, + {Value: name}, + {Value: descr} + ] + }, + } +); + +//////////////////////////////////////////////////////////////////////////// +// +// Currencies List +// +annotate common.Currencies with @( + Common.SemanticKey: [code], + Identification: [{Value:code}], + UI: { + SelectionFields: [ name, descr ], + LineItem:[ + {Value: descr}, + {Value: symbol}, + {Value: code}, + ], + } +); + +//////////////////////////////////////////////////////////////////////////// +// +// Currency Details +// +annotate common.Currencies with @( + UI: { + HeaderInfo: { + TypeName: '{i18n>Currency}', + TypeNamePlural: '{i18n>Currencies}', + Title: {Value: descr}, + Description: {Value: code} + }, + Facets: [ + {$Type: 'UI.ReferenceFacet', Label: '{i18n>Details}', Target: '@UI.FieldGroup#Details'}, + {$Type: 'UI.ReferenceFacet', Label: '{i18n>Extended}', Target: '@UI.FieldGroup#Extended'}, + ], + FieldGroup#Details: { + Data: [ + {Value: name}, + {Value: symbol}, + {Value: code}, + {Value: descr} + ] + }, + FieldGroup#Extended: { + Data: [ + {Value: numcode}, + {Value: minor}, + {Value: exponent} + ] + }, + } +); + +//////////////////////////////////////////////////////////////////////////// +// +// Currencies Elements +// +annotate common.Currencies with { + numcode @title:'{i18n>NumCode}'; + minor @title:'{i18n>MinorUnit}'; + exponent @title:'{i18n>Exponent}'; +} diff --git a/node_modules/_base/app/orders/fiori-service.cds b/node_modules/_base/app/orders/fiori-service.cds new file mode 100644 index 00000000..e58c8ccd --- /dev/null +++ b/node_modules/_base/app/orders/fiori-service.cds @@ -0,0 +1,92 @@ + + +//////////////////////////////////////////////////////////////////////////// +// +// Note: this is designed for the OrdersService being co-located with +// bookshop. It does not work if OrdersService is run as a separate +// process, and is not intended to do so. +// +//////////////////////////////////////////////////////////////////////////// + + + +using { OrdersService } from '../../srv/orders-service'; + + +@odata.draft.enabled +annotate OrdersService.Orders with @( + UI: { + SelectionFields: [ createdAt, createdBy ], + LineItem: [ + {Value: OrderNo, Label:'OrderNo'}, + {Value: buyer, Label:'Customer'}, + {Value: createdAt, Label:'Date'} + ], + HeaderInfo: { + TypeName: 'Order', TypeNamePlural: 'Orders', + Title: { + Label: 'Order number ', //A label is possible but it is not considered on the ObjectPage yet + Value: OrderNo + }, + Description: {Value: createdBy} + }, + Identification: [ //Is the main field group + {Value: createdBy, Label:'Customer'}, + {Value: createdAt, Label:'Date'}, + {Value: OrderNo }, + ], + HeaderFacets: [ + {$Type: 'UI.ReferenceFacet', Label: '{i18n>Created}', Target: '@UI.FieldGroup#Created'}, + {$Type: 'UI.ReferenceFacet', Label: '{i18n>Modified}', Target: '@UI.FieldGroup#Modified'}, + ], + Facets: [ + {$Type: 'UI.ReferenceFacet', Label: '{i18n>Details}', Target: '@UI.FieldGroup#Details'}, + {$Type: 'UI.ReferenceFacet', Label: '{i18n>OrderItems}', Target: 'Items/@UI.LineItem'}, + ], + FieldGroup#Details: { + Data: [ + {Value: currency.code, Label:'Currency'} + ] + }, + FieldGroup#Created: { + Data: [ + {Value: createdBy}, + {Value: createdAt}, + ] + }, + FieldGroup#Modified: { + Data: [ + {Value: modifiedBy}, + {Value: modifiedAt}, + ] + }, + }, +) { + createdAt @UI.HiddenFilter:false; + createdBy @UI.HiddenFilter:false; +}; + + + +annotate OrdersService.Orders_Items with @( + UI: { + LineItem: [ + {Value: product_ID, Label:'Product ID'}, + {Value: title, Label:'Product Title'}, + {Value: price, Label:'Unit Price'}, + {Value: amount, Label:'Quantity'}, + ], + Identification: [ //Is the main field group + {Value: amount, Label:'Amount'}, + {Value: title, Label:'Product'}, + {Value: price, Label:'Unit Price'}, + ], + Facets: [ + {$Type: 'UI.ReferenceFacet', Label: '{i18n>OrderItems}', Target: '@UI.Identification'}, + ], + }, +) { + amount @( + Common.FieldControl: #Mandatory + ); +}; diff --git a/node_modules/_base/app/services.cds b/node_modules/_base/app/services.cds new file mode 100644 index 00000000..ea0e3019 --- /dev/null +++ b/node_modules/_base/app/services.cds @@ -0,0 +1,11 @@ +/* + This model controls what gets served to Fiori frontends... +*/ + +using from './admin/fiori-service'; +using from './browse/fiori-service'; +using from './orders/fiori-service'; +using from './common'; + +using from '../db/capire_common'; + diff --git a/node_modules/_base/db/capire_common.cds b/node_modules/_base/db/capire_common.cds new file mode 100644 index 00000000..1727299b --- /dev/null +++ b/node_modules/_base/db/capire_common.cds @@ -0,0 +1,46 @@ +using { sap } from '@sap/cds/common'; + + +extend sap.common.Currencies with { + // Currencies.code = ISO 4217 alphabetic three-letter code + // with the first two letters being equal to ISO 3166 alphabetic country codes + // See also: + // [1] https://www.iso.org/iso-4217-currency-codes.html + // [2] https://www.currency-iso.org/en/home/tables/table-a1.html + // [3] https://www.ibm.com/support/knowledgecenter/en/SSZLC2_7.0.0/com.ibm.commerce.payments.developer.doc/refs/rpylerl2mst97.htm + numcode : Integer; + exponent : Integer; //> e.g. 2 --> 1 Dollar = 10^2 Cent + minor : String; //> e.g. 'Cent' +} + + +/** + * 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; + */ + +context 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; + } + +} diff --git a/node_modules/_base/db/schema.cds b/node_modules/_base/db/schema.cds new file mode 100644 index 00000000..2b16a683 --- /dev/null +++ b/node_modules/_base/db/schema.cds @@ -0,0 +1,4 @@ +using from './schema_bookshop'; +using from './schema_orders'; + +annotate cds.UUID with @(Core.Computed : true); diff --git a/node_modules/_base/db/schema_bookshop.cds b/node_modules/_base/db/schema_bookshop.cds new file mode 100644 index 00000000..ec8b119a --- /dev/null +++ b/node_modules/_base/db/schema_bookshop.cds @@ -0,0 +1,31 @@ +using { Currency, managed, sap } from '@sap/cds/common'; +namespace sap.capire.bookshop; + +entity Books : managed { + key ID : Integer; + title : localized String(111); + descr : localized String(1111); + author : Association to Authors; + genre : Association to Genres; + stock : Integer; + price : Decimal; + currency : Currency; + image : LargeBinary @Core.MediaType : 'image/png'; +} + +entity Authors : managed { + key ID : Integer; + name : String(111); + dateOfBirth : Date; + dateOfDeath : Date; + placeOfBirth : String; + placeOfDeath : String; + books : Association to many Books on books.author = $self; +} + +/** Hierarchically organized Code List for Genres */ +entity Genres : sap.common.CodeList { + key ID : Integer; + parent : Association to Genres; + children : Composition of many Genres on children.parent = $self; +} diff --git a/node_modules/_base/db/schema_orders.cds b/node_modules/_base/db/schema_orders.cds new file mode 100644 index 00000000..0911a4c4 --- /dev/null +++ b/node_modules/_base/db/schema_orders.cds @@ -0,0 +1,23 @@ +using { Currency, User, managed, cuid } from '@sap/cds/common'; +namespace sap.capire.orders; + +entity Orders : cuid, managed { + OrderNo : String @title:'Order Number'; //> readable key + Items : Composition of many Orders_Items on Items.up_ = $self; + buyer : User; + currency : Currency; +} + +entity Orders_Items { + key ID : UUID; + up_ : Association to Orders; + product : Association to Products @assert.integrity:false; // REVISIT: this is a temporary workaround for a glitch in cds-runtime + amount : Integer; + title : String; //> intentionally replicated as snapshot from product.title + price : Double; +} + +/** This is a stand-in for arbitrary ordered Products */ +entity Products @(cds.persistence.skip:'always') { + key ID : String; +} diff --git a/node_modules/_base/node_modules/@sap/cds/common.cds b/node_modules/_base/node_modules/@sap/cds/common.cds new file mode 100644 index 00000000..71895bd2 --- /dev/null +++ b/node_modules/_base/node_modules/@sap/cds/common.cds @@ -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; +} + +//--------------------------------------------------------------------------- diff --git a/node_modules/_base/srv/admin-service.cds b/node_modules/_base/srv/admin-service.cds new file mode 100644 index 00000000..58ff9bb1 --- /dev/null +++ b/node_modules/_base/srv/admin-service.cds @@ -0,0 +1,7 @@ +using { sap.capire.bookshop as my } from '../db/schema'; + +//service AdminService @(requires:'admin') { +service AdminService { + entity Books as projection on my.Books; + entity Authors as projection on my.Authors; +} diff --git a/node_modules/_base/srv/cat-service.cds b/node_modules/_base/srv/cat-service.cds new file mode 100644 index 00000000..652cc289 --- /dev/null +++ b/node_modules/_base/srv/cat-service.cds @@ -0,0 +1,16 @@ +using { sap.capire.bookshop as my } from '../db/schema'; +service CatalogService @(path:'/browse') { + + /** For displaying lists of Books */ + @readonly entity ListOfBooks as projection on Books + excluding { descr }; + + /** For display in details pages */ + @readonly entity Books as projection on my.Books { *, + author.name as author + } excluding { createdBy, modifiedBy }; + + //@__requires: 'authenticated-user' + action submitOrder ( book: Books:ID, amount: Integer ) returns { stock: Integer }; + event OrderedBook : { book: Books:ID; amount: Integer; buyer: String }; +} diff --git a/node_modules/_base/srv/mashup.cds b/node_modules/_base/srv/mashup.cds new file mode 100644 index 00000000..ea670ef6 --- /dev/null +++ b/node_modules/_base/srv/mashup.cds @@ -0,0 +1,27 @@ +//////////////////////////////////////////////////////////////////////////// +// +// Mashing up imported models... +// + +using { sap.capire.bookshop.Books } from '../db/schema'; + +// +// Extend Books with access to Reviews and average ratings +// + +/* +using { ReviewsService.Reviews } from '@capire/reviews'; +extend Books with { + reviews : Composition of many Reviews on reviews.subject = $self.ID; + rating : Decimal; +} +*/ + +// +// Extend Orders with Books as Products +// + +using { sap.capire.orders.Orders_Items } from '../db/schema'; +extend Orders_Items with { + book : Association to Books on product.ID = book.ID +} diff --git a/node_modules/_base/srv/orders-service.cds b/node_modules/_base/srv/orders-service.cds new file mode 100644 index 00000000..119373db --- /dev/null +++ b/node_modules/_base/srv/orders-service.cds @@ -0,0 +1,5 @@ +using { sap.capire.orders as my } from '../db/schema'; + +service OrdersService { + entity Orders as projection on my.Orders; +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..8f3ac537 --- /dev/null +++ b/package.json @@ -0,0 +1,6 @@ +{ + "name": "multitenancy", + "version": "0.1.0", + "description": "cds extension project", + "dependencies": {} +} \ No newline at end of file diff --git a/srv/extension_service.cds b/srv/extension_service.cds new file mode 100644 index 00000000..246bbe71 --- /dev/null +++ b/srv/extension_service.cds @@ -0,0 +1,9 @@ +using from '_base/srv/admin-service'; +using from '_base/srv/cat-service'; +using from '_base/srv/orders-service'; + +using { sap.bookshop.extension as ext } from '../db/extension'; + +extend service OrdersService with { + entity Customers as projection on ext.Customers; +} diff --git a/srv/extension_service_ui.cds b/srv/extension_service_ui.cds new file mode 100644 index 00000000..d30cee59 --- /dev/null +++ b/srv/extension_service_ui.cds @@ -0,0 +1,218 @@ +using from '_base/app/services'; +using OrdersService from './extension_service'; + + +// new entity in service -- draft enabled +annotate OrdersService.Customers with @odata.draft.enabled; + +// new entity in service -- titles +annotate OrdersService.Customers with { + ID @( + UI.Hidden, + Common : {Text : email} + ); + firstName @title : 'First Name'; + lastName @title : 'Last Name'; + email @title : 'Email'; + creditCardNo @title : 'Credit Card No'; + dateOfBirth @title : 'Date of Birth'; + status @title : 'Status'; + creditScore @title : 'Credit Score'; +} + +// new entity in service -- UI +annotate OrdersService.Customers with @(UI : { + HeaderInfo : { + TypeName : 'Customer', + TypeNamePlural : 'Customers', + Title : { + $Type : 'UI.DataField', + Value : email + } + }, + LineItem : [ + {Value : firstName}, + {Value : lastName}, + {Value : email}, + {Value : status}, + {Value : creditScore} + ], + Facets : [ + {$Type: 'UI.ReferenceFacet', Label: 'Main', Target : '@UI.FieldGroup#Main'}, + {$Type: 'UI.ReferenceFacet', Label: 'Customer Postal Addresses', Target: 'PostalAddresses/@UI.LineItem'} + ], + FieldGroup #Main : {Data : [ + {Value : firstName}, + {Value : lastName}, + {Value : email}, + {Value : status}, + {Value : creditScore} + ]} +}, ) { + +}; + +// new entity in service -- titles +annotate OrdersService.CustomerPostalAddresses with { + ID @( + UI.Hidden, + Common : {Text : description} + ); + + description @title : 'Description'; + street @title : 'Street'; + town @title : 'Town'; + country @title : 'Country'; + +} + +// new entity in service -- UI +annotate OrdersService.CustomerPostalAddresses with @(UI : { + HeaderInfo : { + TypeName : 'CustomerPostalAddress', + TypeNamePlural : 'CustomerPostalAddresses', + Title : { + $Type : 'UI.DataField', + Value : description + } + }, + LineItem : [ + {Value : description}, + {Value : street}, + {Value : town}, + {Value : country_code} + ], + Facets : [ + {$Type: 'UI.ReferenceFacet', Label: 'Main', Target : '@UI.FieldGroup#Main'} + ], + FieldGroup #Main : {Data : [ + {Value : description}, + {Value : street}, + {Value : town}, + {Value : country_code} + ]} +}, ) { + +}; + +// new composion -- titles +annotate OrdersService.Remarks with { + number @title: 'Remark Number'; + remarksLine @title: 'Remark'; +} + +// new composion -- UI +annotate OrdersService.Remarks with @( + UI: { + HeaderInfo: { + TypeName: 'Remark', + TypeNamePlural: 'Remarks', + Title : { + $Type : 'UI.DataField', + Value : number + } + }, + LineItem: [ + {Value: number}, + {Value: remarksLine} + ], + Facets: [ + {$Type: 'UI.ReferenceFacet', Label: 'Main', Target: '@UI.FieldGroup#Main'} + ], + FieldGroup#Main: { + Data: [ + {Value: number}, + {Value: remarksLine} + ] + } + }, +) { + +}; + + +// extend existing entity Orders with new extension fields and new composition + +@odata.draft.enabled +annotate OrdersService.Orders with @( + UI: { + SelectionFields: [ createdAt, createdBy ], + LineItem: [ + {Value: OrderNo, Label:'OrderNo'}, + {Value: Customer_ID, Label:'Customer'}, // extension field + {Value: priority, Label:'Priority'}, // extension field + {Value: createdAt, Label:'Date'} + ], + HeaderInfo: { + TypeName: 'Order', TypeNamePlural: 'Orders', + Title: { + Label: 'Order number ', //A label is possible but it is not considered on the ObjectPage yet + Value: OrderNo + }, + Description: {Value: createdBy} + }, + Identification: [ //Is the main field group + {Value: createdBy, Label:'Customer'}, + {Value: createdAt, Label:'Date'}, + {Value: OrderNo }, + ], + HeaderFacets: [ + {$Type: 'UI.ReferenceFacet', Label: '{i18n>Created}', Target: '@UI.FieldGroup#Created'}, + {$Type: 'UI.ReferenceFacet', Label: '{i18n>Modified}', Target: '@UI.FieldGroup#Modified'}, + ], + Facets: [ + {$Type: 'UI.ReferenceFacet', Label: '{i18n>Details}', Target: '@UI.FieldGroup#Details'}, + {$Type: 'UI.ReferenceFacet', Label: '{i18n>OrderItems}', Target: 'Items/@UI.LineItem'}, + {$Type: 'UI.ReferenceFacet', Label: 'Remarks', Target: 'Remarks/@UI.LineItem'} // new composition + ], + FieldGroup#Details: { + Data: [ + {Value: currency_code, Label:'Currency'}, // correction + {Value: Customer_ID, Label:'Customer'}, // extension field + {Value: priority, Label:'Priority'} // extension field + ] + }, + FieldGroup#Created: { + Data: [ + {Value: createdBy}, + {Value: createdAt}, + ] + }, + FieldGroup#Modified: { + Data: [ + {Value: modifiedBy}, + {Value: modifiedAt}, + ] + }, + }, +) { + createdAt @UI.HiddenFilter:false; + createdBy @UI.HiddenFilter:false; +}; + +// new field in existing service -- exchange ID with text + annotate OrdersService.Orders with { + Customer @( + Common: { + //show email, not id for Customer in the context of Orders + Text: Customer.email , TextArrangement: #TextOnly, + ValueList: { + Label: 'Customers', + CollectionPath: 'Customers', + Parameters: [ + { $Type: 'Common.ValueListParameterInOut', + LocalDataProperty: Customer_ID, + ValueListProperty: 'ID' + }, + { $Type: 'Common.ValueListParameterDisplayOnly', + ValueListProperty: 'email' + } + ] + } + } //, +// UI.MultiLineText: IsActiveEntity + ); +} + + +