@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
JavaScript
;
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();
}
}
};
RoleVaildate.ρAnn = 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