Compose with cds-plugins

This commit is contained in:
Daniel Hutzel
2023-07-26 17:01:15 +02:00
parent cdcfdafbdc
commit dfb7d80849
13 changed files with 65 additions and 24 deletions

3
bookshop/cds-plugin.js Normal file
View File

@@ -0,0 +1,3 @@
cds.once('bootstrap',(app)=>{
app.serve ('/bookshop') .from ('@capire/bookshop','app/vue')
})

View File

@@ -21,5 +21,12 @@
"genres": "cds serve test/genres.cds",
"start": "cds run",
"watch": "cds watch"
},
"cds": {
"requires": {
"bookshop-services": {
"model": "@capire/bookshop"
}
}
}
}

View File

@@ -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

View File

@@ -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';

0
common/cds-plugin.js Normal file
View File

View File

@@ -4,5 +4,12 @@
"version": "1.0.0",
"dependencies": {
"@sap/cds": "*"
},
"cds": {
"requires": {
"common-data": {
"model": "@capire/common"
}
}
}
}
}

View File

@@ -0,0 +1,3 @@
cds.once('bootstrap',(app)=>{
app.serve ('/data') .from('@capire/data-viewer','app/viewer')
})

View File

@@ -9,5 +9,12 @@
"app",
"srv",
"index.cds"
]
}
],
"cds": {
"requires": {
"orders-service": {
"model": "@capire/data-viewer"
}
}
}
}

11
my-project/package.json Normal file
View File

@@ -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"
}
}

3
orders/cds-plugin.js Normal file
View File

@@ -0,0 +1,3 @@
cds.once('bootstrap',(app)=>{
app.serve ('/orders') .from('@capire/orders','app/orders')
})

View File

@@ -4,5 +4,12 @@
"dependencies": {
"@capire/common": "*",
"@sap/cds": ">=5"
},
"cds": {
"requires": {
"orders-service": {
"model": "@capire/orders"
}
}
}
}

3
reviews/cds-plugin.js Normal file
View File

@@ -0,0 +1,3 @@
cds.once('bootstrap',(app)=>{
app.serve ('/reviews') .from ('@capire/reviews','app/vue')
})

View File

@@ -12,6 +12,10 @@
},
"cds": {
"requires": {
"ReviewsService": {
"kind": "odata",
"model": "@capire/reviews"
},
"messaging": {
"[development]": { "kind": "file-based-messaging" },
"[hybrid]": { "kind": "enterprise-messaging-shared" },