mirror of
https://github.com/strapi/strapi.git
synced 2025-07-12 11:31:38 +00:00
42 lines
922 B
JavaScript
42 lines
922 B
JavaScript
'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.db.query('plugin::users-permissions.role').load({ id: roleID }, 'permissions');
|
|
},
|
|
|
|
/**
|
|
* Find permissions for the public role
|
|
*
|
|
* @return {object[]}
|
|
*/
|
|
async findPublicPermissions() {
|
|
return strapi.db.query('plugin::users-permissions.permission').findMany({
|
|
where: PUBLIC_ROLE_FILTER,
|
|
});
|
|
},
|
|
|
|
/**
|
|
* Transform a Users-Permissions' action into a content API one
|
|
*
|
|
* @param {object} permission
|
|
* @param {string} permission.action
|
|
*
|
|
* @return {{ action: string }}
|
|
*/
|
|
toContentAPIPermission(permission) {
|
|
const { action } = permission;
|
|
|
|
return { action };
|
|
},
|
|
});
|