mirror of
https://github.com/strapi/strapi.git
synced 2025-12-26 14:44:31 +00:00
add content api permissions controller to it's separate file
This commit is contained in:
parent
4d72da1257
commit
3ce256e279
@ -0,0 +1,38 @@
|
||||
'use strict';
|
||||
|
||||
const createContext = require('../../../../../../test/helpers/create-context');
|
||||
const contentApiController = require('../content-api');
|
||||
|
||||
describe('Content API permissions', () => {
|
||||
const actionsMap = {
|
||||
'api::address': {
|
||||
controllers: {
|
||||
address: ['find', 'findOne'],
|
||||
},
|
||||
},
|
||||
'api::category': {
|
||||
controllers: {
|
||||
category: ['find', 'findOne', 'create', 'update', 'delete', 'createLocalization'],
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
test('return content api layout successfully', async () => {
|
||||
const getActionsMap = jest.fn().mockResolvedValue(actionsMap);
|
||||
const send = jest.fn();
|
||||
const ctx = createContext({}, { send });
|
||||
|
||||
global.strapi = {
|
||||
contentAPI: {
|
||||
permissions: {
|
||||
getActionsMap,
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
await contentApiController.getPermissions(ctx);
|
||||
|
||||
expect(getActionsMap).toHaveBeenCalled();
|
||||
expect(send).toHaveBeenCalledWith({ data: actionsMap });
|
||||
});
|
||||
});
|
||||
9
packages/core/admin/server/controllers/content-api.js
Normal file
9
packages/core/admin/server/controllers/content-api.js
Normal file
@ -0,0 +1,9 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = {
|
||||
async getPermissions(ctx) {
|
||||
const actionsMap = await strapi.contentAPI.permissions.getActionsMap();
|
||||
|
||||
ctx.send({ data: actionsMap });
|
||||
},
|
||||
};
|
||||
@ -9,4 +9,5 @@ module.exports = {
|
||||
role: require('./role'),
|
||||
user: require('./user'),
|
||||
webhooks: require('./webhooks'),
|
||||
'content-api': require('./content-api'),
|
||||
};
|
||||
|
||||
@ -44,10 +44,4 @@ module.exports = {
|
||||
},
|
||||
};
|
||||
},
|
||||
|
||||
async getContentApiPermissions(ctx) {
|
||||
const actionsMap = await strapi.contentAPI.permissions.getActionsMap();
|
||||
|
||||
ctx.send({ data: actionsMap });
|
||||
},
|
||||
};
|
||||
|
||||
12
packages/core/admin/server/routes/content-api.js
Normal file
12
packages/core/admin/server/routes/content-api.js
Normal file
@ -0,0 +1,12 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = [
|
||||
{
|
||||
method: 'GET',
|
||||
path: '/content-api/permissions',
|
||||
handler: 'content-api.getPermissions',
|
||||
config: {
|
||||
policies: ['admin::isAuthenticatedAdmin'],
|
||||
},
|
||||
},
|
||||
];
|
||||
@ -7,6 +7,7 @@ const users = require('./users');
|
||||
const roles = require('./roles');
|
||||
const webhooks = require('./webhooks');
|
||||
const apiTokens = require('./api-tokens');
|
||||
const contentApi = require('./content-api');
|
||||
|
||||
module.exports = [
|
||||
...admin,
|
||||
@ -16,4 +17,5 @@ module.exports = [
|
||||
...roles,
|
||||
...webhooks,
|
||||
...apiTokens,
|
||||
...contentApi,
|
||||
];
|
||||
|
||||
@ -17,12 +17,4 @@ module.exports = [
|
||||
policies: ['admin::isAuthenticatedAdmin'],
|
||||
},
|
||||
},
|
||||
{
|
||||
method: 'GET',
|
||||
path: '/content-api-permissions',
|
||||
handler: 'permission.getContentApiPermissions',
|
||||
config: {
|
||||
policies: ['admin::isAuthenticatedAdmin'],
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user