Files
cloud-cap-samples/media-store/server.js
2021-01-04 14:37:01 +01:00

41 lines
1.1 KiB
JavaScript

const cds = require("@sap/cds");
const { importData } = require("./util/importData");
// handle bootstrapping events...
cds.on("bootstrap", (app) => {
// dev only
app.use((req, res, next) => {
res.header("Access-Control-Allow-Origin", "*");
res.header(
"Access-Control-Allow-Methods",
"GET, PUT, PATCH, POST, DELETE, OPTIONS"
);
res.header(
"Access-Control-Allow-Headers",
"Origin, X-Requested-With, Content-Type, Accept, Authorization, Accept-Language"
);
//intercepts OPTIONS method
if ("OPTIONS" === req.method) {
//respond with 200
res.sendStatus(200);
} else {
//move on
next();
}
});
// add your own middleware before any by cds are added
});
cds.on("served", async ({ db, messaging, ...servedServices }) => {
// import data from chinook db if needed
await importData(db);
// add logging current user before any request
for (let i in servedServices) {
servedServices[i].prepend((srv) =>
srv.before("*", (req) => console.log("[USER]:", req.user))
);
}
});
module.exports = cds.server;