From 9479aa4cadf6296c64f8718b308d7b3f4d9aeffa Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 8 Apr 2021 19:17:48 +0200 Subject: [PATCH] . --- .env | 1 + bookshop/db/schema.cds | 2 +- bookshop/srv/admin-service.cds | 24 +++++++++++++++++++++++- bookshop/srv/cat-service.js | 2 +- 4 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 .env diff --git a/.env b/.env new file mode 100644 index 00000000..9d86968c --- /dev/null +++ b/.env @@ -0,0 +1 @@ +# cdsc \ No newline at end of file diff --git a/bookshop/db/schema.cds b/bookshop/db/schema.cds index ec8b119a..f682acfe 100644 --- a/bookshop/db/schema.cds +++ b/bookshop/db/schema.cds @@ -1,4 +1,4 @@ -using { Currency, managed, sap } from '@sap/cds/common'; +using { Currency, managed, temporal, sap } from '@sap/cds/common'; namespace sap.capire.bookshop; entity Books : managed { diff --git a/bookshop/srv/admin-service.cds b/bookshop/srv/admin-service.cds index ea9b0731..005b4764 100644 --- a/bookshop/srv/admin-service.cds +++ b/bookshop/srv/admin-service.cds @@ -1,5 +1,27 @@ using { sap.capire.bookshop as my } from '../db/schema'; service AdminService @(requires:'admin') { - entity Books as projection on my.Books; + + entity Books as SELECT from my.Books { *, + // key ID, key validFrom + }; entity Authors as projection on my.Authors; + + // @cds.redirection.target:false + // entity Books.history @(cds.temporal:false) as projection on Books { + // *, + // key ID, + // key validFrom @(cds.valid.from:false), + // validTo @(cds.valid.to:false), + // }; +} + +// entity NonTemporalBook as projection on my.Books { +// *, +// key ID, +// key validFrom @(cds.valid.from:false), +// validTo @(cds.valid.to:false), +// }; + +extend my.Books with { + history : Composition of many my.Books on history.ID = $self.ID; } diff --git a/bookshop/srv/cat-service.js b/bookshop/srv/cat-service.js index 4676dcd5..c97c23e7 100644 --- a/bookshop/srv/cat-service.js +++ b/bookshop/srv/cat-service.js @@ -16,7 +16,7 @@ class CatalogService extends cds.ApplicationService { init(){ }) // Add some discount for overstocked books - this.after ('READ','Books', each => { + this.after ('READ','ListOfBooks', each => { if (each.stock > 111) { each.title += ` -- 11% discount!` }