@eggjs/controller-decorator
Version:
tegg controller decorator
38 lines • 3.34 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.MCPControllerResourceMetaBuilder = void 0;
const model_1 = require("../../model");
const MethodValidator_1 = require("../../util/validator/MethodValidator");
const MethodInfoUtil_1 = __importDefault(require("../../util/MethodInfoUtil"));
const MCPInfoUtil_1 = require("../../util/MCPInfoUtil");
class MCPControllerResourceMetaBuilder {
constructor(clazz, methodName) {
this.clazz = clazz;
this.methodName = methodName;
}
build() {
MethodValidator_1.MethodValidator.validate(this.clazz, this.methodName);
const controllerType = MethodInfoUtil_1.default.getMethodControllerType(this.clazz, this.methodName);
if (!controllerType) {
return undefined;
}
const middlewares = MethodInfoUtil_1.default.getMethodMiddlewares(this.clazz, this.methodName);
const needAcl = MethodInfoUtil_1.default.hasMethodAcl(this.clazz, this.methodName);
const aclCode = MethodInfoUtil_1.default.getMethodAcl(this.clazz, this.methodName);
const params = MCPInfoUtil_1.MCPInfoUtil.getMCPResourceParams(this.clazz, this.methodName);
const extra = MCPInfoUtil_1.MCPInfoUtil.getMCPExtra(this.clazz, this.methodName);
return new model_1.MCPResourceMeta({
name: this.methodName,
middlewares,
needAcl,
aclCode,
extra,
...params,
});
}
}
exports.MCPControllerResourceMetaBuilder = MCPControllerResourceMetaBuilder;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTUNQQ29udHJvbGxlclJlc291cmNlTWV0YUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW1wbC9tY3AvTUNQQ29udHJvbGxlclJlc291cmNlTWV0YUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsdUNBQThDO0FBQzlDLDBFQUF1RTtBQUN2RSwrRUFBdUQ7QUFDdkQsd0RBQXFEO0FBRXJELE1BQWEsZ0NBQWdDO0lBSTNDLFlBQVksS0FBd0IsRUFBRSxVQUFrQjtRQUN0RCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQsS0FBSztRQUNILGlDQUFlLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sY0FBYyxHQUFHLHdCQUFjLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0YsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFDRCxNQUFNLFdBQVcsR0FBRyx3QkFBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JGLE1BQU0sT0FBTyxHQUFHLHdCQUFjLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sT0FBTyxHQUFHLHdCQUFjLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sTUFBTSxHQUFHLHlCQUFXLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0UsTUFBTSxLQUFLLEdBQUcseUJBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbkUsT0FBTyxJQUFJLHVCQUFlLENBQUM7WUFDekIsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQ3JCLFdBQVc7WUFDWCxPQUFPO1lBQ1AsT0FBTztZQUNQLEtBQUs7WUFDTCxHQUFHLE1BQU07U0FDVixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUE5QkQsNEVBOEJDIn0=