@eggjs/controller-decorator
Version:
tegg controller decorator
40 lines • 3.56 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.MCPControllerToolMetaBuilder = 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 MCPControllerToolMetaBuilder {
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.getMCPToolParams(this.clazz, this.methodName);
const detail = MCPInfoUtil_1.MCPInfoUtil.getMCPToolArgsIndex(this.clazz, this.methodName);
const extra = MCPInfoUtil_1.MCPInfoUtil.getMCPExtra(this.clazz, this.methodName);
return new model_1.MCPToolMeta({
name: this.methodName,
middlewares,
needAcl,
aclCode,
detail,
extra,
...params,
});
}
}
exports.MCPControllerToolMetaBuilder = MCPControllerToolMetaBuilder;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTUNQQ29udHJvbGxlclRvb2xNZXRhQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbXBsL21jcC9NQ1BDb250cm9sbGVyVG9vbE1ldGFCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLHVDQUEwQztBQUMxQywwRUFBdUU7QUFDdkUsK0VBQXVEO0FBQ3ZELHdEQUFxRDtBQUVyRCxNQUFhLDRCQUE0QjtJQUl2QyxZQUFZLEtBQXdCLEVBQUUsVUFBa0I7UUFDdEQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVELEtBQUs7UUFDSCxpQ0FBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0RCxNQUFNLGNBQWMsR0FBRyx3QkFBYyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNGLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNwQixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBQ0QsTUFBTSxXQUFXLEdBQUcsd0JBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyRixNQUFNLE9BQU8sR0FBRyx3QkFBYyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6RSxNQUFNLE9BQU8sR0FBRyx3QkFBYyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6RSxNQUFNLE1BQU0sR0FBRyx5QkFBVyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sTUFBTSxHQUFHLHlCQUFXLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUUsTUFBTSxLQUFLLEdBQUcseUJBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbkUsT0FBTyxJQUFJLG1CQUFXLENBQUM7WUFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQ3JCLFdBQVc7WUFDWCxPQUFPO1lBQ1AsT0FBTztZQUNQLE1BQU07WUFDTixLQUFLO1lBQ0wsR0FBRyxNQUFNO1NBQ1YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBaENELG9FQWdDQyJ9