2022-12-27 08:05:50 +00:00
|
|
|
module.exports = Self => {
|
|
|
|
Self.remoteMethod('userAcl', {
|
|
|
|
description: 'Get all of the current user permissions',
|
|
|
|
accepts: [
|
|
|
|
{
|
|
|
|
arg: 'ctx',
|
|
|
|
type: 'Object',
|
|
|
|
http: {source: 'context'}
|
2023-01-23 10:29:58 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
arg: 'aclList',
|
|
|
|
type: 'Object',
|
|
|
|
required: true,
|
2022-12-27 08:05:50 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
returns: {
|
|
|
|
type: 'Object',
|
|
|
|
root: true
|
|
|
|
},
|
|
|
|
http: {
|
|
|
|
path: '/user/acl',
|
2023-01-23 10:29:58 +00:00
|
|
|
verb: 'POST'
|
2022-12-27 08:05:50 +00:00
|
|
|
}
|
|
|
|
});
|
|
|
|
|
2023-01-23 10:29:58 +00:00
|
|
|
Self.userAcl = async function(ctx, aclList) {
|
2023-03-03 11:00:30 +00:00
|
|
|
const ACLs = [];
|
2023-01-23 10:29:58 +00:00
|
|
|
|
|
|
|
for (let key in aclList) {
|
2023-03-03 11:00:30 +00:00
|
|
|
const acl = await Self.app.models.ACL.findOne({where: {principalId: key}});
|
|
|
|
if (acl) ACLs.push(acl);
|
2023-01-23 10:29:58 +00:00
|
|
|
}
|
|
|
|
return ACLs;
|
2022-12-27 08:05:50 +00:00
|
|
|
};
|
|
|
|
};
|