diff --git a/packages/bookshop/db/data/sap.capire.bookshop-Authors.csv b/bookshop/db/data/sap.capire.bookshop-Authors.csv similarity index 100% rename from packages/bookshop/db/data/sap.capire.bookshop-Authors.csv rename to bookshop/db/data/sap.capire.bookshop-Authors.csv diff --git a/packages/bookshop/db/data/sap.capire.bookshop-Books.csv b/bookshop/db/data/sap.capire.bookshop-Books.csv similarity index 100% rename from packages/bookshop/db/data/sap.capire.bookshop-Books.csv rename to bookshop/db/data/sap.capire.bookshop-Books.csv diff --git a/packages/bookshop/db/data/sap.capire.bookshop-Books_texts.csv b/bookshop/db/data/sap.capire.bookshop-Books_texts.csv similarity index 100% rename from packages/bookshop/db/data/sap.capire.bookshop-Books_texts.csv rename to bookshop/db/data/sap.capire.bookshop-Books_texts.csv diff --git a/packages/bookshop/db/data/sap.capire.bookshop-OrderItems.csv b/bookshop/db/data/sap.capire.bookshop-OrderItems.csv similarity index 100% rename from packages/bookshop/db/data/sap.capire.bookshop-OrderItems.csv rename to bookshop/db/data/sap.capire.bookshop-OrderItems.csv diff --git a/packages/bookshop/db/data/sap.capire.bookshop-Orders.csv b/bookshop/db/data/sap.capire.bookshop-Orders.csv similarity index 100% rename from packages/bookshop/db/data/sap.capire.bookshop-Orders.csv rename to bookshop/db/data/sap.capire.bookshop-Orders.csv diff --git a/packages/bookshop/db/schema.cds b/bookshop/db/schema.cds similarity index 100% rename from packages/bookshop/db/schema.cds rename to bookshop/db/schema.cds diff --git a/packages/bookshop/package.json b/bookshop/package.json similarity index 89% rename from packages/bookshop/package.json rename to bookshop/package.json index 6764a1b0..d8588d4b 100644 --- a/packages/bookshop/package.json +++ b/bookshop/package.json @@ -4,7 +4,8 @@ "description": "A simple bookshop application, build in a self-contained all-in-one fashion, i.e. w/o reusing other packages.", "license": "SAP SAMPLE CODE LICENSE", "dependencies": { - "@sap/cds": "latest", + "@sap/capire-common": "*", + "@sap/cds": "*", "express": "*" }, "scripts": { diff --git a/packages/bookshop/srv/admin-service.cds b/bookshop/srv/admin-service.cds similarity index 100% rename from packages/bookshop/srv/admin-service.cds rename to bookshop/srv/admin-service.cds diff --git a/packages/bookshop/srv/cat-service.cds b/bookshop/srv/cat-service.cds similarity index 100% rename from packages/bookshop/srv/cat-service.cds rename to bookshop/srv/cat-service.cds diff --git a/packages/bookshop/srv/cat-service.js b/bookshop/srv/cat-service.js similarity index 100% rename from packages/bookshop/srv/cat-service.js rename to bookshop/srv/cat-service.js diff --git a/packages/bookshop/tests/bookshop.http b/bookshop/tests/bookshop.http similarity index 100% rename from packages/bookshop/tests/bookshop.http rename to bookshop/tests/bookshop.http diff --git a/packages/bookshop/tests/orders.http b/bookshop/tests/orders.http similarity index 100% rename from packages/bookshop/tests/orders.http rename to bookshop/tests/orders.http diff --git a/packages/common-contacts/db/data/sap.capire.contacts-Countries.csv b/common/data/sap.common-Countries.csv similarity index 100% rename from packages/common-contacts/db/data/sap.capire.contacts-Countries.csv rename to common/data/sap.common-Countries.csv diff --git a/packages/common-contacts/db/data/sap.capire.contacts-Countries_texts.csv b/common/data/sap.common-Countries_texts.csv similarity index 100% rename from packages/common-contacts/db/data/sap.capire.contacts-Countries_texts.csv rename to common/data/sap.common-Countries_texts.csv diff --git a/packages/common-currencies/data/sap.common-Currencies.csv b/common/data/sap.common-Currencies.csv similarity index 100% rename from packages/common-currencies/data/sap.common-Currencies.csv rename to common/data/sap.common-Currencies.csv diff --git a/packages/bookshop/db/data/sap.common-Currencies_texts.csv b/common/data/sap.common-Currencies_texts.csv similarity index 100% rename from packages/bookshop/db/data/sap.common-Currencies_texts.csv rename to common/data/sap.common-Currencies_texts.csv diff --git a/common/index.cds b/common/index.cds new file mode 100644 index 00000000..39e42d28 --- /dev/null +++ b/common/index.cds @@ -0,0 +1,45 @@ +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/common/package.json b/common/package.json new file mode 100644 index 00000000..ec5c34f7 --- /dev/null +++ b/common/package.json @@ -0,0 +1,7 @@ +{ + "name": "@sap/capire-common", + "version": "1.0.0", + "description": "A reuse package providing common domain models and services for common data.", + "repository": "https://github.com/SAP-samples/cloud-cap-samples.git", + "license": "SAP SAMPLE CODE LICENSE" +} diff --git a/packages/bookshop/app/_i18n/i18n.properties b/fiori/app/_i18n/i18n.properties similarity index 100% rename from packages/bookshop/app/_i18n/i18n.properties rename to fiori/app/_i18n/i18n.properties diff --git a/packages/bookshop/app/_i18n/i18n_de.properties b/fiori/app/_i18n/i18n_de.properties similarity index 100% rename from packages/bookshop/app/_i18n/i18n_de.properties rename to fiori/app/_i18n/i18n_de.properties diff --git a/packages/bookshop/app/admin/fiori-service.cds b/fiori/app/admin/fiori-service.cds similarity index 92% rename from packages/bookshop/app/admin/fiori-service.cds rename to fiori/app/admin/fiori-service.cds index 5fd19df0..dbb7f581 100644 --- a/packages/bookshop/app/admin/fiori-service.cds +++ b/fiori/app/admin/fiori-service.cds @@ -1,4 +1,4 @@ -using AdminService from '../../srv/admin-service'; +using AdminService from '@sap/capire-bookshop/srv/admin-service'; //////////////////////////////////////////////////////////////////////////// // diff --git a/packages/bookshop/app/admin/webapp/Component.js b/fiori/app/admin/webapp/Component.js similarity index 100% rename from packages/bookshop/app/admin/webapp/Component.js rename to fiori/app/admin/webapp/Component.js diff --git a/packages/bookshop/app/admin/webapp/i18n/i18n.properties b/fiori/app/admin/webapp/i18n/i18n.properties similarity index 100% rename from packages/bookshop/app/admin/webapp/i18n/i18n.properties rename to fiori/app/admin/webapp/i18n/i18n.properties diff --git a/packages/bookshop/app/admin/webapp/manifest.json b/fiori/app/admin/webapp/manifest.json similarity index 100% rename from packages/bookshop/app/admin/webapp/manifest.json rename to fiori/app/admin/webapp/manifest.json diff --git a/packages/bookshop/app/browse/fiori-service.cds b/fiori/app/browse/fiori-service.cds similarity index 93% rename from packages/bookshop/app/browse/fiori-service.cds rename to fiori/app/browse/fiori-service.cds index d0d12da3..712bca29 100644 --- a/packages/bookshop/app/browse/fiori-service.cds +++ b/fiori/app/browse/fiori-service.cds @@ -1,4 +1,4 @@ -using CatalogService from '../../srv/cat-service'; +using CatalogService from '@sap/capire-bookshop/srv/cat-service'; //////////////////////////////////////////////////////////////////////////// // diff --git a/packages/bookshop/app/browse/webapp/Component.js b/fiori/app/browse/webapp/Component.js similarity index 100% rename from packages/bookshop/app/browse/webapp/Component.js rename to fiori/app/browse/webapp/Component.js diff --git a/packages/bookshop/app/browse/webapp/i18n/i18n.properties b/fiori/app/browse/webapp/i18n/i18n.properties similarity index 100% rename from packages/bookshop/app/browse/webapp/i18n/i18n.properties rename to fiori/app/browse/webapp/i18n/i18n.properties diff --git a/packages/bookshop/app/browse/webapp/manifest.json b/fiori/app/browse/webapp/manifest.json similarity index 100% rename from packages/bookshop/app/browse/webapp/manifest.json rename to fiori/app/browse/webapp/manifest.json diff --git a/packages/bookshop/app/common.cds b/fiori/app/common.cds similarity index 94% rename from packages/bookshop/app/common.cds rename to fiori/app/common.cds index 309daaf5..d82ed16b 100644 --- a/packages/bookshop/app/common.cds +++ b/fiori/app/common.cds @@ -2,7 +2,7 @@ Common Annotations shared by all apps */ -using { sap.capire.bookshop as my } from '../db/schema'; +using { sap.capire.bookshop as my } from '@sap/capire-bookshop/db/schema'; //////////////////////////////////////////////////////////////////////////// diff --git a/packages/bookshop/app/fiori.html b/fiori/app/fiori.html similarity index 100% rename from packages/bookshop/app/fiori.html rename to fiori/app/fiori.html diff --git a/packages/bookshop/app/index.cds b/fiori/app/index.cds similarity index 85% rename from packages/bookshop/app/index.cds rename to fiori/app/index.cds index 431bace1..b457f478 100644 --- a/packages/bookshop/app/index.cds +++ b/fiori/app/index.cds @@ -6,3 +6,5 @@ using from './admin/fiori-service'; using from './browse/fiori-service'; using from './orders/fiori-service'; using from './common'; + +using from '@sap/capire-common'; diff --git a/packages/bookshop/app/orders/fiori-service.cds b/fiori/app/orders/fiori-service.cds similarity index 97% rename from packages/bookshop/app/orders/fiori-service.cds rename to fiori/app/orders/fiori-service.cds index a504a022..3733aa18 100644 --- a/packages/bookshop/app/orders/fiori-service.cds +++ b/fiori/app/orders/fiori-service.cds @@ -1,4 +1,4 @@ -using AdminService from '../../srv/admin-service'; +using AdminService from '@sap/capire-bookshop/srv/admin-service'; annotate AdminService.Books with { price @Common.FieldControl: #ReadOnly; diff --git a/packages/bookshop/app/orders/webapp/Component.js b/fiori/app/orders/webapp/Component.js similarity index 100% rename from packages/bookshop/app/orders/webapp/Component.js rename to fiori/app/orders/webapp/Component.js diff --git a/packages/bookshop/app/orders/webapp/i18n/i18n.properties b/fiori/app/orders/webapp/i18n/i18n.properties similarity index 100% rename from packages/bookshop/app/orders/webapp/i18n/i18n.properties rename to fiori/app/orders/webapp/i18n/i18n.properties diff --git a/packages/bookshop/app/orders/webapp/manifest.json b/fiori/app/orders/webapp/manifest.json similarity index 100% rename from packages/bookshop/app/orders/webapp/manifest.json rename to fiori/app/orders/webapp/manifest.json diff --git a/fiori/package.json b/fiori/package.json new file mode 100644 index 00000000..950e0fc2 --- /dev/null +++ b/fiori/package.json @@ -0,0 +1,23 @@ +{ + "name": "@sap/capire-fiori", + "version": "1.0.0", + "description": "A simple bookshop application, build in a self-contained all-in-one fashion, i.e. w/o reusing other packages.", + "license": "SAP SAMPLE CODE LICENSE", + "dependencies": { + "@sap/capire-bookshop": "*", + "@sap/capire-common": "*", + "@sap/cds": "*", + "express": "*" + }, + "scripts": { + "start": "cds run --in-memory?", + "watch": "cds watch" + }, + "cds": { + "requires": { + "db": { + "kind": "sql" + } + } + } +} \ No newline at end of file diff --git a/lerna.json b/lerna.json deleted file mode 100644 index c8e17ebd..00000000 --- a/lerna.json +++ /dev/null @@ -1 +0,0 @@ -{"packages":["packages/*"],"version":"1.0.0"} diff --git a/package.json b/package.json index 499371c6..e0d3a140 100644 --- a/package.json +++ b/package.json @@ -5,22 +5,11 @@ "author": "daniel.hutzel@sap.com", "private": true, "scripts": { - "lerna": "npx --no-install lerna -v > /dev/null || npm i lerna --no-save", - "install": "(npm -s run lerna) && lerna bootstrap --hoist", - "cleanup": "lerna clean -y && rm -fr node_modules", - "bookshop": "cds watch packages/bookshop", - "bookshop-enhanced": "cds watch packages/bookshop-enhanced", - "reviews-service": "cds watch packages/reviews-service", - - "bookstore": "cds watch packages/bookstore", - "media-server": "cds watch packages/media-server" + "bookshop": "cds watch bookshop" }, "dependencies": { - "@sap/cds": "latest", - "express": "*" - }, - "devDependencies": { - "sqlite3": "*" + "@sap/capire-bookshop": "./bookshop", + "@sap/capire-common": "./common" }, "--add-these-to-devDependencies-for-tests": { "@types/jest": "*", diff --git a/packages/bookshop/db/data/sap.common-Currencies.csv b/packages/bookshop/db/data/sap.common-Currencies.csv deleted file mode 100644 index 48f3ec32..00000000 --- a/packages/bookshop/db/data/sap.common-Currencies.csv +++ /dev/null @@ -1,7 +0,0 @@ -code;symbol;name;descr -EUR;€;Euro;European Euro -USD;$;US Dollar;United States Dollar -CAD;$;Canadian Dollar;Canadian Dollar -AUD;$;Australian Dollar;Australian Dollar -GBP;£;Pound;Great Britain Pound -ILS;₪;Shekel;Israeli New Shekel \ No newline at end of file diff --git a/packages/common-contacts/db/code-lists.cds b/packages/common-contacts/db/code-lists.cds index 4da5c872..1d31dc7a 100644 --- a/packages/common-contacts/db/code-lists.cds +++ b/packages/common-contacts/db/code-lists.cds @@ -1,6 +1,5 @@ -using { sap.capire.contacts.PostalAddress } from './schema'; using { sap } from '@sap/cds/common'; -namespace sap.capire.contacts; +namespace sap.common; /** * The Code Lists below are designed as optional extensions to @@ -9,7 +8,6 @@ namespace sap.capire.contacts; * annotate sap.common.Countries with @cds.persistence.skip:false; */ -entity Countries as select from sap.common.Countries; extend sap.common.Countries { regions : Composition of many Regions on regions._parent = $self.code; } @@ -28,10 +26,3 @@ entity Districts : sap.common.CodeList { key code : String(11); city : Association to Cities; } - -annotate PostalAddress with { - district @ref: sap.capire.contacts.Districts; - city @ref: sap.capire.contacts.Cities; - region @ref: sap.capire.contacts.Regions; - country @ref: sap.capire.contacts.Countries; -} diff --git a/packages/common-currencies/data/sap.common-Currencies_texts.csv b/packages/common-currencies/data/sap.common-Currencies_texts.csv deleted file mode 100644 index 4d2ead51..00000000 --- a/packages/common-currencies/data/sap.common-Currencies_texts.csv +++ /dev/null @@ -1,13 +0,0 @@ -code;locale;name;descr -EUR;de;Euro;European Euro -USD;de;US-Dollar;United States Dollar -CAD;de;Kanadischer Dollar;Kanadischer Dollar -AUD;de;Australischer Dollar;Australischer Dollar -GBP;de;Pfund;Britische Pfund -ILS;de;Schekel;Israelische Schekel -EUR;fr;euro;de la Zone euro -USD;fr;dollar;dollar des États-Unis -CAD;fr;dollar canadien;dollar canadien -AUD;fr;dollar australien;dollar australien -GBP;fr;livre sterling;pound sterling -ILS;fr;Shekel;shekel israelien \ No newline at end of file diff --git a/packages/common-currencies/index.cds b/packages/common-currencies/index.cds deleted file mode 100644 index 82da4228..00000000 --- a/packages/common-currencies/index.cds +++ /dev/null @@ -1,17 +0,0 @@ -namespace sap.capire.currencies; -using { sap.common.Currencies } from '@sap/cds/common'; - -extend Currencies with { - // Currencies.code = ISO 4217 alphabetic three-letter code - // with the first two letters being equal to ISO 3166 alphabetic country codes - numcode : Integer; - exponent : Integer; //> e.g. 2 --> 1 Dollar = 10^2 Cent - minor : String; //> e.g. 'Cent' - // country : String; //> country or region -} - - -// 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 \ No newline at end of file diff --git a/packages/common-currencies/package.json b/packages/common-currencies/package.json deleted file mode 100644 index 68be970e..00000000 --- a/packages/common-currencies/package.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "@sap/capire-currencies", - "version": "1.0.0", - "description": "A reuse package providing common domain models and services for currencies-related data.", - "repository": "https://github.com/SAP-samples/cloud-cap-samples.git", - "license": "SAP SAMPLE CODE LICENSE", - "dependencies": { - "@sap/cds": "latest" - } -}