2022-07-29 10:17:06 +02:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
const PUBLIC_ROLE_FILTER = { role: { type: 'public' } };
|
|
|
|
|
|
|
|
module.exports = ({ strapi }) => ({
|
|
|
|
/**
|
|
|
|
* Find permissions associated to a specific role ID
|
|
|
|
*
|
|
|
|
* @param {number} roleID
|
|
|
|
*
|
|
|
|
* @return {object[]}
|
|
|
|
*/
|
|
|
|
async findRolePermissions(roleID) {
|
|
|
|
return strapi.entityService.load(
|
|
|
|
'plugin::users-permissions.role',
|
|
|
|
{ id: roleID },
|
|
|
|
'permissions'
|
|
|
|
);
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Find permissions for the public role
|
|
|
|
*
|
|
|
|
* @return {object[]}
|
|
|
|
*/
|
|
|
|
async findPublicPermissions() {
|
|
|
|
return strapi.entityService.findMany('plugin::users-permissions.permission', {
|
2022-09-29 14:02:26 -07:00
|
|
|
filters: PUBLIC_ROLE_FILTER,
|
2022-07-29 10:17:06 +02:00
|
|
|
});
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
2022-08-02 16:51:06 +02:00
|
|
|
* Transform a Users-Permissions' action into a content API one
|
2022-07-29 10:17:06 +02:00
|
|
|
*
|
|
|
|
* @param {object} permission
|
|
|
|
* @param {string} permission.action
|
|
|
|
*
|
2022-08-02 16:51:06 +02:00
|
|
|
* @return {{ action: string }}
|
2022-07-29 10:17:06 +02:00
|
|
|
*/
|
|
|
|
toContentAPIPermission(permission) {
|
|
|
|
const { action } = permission;
|
|
|
|
|
2022-08-02 16:51:06 +02:00
|
|
|
return { action };
|
2022-07-29 10:17:06 +02:00
|
|
|
},
|
|
|
|
});
|