mirror of
https://github.com/strapi/strapi.git
synced 2025-11-02 10:55:37 +00:00
use new condition format
Signed-off-by: Pierre Noël <petersg83@gmail.com>
This commit is contained in:
parent
6ab7669365
commit
dd88c00514
@ -1,7 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = {
|
||||
conditions: {
|
||||
isOwner: () => true, // to be modified
|
||||
},
|
||||
};
|
||||
@ -102,7 +102,7 @@ const createRolesIfNeeded = async () => {
|
||||
|
||||
const authorPermissions = _.cloneDeep(editorPermissions).map(p => ({
|
||||
...p,
|
||||
conditions: ['isOwner'],
|
||||
conditions: ['admin::is-creator'],
|
||||
}));
|
||||
|
||||
await strapi.admin.services.permission.assign(editorRole.id, editorPermissions);
|
||||
|
||||
@ -131,7 +131,7 @@ describe('Role controller', () => {
|
||||
admin: {
|
||||
services: {
|
||||
role: { getSuperAdmin: jest.fn(() => undefined) },
|
||||
permission: { conditionProvider: { conditions: jest.fn(() => []) } },
|
||||
permission: { conditionProvider: { getAll: jest.fn(() => []) } },
|
||||
},
|
||||
},
|
||||
};
|
||||
@ -157,7 +157,7 @@ describe('Role controller', () => {
|
||||
action: 'test',
|
||||
subject: 'model1',
|
||||
fields: ['title'],
|
||||
conditions: ['someCondition'],
|
||||
conditions: ['admin::is-creator'],
|
||||
},
|
||||
];
|
||||
|
||||
@ -178,7 +178,7 @@ describe('Role controller', () => {
|
||||
permission: {
|
||||
assign: assignPermissions,
|
||||
conditionProvider: {
|
||||
conditions: jest.fn(() => ['someCondition']),
|
||||
getAll: jest.fn(() => [{ id: 'admin::is-creator' }]),
|
||||
},
|
||||
actionProvider: {
|
||||
getAllByMap: jest.fn(),
|
||||
|
||||
@ -112,7 +112,7 @@ module.exports = {
|
||||
input.permissions
|
||||
.filter(p => existingPermissions.get(p.action).section === 'contentTypes')
|
||||
.forEach(p => {
|
||||
p.conditions = role.code === AUTHOR_CODE ? ['isOwner'] : [];
|
||||
p.conditions = role.code === AUTHOR_CODE ? ['admin::is-creator'] : [];
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@ -52,7 +52,7 @@ describe('Permission Service', () => {
|
||||
permission: {
|
||||
actionProvider: { getAll },
|
||||
conditionProvider: {
|
||||
conditions: jest.fn(() => ['someCondition']),
|
||||
getAll: jest.fn(() => [{ id: 'admin::is-creator' }]),
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
@ -69,7 +69,7 @@ describe('Role CRUD End to End', () => {
|
||||
data.editorRole = res.body.data.find(r => r.code === 'strapi-editor');
|
||||
});
|
||||
|
||||
test('Author have isOwner condition for every permission', async () => {
|
||||
test('Author have admin::is-creator condition for every permission', async () => {
|
||||
const res = await rq({
|
||||
url: `/admin/roles/${data.authorRole.id}/permissions`,
|
||||
method: 'GET',
|
||||
@ -79,7 +79,7 @@ describe('Role CRUD End to End', () => {
|
||||
expect(Array.isArray(res.body.data)).toBe(true);
|
||||
expect(res.body.data).toHaveLength(4);
|
||||
res.body.data.forEach(permission => {
|
||||
expect(permission.conditions).toEqual(['isOwner']);
|
||||
expect(permission.conditions).toEqual(['admin::is-creator']);
|
||||
});
|
||||
});
|
||||
|
||||
@ -106,7 +106,7 @@ describe('Role CRUD End to End', () => {
|
||||
action: 'plugins::content-manager.explorer.create',
|
||||
subject: 'plugins::users-permissions.user',
|
||||
fields: ['username'],
|
||||
conditions: ['isOwner'],
|
||||
conditions: ['admin::is-creator'],
|
||||
},
|
||||
];
|
||||
|
||||
@ -129,7 +129,7 @@ describe('Role CRUD End to End', () => {
|
||||
action: 'plugins::content-manager.explorer.create',
|
||||
subject: 'plugins::users-permissions.user',
|
||||
fields: ['username'],
|
||||
conditions: ['isOwner'],
|
||||
conditions: ['admin::is-creator'],
|
||||
}),
|
||||
]),
|
||||
});
|
||||
@ -152,7 +152,7 @@ describe('Role CRUD End to End', () => {
|
||||
action: 'plugins::content-manager.explorer.create',
|
||||
subject: 'plugins::users-permissions.user',
|
||||
fields: ['username'],
|
||||
conditions: ['isOwner'],
|
||||
conditions: ['admin::is-creator'],
|
||||
}),
|
||||
]),
|
||||
});
|
||||
@ -164,31 +164,31 @@ describe('Role CRUD End to End', () => {
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.roles.read',
|
||||
conditions: ['isOwner'],
|
||||
conditions: ['admin::is-creator'],
|
||||
},
|
||||
{
|
||||
action: 'plugins::content-manager.explorer.create',
|
||||
subject: 'plugins::users-permissions.user',
|
||||
fields: ['username'],
|
||||
conditions: ['isOwner'],
|
||||
conditions: ['admin::is-creator'],
|
||||
},
|
||||
{
|
||||
action: 'plugins::content-manager.explorer.update',
|
||||
subject: 'plugins::users-permissions.user',
|
||||
fields: ['username'],
|
||||
conditions: ['isOwner'],
|
||||
conditions: ['admin::is-creator'],
|
||||
},
|
||||
{
|
||||
action: 'plugins::content-manager.explorer.delete',
|
||||
subject: 'plugins::users-permissions.user',
|
||||
fields: ['username'],
|
||||
conditions: ['isOwner'],
|
||||
conditions: ['admin::is-creator'],
|
||||
},
|
||||
{
|
||||
action: 'plugins::content-manager.explorer.read',
|
||||
subject: 'plugins::users-permissions.user',
|
||||
fields: ['username'],
|
||||
conditions: ['isOwner'],
|
||||
conditions: ['admin::is-creator'],
|
||||
},
|
||||
];
|
||||
|
||||
@ -222,7 +222,7 @@ describe('Role CRUD End to End', () => {
|
||||
data: expect.arrayContaining(
|
||||
newPermissions
|
||||
.slice(3, 6)
|
||||
.map(p => ({ ...p, conditions: ['isOwner'] }))
|
||||
.map(p => ({ ...p, conditions: ['admin::is-creator'] }))
|
||||
.map(expect.objectContaining)
|
||||
),
|
||||
});
|
||||
|
||||
@ -35,7 +35,7 @@ const arrayOfConditionNames = yup
|
||||
.array()
|
||||
.of(yup.string())
|
||||
.test('is-an-array-of-conditions', 'is not a plugin name', function(value) {
|
||||
const ids = strapi.admin.services.permission.conditionProvider.conditions();
|
||||
const ids = strapi.admin.services.permission.conditionProvider.getAll().map(c => c.id);
|
||||
return _.isUndefined(value) || _.difference(value, ids).length === 0
|
||||
? true
|
||||
: this.createError({ path: this.path, message: `contains conditions that don't exist` });
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user