Alexandre Bodin 07e7cfc0bd Make lint stricter and fix the errors
Signed-off-by: Alexandre Bodin <bodin.alex@gmail.com>
2020-11-02 19:41:42 +01:00

45 lines
1.2 KiB
JavaScript

'use strict';
const { validateCheckPermissionsInput } = require('../validation/permission');
const { formatActionsBySections, formatConditions } = require('./formatters');
module.exports = {
/**
* Check each permissions from `request.body.permissions` and returns an array of booleans
* @param {KoaContext} ctx - koa context
*/
async check(ctx) {
const { body: input } = ctx.request;
try {
await validateCheckPermissionsInput(input);
} catch (err) {
return ctx.badRequest('ValidationError', err);
}
const checkPermissions = strapi.admin.services.permission.engine.checkMany(
ctx.state.userAbility
);
ctx.body = {
data: checkPermissions(input.permissions),
};
},
/**
* Returns every permissions, in nested format
* @param {KoaContext} ctx - koa context
*/
async getAll(ctx) {
const allActions = strapi.admin.services.permission.actionProvider.getAll();
const conditions = strapi.admin.services.permission.conditionProvider.getAll();
ctx.body = {
data: {
conditions: formatConditions(conditions),
sections: formatActionsBySections(allActions),
},
};
},
};