add env vars. change db kind

This commit is contained in:
Dzmitry_Tamashevich@epam.com
2020-11-14 23:22:11 +03:00
committed by Daniel Hutzel
parent 05550a14b1
commit 7045914e57
4 changed files with 24 additions and 21 deletions

View File

@@ -0,0 +1 @@
API=http://localhost:4004/

View File

@@ -1,10 +1,14 @@
import { isEmpty } from "lodash";
import axios from "axios";
const BROWSE_TRACKS_SERVICE = `api/browse-tracks`;
const INVOICES_SERVICE = `api/browse-invoices`;
const USER_SERVICE = `api/users`;
const MANAGE_STORE = `api/manage-store`;
// in dev mode using provided api
// in prod mode using proxy
const API = process.env.API || "api/";
const BROWSE_TRACKS_SERVICE = `${API}browse-tracks`;
const INVOICES_SERVICE = `${API}browse-invoices`;
const USER_SERVICE = `${API}users`;
const MANAGE_STORE = `${API}manage-store`;
const constructGenresQuery = (genreIds) => {
return !isEmpty(genreIds)

View File

@@ -29,7 +29,7 @@
"ACCESS_TOKEN_SECRET": "secret",
"requires": {
"db": {
"kind": "hana"
"kind": "sql"
},
"auth": {
"impl": "srv/auth.js"

View File

@@ -1,30 +1,28 @@
const cds = require("@sap/cds");
const selectTracksByEmail = (email) => `
select tracks.ID
from sap_capire_media_store_Tracks tracks
join sap_capire_media_store_Invoices invoices
on tracks.ID = invoiceItems.track_ID
join sap_capire_media_store_InvoiceItems invoiceItems
on invoices.ID = invoiceItems.invoice_ID
join sap_capire_media_store_Customers customers
on customers.ID = invoices.customer_ID
where (customers.email='${email}' and invoices.status='2')
or (customers.email='${email}' and invoices.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 myTrackIds = (await db.run(selectTracksByEmail(req.user.id))).map(
({ ID }) => ID
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,
})
)
);
const trackIds = invoiceItemEntries.map(({ track_ID }) => track_ID);
const result = [];
await db.foreach(req.query, (track) => {
result.push({
...track,
alreadyOrdered: myTrackIds.includes(track.ID),
alreadyOrdered: trackIds.includes(track.ID),
});
});
return result;