From a458c7bb0dc8e1e00f14b2c65be733badaf853eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20B=C3=BChl?= Date: Thu, 30 Jan 2020 17:48:32 +0100 Subject: [PATCH] cleanup --- packages/bookshop/.cdsrc.json | 20 ----------- packages/bookshop/package-lock.json | 27 +++++++++++++++ packages/bookshop/package.json | 47 +++++++++++--------------- packages/bookshop/srv/admin-service.js | 10 ++++++ packages/bookshop/srv/cat-service.js | 5 --- 5 files changed, 57 insertions(+), 52 deletions(-) delete mode 100644 packages/bookshop/.cdsrc.json create mode 100644 packages/bookshop/package-lock.json create mode 100644 packages/bookshop/srv/admin-service.js diff --git a/packages/bookshop/.cdsrc.json b/packages/bookshop/.cdsrc.json deleted file mode 100644 index d4a1031a..00000000 --- a/packages/bookshop/.cdsrc.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "auth": { - "passport": { - "strategy": "mock", - "users": { - "alice": { - "password": "123", - "ID": "alice", - "roles": ["admin", "authenticated-user"], - "xs.user.attributes": { "currency": [ "USD" ] } - }, - "bob": { - "password": "123", - "ID": "bob", - "roles": ["authenticated-user"] - } - } - } -} -} diff --git a/packages/bookshop/package-lock.json b/packages/bookshop/package-lock.json new file mode 100644 index 00000000..a0727585 --- /dev/null +++ b/packages/bookshop/package-lock.json @@ -0,0 +1,27 @@ +{ + "name": "@sap/capire-bookshop", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "passport": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/passport/-/passport-0.4.1.tgz", + "integrity": "sha512-IxXgZZs8d7uFSt3eqNjM9NQ3g3uQCW5avD8mRNoXV99Yig50vjuaez6dQK2qC0kVWPRTujxY0dWgGfT09adjYg==", + "requires": { + "passport-strategy": "1.x.x", + "pause": "0.0.1" + } + }, + "passport-strategy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", + "integrity": "sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ=" + }, + "pause": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", + "integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=" + } + } + } \ No newline at end of file diff --git a/packages/bookshop/package.json b/packages/bookshop/package.json index 1e34a6d9..60a017a2 100644 --- a/packages/bookshop/package.json +++ b/packages/bookshop/package.json @@ -8,35 +8,28 @@ "express": "*", "passport": "^0.4.1" }, + "cds": { + "auth": { + "passport": { + "strategy": "mock", + "users": { + "alice": { + "password": "123", + "ID": "alice", + "roles": ["admin", "authenticated-user"], + "xs.user.attributes": { "currency": [ "USD" ] } + }, + "bob": { + "password": "123", + "ID": "bob", + "roles": ["authenticated-user"] + } + } + } + } + }, "scripts": { "start": "cds run --in-memory?", "watch": "cds watch" - }, - "auth": { - "passport": { - "strategy": "mock", - "users": { - "alice": { - "password": "123", - "ID": "alice", - "roles": [ - "admin", - "authenticated-user" - ], - "xs.user.attributes": { - "country": [ - "US" - ] - } - }, - "bob": { - "password": "123", - "ID": "bob", - "roles": [ - "authenticated-user" - ] - } - } - } } } diff --git a/packages/bookshop/srv/admin-service.js b/packages/bookshop/srv/admin-service.js new file mode 100644 index 00000000..471b2605 --- /dev/null +++ b/packages/bookshop/srv/admin-service.js @@ -0,0 +1,10 @@ +/** Service implementation for AdminService */ +module.exports = cds.service.impl(function() { + this.before ('CREATE', 'Orders', _checkOrderCreateAuth) + }) + + + /** Check authorization */ + function _checkOrderCreateAuth (req) { + req.user.currency[0] === req.data.currency_code || req.reject(403) + } \ No newline at end of file diff --git a/packages/bookshop/srv/cat-service.js b/packages/bookshop/srv/cat-service.js index dacdfef9..bdf91080 100644 --- a/packages/bookshop/srv/cat-service.js +++ b/packages/bookshop/srv/cat-service.js @@ -4,7 +4,6 @@ const { Books } = cds.entities /** Service implementation for CatalogService */ module.exports = cds.service.impl(function() { this.after ('READ', 'Books', each => each.stock > 111 && _addDiscount2(each,11)) - this.before ('CREATE', 'Orders', _checkOrderCreateAuth) this.before ('CREATE', 'Orders', _reduceStock) }) @@ -26,9 +25,5 @@ async function _reduceStock (req) { })) } -/** Check authorization */ -function _checkOrderCreateAuth (req) { - req.user.country === req.data.country || req.reject(403) -}