diff --git a/bookshop/cds-plugin.js b/bookshop/cds-plugin.js new file mode 100644 index 00000000..cd3f88c8 --- /dev/null +++ b/bookshop/cds-plugin.js @@ -0,0 +1,3 @@ +cds.once('bootstrap',(app)=>{ + app.serve ('/bookshop') .from ('@capire/bookshop','app/vue') +}) diff --git a/bookshop/package.json b/bookshop/package.json index 61c52156..f009a4f7 100644 --- a/bookshop/package.json +++ b/bookshop/package.json @@ -21,5 +21,12 @@ "genres": "cds serve test/genres.cds", "start": "cds run", "watch": "cds watch" + }, + "cds": { + "requires": { + "bookshop-services": { + "model": "@capire/bookshop" + } + } } } \ No newline at end of file diff --git a/bookstore/server.js b/bookstore/server.js index 26f5d843..e091d4e6 100644 --- a/bookstore/server.js +++ b/bookstore/server.js @@ -1,22 +1,18 @@ const cds = require ('@sap/cds') +// Add routes to UIs from imported packages +cds.once('bootstrap',(app)=>{ + app.serve ('/admin-authors') .from ('@capire/fiori','app/admin-authors') + app.serve ('/admin-books') .from ('@capire/fiori','app/admin-books') + app.serve ('/browse-books') .from ('@capire/fiori','app/browse') +}) + // Add mashup logic cds.once('served', require('./srv/mashup')) -// Add routes to UIs from imported packages -cds.once('bootstrap',(app)=>{ - app.serve ('/bookshop') .from ('@capire/bookshop','app/vue') - app.serve ('/reviews') .from ('@capire/reviews','app/vue') - app.serve ('/orders') .from('@capire/orders','app/orders') - app.serve ('/data') .from('@capire/data-viewer','app/viewer') -}) - // Add Swagger UI require('./srv/swagger-ui') -// Returning cds.server -module.exports = cds.server - // For didactic reasons in capire const { ReviewsService, OrdersService } = cds.requires if (!ReviewsService?.credentials && !OrdersService?.credentials) cds.requires.messaging = false diff --git a/bookstore/srv/mashup.cds b/bookstore/srv/mashup.cds index 7344ff1a..bccf8158 100644 --- a/bookstore/srv/mashup.cds +++ b/bookstore/srv/mashup.cds @@ -30,13 +30,3 @@ extend Orders with { book : Association to Books on product.ID = book.ID } } - - -// Add orders fiori app (in case of embedded orders service) -using from '@capire/orders/app/fiori'; - -// Add data browser -using from '@capire/data-viewer'; - -// Incorporate pre-build extensions from... -using from '@capire/common'; diff --git a/common/cds-plugin.js b/common/cds-plugin.js new file mode 100644 index 00000000..e69de29b diff --git a/common/package.json b/common/package.json index 35e537aa..a9390d8c 100644 --- a/common/package.json +++ b/common/package.json @@ -4,5 +4,12 @@ "version": "1.0.0", "dependencies": { "@sap/cds": "*" + }, + "cds": { + "requires": { + "common-data": { + "model": "@capire/common" + } + } } -} +} \ No newline at end of file diff --git a/data-viewer/cds-plugin.js b/data-viewer/cds-plugin.js new file mode 100644 index 00000000..668a1ef5 --- /dev/null +++ b/data-viewer/cds-plugin.js @@ -0,0 +1,3 @@ +cds.once('bootstrap',(app)=>{ + app.serve ('/data') .from('@capire/data-viewer','app/viewer') +}) diff --git a/data-viewer/package.json b/data-viewer/package.json index e27369ac..39794143 100644 --- a/data-viewer/package.json +++ b/data-viewer/package.json @@ -9,5 +9,12 @@ "app", "srv", "index.cds" - ] -} + ], + "cds": { + "requires": { + "orders-service": { + "model": "@capire/data-viewer" + } + } + } +} \ No newline at end of file diff --git a/my-project/package.json b/my-project/package.json new file mode 100644 index 00000000..f0f32d7b --- /dev/null +++ b/my-project/package.json @@ -0,0 +1,11 @@ +{ + "name": "@capire/bookstore", + "version": "1.0.0", + "dependencies": { + "@capire/bookshop": "*", + "@capire/reviews": "*", + "@capire/orders": "*", + "@sap/cds": ">=5", + "express": "^4.17.1" + } +} \ No newline at end of file diff --git a/orders/cds-plugin.js b/orders/cds-plugin.js new file mode 100644 index 00000000..8baf742d --- /dev/null +++ b/orders/cds-plugin.js @@ -0,0 +1,3 @@ +cds.once('bootstrap',(app)=>{ + app.serve ('/orders') .from('@capire/orders','app/orders') +}) diff --git a/orders/package.json b/orders/package.json index 2685aa44..cc4c94b9 100644 --- a/orders/package.json +++ b/orders/package.json @@ -4,5 +4,12 @@ "dependencies": { "@capire/common": "*", "@sap/cds": ">=5" + }, + "cds": { + "requires": { + "orders-service": { + "model": "@capire/orders" + } + } } } \ No newline at end of file diff --git a/reviews/cds-plugin.js b/reviews/cds-plugin.js new file mode 100644 index 00000000..677396c8 --- /dev/null +++ b/reviews/cds-plugin.js @@ -0,0 +1,3 @@ +cds.once('bootstrap',(app)=>{ + app.serve ('/reviews') .from ('@capire/reviews','app/vue') +}) diff --git a/reviews/package.json b/reviews/package.json index 5325bc17..1ff6f984 100644 --- a/reviews/package.json +++ b/reviews/package.json @@ -12,6 +12,10 @@ }, "cds": { "requires": { + "ReviewsService": { + "kind": "odata", + "model": "@capire/reviews" + }, "messaging": { "[development]": { "kind": "file-based-messaging" }, "[hybrid]": { "kind": "enterprise-messaging-shared" },