From c7536581a7772460cc25d488c3e71b1d1adcd901 Mon Sep 17 00:00:00 2001 From: Miltiadis Skondras Date: Fri, 26 Nov 2021 02:22:52 +0000 Subject: [PATCH] adding permissions for applications --- permissions/applications.js | 47 +++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 permissions/applications.js diff --git a/permissions/applications.js b/permissions/applications.js new file mode 100644 index 0000000..6d4f050 --- /dev/null +++ b/permissions/applications.js @@ -0,0 +1,47 @@ +const AccessControl = require('role-acl'); +const ac = new AccessControl(); + + +ac + .grant('user') + .condition({Fn:'EQUALS', args: {'requester':'$.owner'}}) + .execute('update') + .on('application'); + +ac + .grant('user') + .execute('delete') + .on('application'); + +ac + .grant('admin') + .execute('update') + .on('application'); + + +ac + .grant('admin') + .execute('delete') + .on('application'); + + + + +exports.update = (requester, data) => { + console.log(requester) + console.log(data) + return ac + .can(requester.role) + .context({requester:requester.ID, owner:data.authorID}) + .execute('update') + .sync() + .on('application'); +} + +exports.delete = (requester) => { + return ac + .can(requester.role) + .execute('delete') + .sync() + .on('application'); +} \ No newline at end of file