mirror of
https://github.com/strapi/strapi.git
synced 2025-09-25 08:19:07 +00:00
Creating new events for the permissions and handle them on the service level
This commit is contained in:
parent
b158657dc6
commit
e4a9fd95f3
@ -23,6 +23,9 @@ const defaultEvents = [
|
||||
'role.create',
|
||||
'role.update',
|
||||
'role.delete',
|
||||
'permissions.create',
|
||||
'permissions.update',
|
||||
'permissions.delete',
|
||||
];
|
||||
|
||||
const getEventMap = (defaultEvents) => {
|
||||
|
@ -44,9 +44,12 @@ const deleteByRolesIds = async (rolesIds) => {
|
||||
* @returns {Promise<array>}
|
||||
*/
|
||||
const deleteByIds = async (ids) => {
|
||||
const result = [];
|
||||
for (const id of ids) {
|
||||
await strapi.query('admin::permission').delete({ where: { id } });
|
||||
const queryResult = await strapi.query('admin::permission').delete({ where: { id } });
|
||||
result.push(queryResult);
|
||||
}
|
||||
strapi.eventHub.emit('permissions.delete', { permissions: result });
|
||||
};
|
||||
|
||||
/**
|
||||
@ -61,7 +64,10 @@ const createMany = async (permissions) => {
|
||||
createdPermissions.push(newPerm);
|
||||
}
|
||||
|
||||
return permissionDomain.toPermission(createdPermissions);
|
||||
const permissionsToReturn = permissionDomain.toPermission(createdPermissions);
|
||||
strapi.eventHub.emit('permissions.create', { permissions: permissionsToReturn });
|
||||
|
||||
return permissionsToReturn;
|
||||
};
|
||||
|
||||
/**
|
||||
@ -75,7 +81,10 @@ const update = async (params, attributes) => {
|
||||
.query('admin::permission')
|
||||
.update({ where: params, data: attributes });
|
||||
|
||||
return permissionDomain.toPermission(updatedPermission);
|
||||
const permissionToReturn = permissionDomain.toPermission(updatedPermission);
|
||||
strapi.eventHub.emit('permissions.update', { permissions: permissionToReturn });
|
||||
|
||||
return permissionToReturn;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -364,11 +364,6 @@ const assignPermissions = async (roleId, permissions = []) => {
|
||||
await getService('metrics').sendDidUpdateRolePermissions();
|
||||
}
|
||||
|
||||
strapi.eventHub.emit(
|
||||
'role.permissions',
|
||||
permissionsToReturn.map(permissionDomain.sanitizePermissionFields)
|
||||
);
|
||||
|
||||
return permissionsToReturn;
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user