receive OrderedBook event
This commit is contained in:
1
app/router/orders
Symbolic link
1
app/router/orders
Symbolic link
@@ -0,0 +1 @@
|
||||
../../orders/app/orders
|
||||
@@ -58,6 +58,12 @@
|
||||
"target": "/user/$1",
|
||||
"destination": "bookstore-api",
|
||||
"csrfProtection": true
|
||||
},
|
||||
{
|
||||
"source": "^(.*)$",
|
||||
"target": "$1",
|
||||
"localDir": ".",
|
||||
"cacheControl": "no-cache, no-store, must-revalidate"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -26,10 +26,11 @@ module.exports = async()=>{ // called by server.js
|
||||
//
|
||||
// Create an order with the OrdersService when CatalogService signals a new order
|
||||
//
|
||||
CatalogService.on ('OrderedBook', async (msg) => {
|
||||
const messaging = await cds.connect.to('messaging')
|
||||
messaging.on('CatalogService.OrderedBook', async (msg) => {
|
||||
const { book, quantity, buyer } = msg.data
|
||||
const { title, price } = await db.tx(msg).read (Books, book, b => { b.title, b.price })
|
||||
return OrdersService.tx(msg).create ('Orders').entries({
|
||||
const { title, price } = await db.read (Books, book, b => { b.title, b.price })
|
||||
return OrdersService.create ('OrdersNoDraft').entries({
|
||||
OrderNo: 'Order at '+ (new Date).toLocaleString(),
|
||||
Items: [{ product:{ID:`${book}`}, title, price, quantity }],
|
||||
buyer, createdBy: buyer
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"emname": "samples-emname",
|
||||
"emname": "samples-multi-service-shared-db",
|
||||
"version": "1.1.0",
|
||||
"namespace": "default/samples/1",
|
||||
"namespace": "cap/samples/shdb",
|
||||
"options": {
|
||||
"management": true,
|
||||
"messagingrest": true,
|
||||
@@ -10,7 +10,7 @@
|
||||
"rules": {
|
||||
"topicRules": {
|
||||
"publishFilter": [
|
||||
"${namespace}/*"
|
||||
"*"
|
||||
],
|
||||
"subscribeFilter": [
|
||||
"*"
|
||||
@@ -18,10 +18,10 @@
|
||||
},
|
||||
"queueRules": {
|
||||
"publishFilter": [
|
||||
"${namespace}/*"
|
||||
"*"
|
||||
],
|
||||
"subscribeFilter": [
|
||||
"${namespace}/*"
|
||||
"*"
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
1
mta.yaml
1
mta.yaml
@@ -100,6 +100,7 @@ modules:
|
||||
- name: samples-messaging
|
||||
- name: samples-db
|
||||
- name: samples-auth
|
||||
- name: samples-destination
|
||||
|
||||
- name: samples-db-deployer
|
||||
type: hdb
|
||||
|
||||
@@ -2,4 +2,8 @@ using { sap.capire.orders as my } from '../db/schema';
|
||||
|
||||
service OrdersService {
|
||||
entity Orders as projection on my.Orders;
|
||||
|
||||
@odata.draft.bypass
|
||||
@(requires: 'system-user')
|
||||
entity OrdersNoDraft as projection on my.Orders;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user