add status to invoices

This commit is contained in:
Dzmitry_Tamashevich@epam.com
2020-10-27 10:51:04 +03:00
committed by Daniel Hutzel
parent 9a63f406ec
commit 52f00c62b7
5 changed files with 23 additions and 5 deletions

View File

@@ -74,6 +74,11 @@ entity Invoices {
total : Decimal(10, 2);
invoiceItems : Association to many InvoiceItems
on invoiceItems.invoice = $self;
status : Integer enum {
submitted = 1;
shipped = 2;
canceled = -1;
} default 1;
}
entity InvoiceItems {
@@ -81,7 +86,7 @@ entity InvoiceItems {
invoice : Association to Invoices;
track : Association to Tracks;
unitPrice : Decimal(10, 2);
quantity : Integer;
quantity : Integer default 1;
}
entity Tracks {

View File

@@ -7,8 +7,7 @@
"private": true,
"dependencies": {
"@sap/cds": "^4",
"express": "^4",
"passport": "^0.4.1"
"express": "^4"
},
"devDependencies": {
"sqlite3": "^5"

View File

@@ -3,7 +3,7 @@ using {sap.capire.media.store as my} from '../db/schema';
@(requires : 'authenticated-user')
service Invoices {
@readonly
entity Invoices as projection on my.Invoices;
entity MyInvoices as projection on my.Invoices;
action invoice(tracks : array of {
ID : Integer;

View File

@@ -15,7 +15,7 @@ module.exports = async function () {
);
});
this.on("READ", "Invoices", async (req) => {
this.on("READ", "MyInvoices", async (req) => {
return await db.run(req.query.where({ customer_ID: req.user.attr.ID }));
});

View File

@@ -12,6 +12,12 @@ const SRC_STORAGE_NAME = args[FIRST_INDEX];
const TARGET_STORAGE_NAME = args[SECOND_INDEX];
const TARGET_SCHEMA_PATH = args[THIRD_INDEX];
function getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
const camelCaseToSnake = (str) =>
str.replace(
/[a-z][A-Z]/g,
@@ -120,6 +126,14 @@ const logProcessArgs = () => {
password: "some",
}));
}
// for mock invoice data
if (srcEntityName === "Invoices") {
columns.push("status");
srcResultRows = srcResultRows.map((row) => ({
...row,
status: getRandomInt(-1, 2),
}));
}
const transaction = await targetStorage.tx();
await transaction.run(