UNPKG

@mvx/identity

Version:

identity is oidc for mvc, type-mvc is base on koa. Decorator, Ioc, AOP mvc framework on server.

36 lines (34 loc) 1.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RoleVaildate = void 0; var tslib_1 = require("tslib"); var ioc_1 = require("@tsdi/ioc"); var aop_1 = require("@tsdi/aop"); var mvc_1 = require("@mvx/mvc"); var RoleVaildate = /** @class */ (function () { function RoleVaildate() { } RoleVaildate.prototype.vaildate = function (ctx, authAnnotation, joinPoint) { if (ioc_1.isFunction(ctx.hasRole) && authAnnotation && authAnnotation.length) { if (!ctx.hasRole.apply(ctx, authAnnotation.map(function (a) { return a.role; }).filter(function (a) { return a; }))) { throw new mvc_1.ForbiddenError(); } } }; RoleVaildateAnn = function () { return { "name": "RoleVaildate", "params": { "vaildate": ["ctx", "authAnnotation", "joinPoint"] } }; }; tslib_1.__decorate([ aop_1.Before(mvc_1.AuthorizationPointcut, 'authAnnotation'), tslib_1.__param(0, ioc_1.Inject(mvc_1.ContextToken)), tslib_1.__metadata("design:type", Function), tslib_1.__metadata("design:paramtypes", [Object, Array, aop_1.Joinpoint]), tslib_1.__metadata("design:returntype", void 0) ], RoleVaildate.prototype, "vaildate", null); RoleVaildate = tslib_1.__decorate([ aop_1.Aspect() ], RoleVaildate); return RoleVaildate; }()); exports.RoleVaildate = RoleVaildate; //# sourceMappingURL=../sourcemaps/vaildates/RoleVaildate.js.map