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