UNPKG

@iredium/butterfly

Version:
26 lines (25 loc) 1.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BaseController = void 0; var base_policy_1 = require("../policies/base_policy"); var unauthorized_1 = require("../errors/unauthorized"); var BaseController = /** @class */ (function () { function BaseController(ServiceClass, PolicyClass) { this.ServiceClass = ServiceClass; this.PolicyClass = PolicyClass; this.service = ServiceClass ? new ServiceClass() : null; } BaseController.prototype.authorize = function (method, record) { if (record === void 0) { record = null; } var policy = this.PolicyClass ? new this.PolicyClass(this.user, record) : new base_policy_1.BasePolicy(this.user, record); if (!policy[method](record)) { throw new unauthorized_1.UnauthorizedError(); } }; BaseController.prototype.init = function (user) { this.user = user; this.service = this.ServiceClass ? new this.ServiceClass(user) : null; }; return BaseController; }()); exports.BaseController = BaseController;