final state of exercise 3
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@sap/capire-products": "^1.0.0",
|
||||
"reviews-service": "file:packages/reviews-service-1.0.0.tgz",
|
||||
"@sap/cds": "^3.17.4",
|
||||
"express": "^4.17.1"
|
||||
},
|
||||
@@ -16,5 +17,16 @@
|
||||
"build": "cds build/all --clean",
|
||||
"deploy": "cds deploy",
|
||||
"start": "cds run"
|
||||
},
|
||||
"cds": {
|
||||
"requires": {
|
||||
"sap.capire.reviews.ReviewsService": {
|
||||
"model": "reviews-service",
|
||||
"kind": "odata",
|
||||
"credentials": {
|
||||
"file": "default"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,4 +14,11 @@ service CatalogService {
|
||||
using { sap.capire.products.AdminService } from '@sap/capire-products';
|
||||
extend service AdminService with {
|
||||
entity Authors as projection on my.Authors;
|
||||
}
|
||||
|
||||
// Adding reviews via capire-reviews service
|
||||
using { sap.capire.reviews.ReviewsService as external} from 'reviews-service';
|
||||
|
||||
extend service CatalogService {
|
||||
@readonly entity Reviews @(cds.persistence.skip) as projection on external.Reviews;
|
||||
}
|
||||
@@ -15,4 +15,21 @@ module.exports = async (srv) => {
|
||||
}
|
||||
})))
|
||||
})
|
||||
|
||||
const reviews_srv = await cds.connect.to('sap.capire.reviews.ReviewsService')
|
||||
|
||||
// react on event messages from reviews service
|
||||
reviews_srv.on('reviewed', (msg) => {
|
||||
console.debug('> received', msg)
|
||||
})
|
||||
|
||||
// delegate requests to reviews service
|
||||
srv.on('READ', 'Reviews', async (req) => {
|
||||
const { Reviews } = reviews_srv.entities
|
||||
|
||||
const tx = reviews_srv.transaction(req)
|
||||
const results = await tx.read(Reviews)
|
||||
|
||||
return results
|
||||
})
|
||||
}
|
||||
BIN
packages/reviews-service-1.0.0.tgz
Normal file
BIN
packages/reviews-service-1.0.0.tgz
Normal file
Binary file not shown.
Reference in New Issue
Block a user