2020-05-29 17:23:42 +02:00
|
|
|
'use strict';
|
|
|
|
|
2021-03-25 14:59:44 +01:00
|
|
|
const domain = require('../domain/permission');
|
|
|
|
const createActionProvider = require('../domain/action/provider');
|
|
|
|
const createConditionProvider = require('../domain/condition/provider');
|
2020-06-29 16:32:14 +02:00
|
|
|
const createPermissionsManager = require('./permission/permissions-manager');
|
2020-06-09 19:00:57 +02:00
|
|
|
const createPermissionEngine = require('./permission/engine');
|
2021-03-25 14:59:44 +01:00
|
|
|
const createSectionsBuilder = require('./permission/sections-builder');
|
|
|
|
const permissionQueries = require('./permission/queries');
|
2020-06-09 19:00:57 +02:00
|
|
|
|
2021-03-25 14:59:44 +01:00
|
|
|
const actionProvider = createActionProvider();
|
2020-06-16 11:13:01 +02:00
|
|
|
const conditionProvider = createConditionProvider();
|
2020-06-09 19:00:57 +02:00
|
|
|
const engine = createPermissionEngine(conditionProvider);
|
2021-03-25 14:59:44 +01:00
|
|
|
const sectionsBuilder = createSectionsBuilder();
|
2020-05-28 13:02:06 +02:00
|
|
|
|
2021-03-25 14:59:44 +01:00
|
|
|
const sanitizePermission = domain.sanitizePermissionFields;
|
2020-10-05 16:26:55 +02:00
|
|
|
|
2020-05-29 11:09:17 +02:00
|
|
|
module.exports = {
|
2021-03-25 14:59:44 +01:00
|
|
|
// Queries / Actions
|
|
|
|
...permissionQueries,
|
|
|
|
// Utils
|
2020-06-29 16:32:14 +02:00
|
|
|
createPermissionsManager,
|
2021-03-25 14:59:44 +01:00
|
|
|
sectionsBuilder,
|
|
|
|
sanitizePermission,
|
|
|
|
// Engine
|
2020-06-09 19:00:57 +02:00
|
|
|
engine,
|
2021-03-25 14:59:44 +01:00
|
|
|
// Providers
|
|
|
|
actionProvider,
|
2020-06-09 19:00:57 +02:00
|
|
|
conditionProvider,
|
2020-05-29 11:09:17 +02:00
|
|
|
};
|