Moved to chinook + added .env
This commit is contained in:
33
chinook/srv/browse-tracks-service.js
Normal file
33
chinook/srv/browse-tracks-service.js
Normal file
@@ -0,0 +1,33 @@
|
||||
const cds = require("@sap/cds");
|
||||
|
||||
const SHIPPED_STATUS = 1;
|
||||
|
||||
module.exports = async function () {
|
||||
const db = await cds.connect.to("db"); // connect to database service
|
||||
|
||||
const { Invoices, InvoiceItems } = db.entities;
|
||||
|
||||
this.on("READ", "MarkedTracks", async (req) => {
|
||||
const invoiceItemEntries = await db.run(
|
||||
SELECT.from(InvoiceItems)
|
||||
.columns("track_ID")
|
||||
.where(
|
||||
"invoice_ID in",
|
||||
SELECT("ID").from(Invoices).where({
|
||||
customer_ID: req.user.attr.ID,
|
||||
status: SHIPPED_STATUS,
|
||||
})
|
||||
)
|
||||
);
|
||||
const trackIds = invoiceItemEntries.map(({ track_ID }) => track_ID);
|
||||
|
||||
const result = [];
|
||||
await db.foreach(req.query, (track) => {
|
||||
result.push({
|
||||
...track,
|
||||
alreadyOrdered: trackIds.includes(track.ID),
|
||||
});
|
||||
});
|
||||
return result;
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user