mirror of
https://github.com/sergeyyarkov/educt-server.git
synced 2026-10-11 10:19:20 +03:00
23 lines
1.1 KiB
JavaScript
23 lines
1.1 KiB
JavaScript
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
const Bouncer_1 = global[Symbol.for('ioc.use')]("Adonis/Addons/Bouncer");
|
|
const RoleHelper_1 = __importDefault(global[Symbol.for('ioc.use')]("App/Helpers/RoleHelper"));
|
|
const RoleEnum_1 = __importDefault(global[Symbol.for('ioc.use')]("App/Datatypes/Enums/RoleEnum"));
|
|
class RolePolicy extends Bouncer_1.BasePolicy {
|
|
async manage(user, roles) {
|
|
await user.load('roles');
|
|
const isAdmin = RoleHelper_1.default.userContainRoles(user.roles, [RoleEnum_1.default.ADMIN]);
|
|
const isTeacher = RoleHelper_1.default.userContainRoles(user.roles, [RoleEnum_1.default.TEACHER]);
|
|
if (isAdmin) {
|
|
return true;
|
|
}
|
|
if (!(roles.includes(RoleEnum_1.default.TEACHER) || roles.includes(RoleEnum_1.default.ADMIN)) && isTeacher) {
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
exports.default = RolePolicy;
|
|
//# sourceMappingURL=RolePolicy.js.map
|