@eggjs/controller-decorator
Version:
tegg controller decorator
42 lines • 3.86 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.MCPControllerPromptMetaBuilder = 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 MCPControllerPromptMetaBuilder {
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.getMCPPromptParams(this.clazz, this.methodName);
const detail = MCPInfoUtil_1.MCPInfoUtil.getMCPPromptArgsIndex(this.clazz, this.methodName);
const extra = MCPInfoUtil_1.MCPInfoUtil.getMCPExtra(this.clazz, this.methodName);
const contextParamIndex = MethodInfoUtil_1.default.getMethodContextIndex(this.clazz, this.methodName);
return new model_1.MCPPromptMeta({
name: this.methodName,
middlewares,
contextParamIndex,
needAcl,
aclCode,
detail,
extra,
...params,
});
}
}
exports.MCPControllerPromptMetaBuilder = MCPControllerPromptMetaBuilder;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTUNQQ29udHJvbGxlclByb21wdE1ldGFCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ltcGwvbWNwL01DUENvbnRyb2xsZXJQcm9tcHRNZXRhQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSx1Q0FBNEM7QUFDNUMsMEVBQXVFO0FBQ3ZFLCtFQUF1RDtBQUN2RCx3REFBcUQ7QUFFckQsTUFBYSw4QkFBOEI7SUFJekMsWUFBWSxLQUF3QixFQUFFLFVBQWtCO1FBQ3RELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLO1FBQ0gsaUNBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEQsTUFBTSxjQUFjLEdBQUcsd0JBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMzRixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDcEIsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUNELE1BQU0sV0FBVyxHQUFHLHdCQUFjLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckYsTUFBTSxPQUFPLEdBQUcsd0JBQWMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekUsTUFBTSxPQUFPLEdBQUcsd0JBQWMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekUsTUFBTSxNQUFNLEdBQUcseUJBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMzRSxNQUFNLE1BQU0sR0FBRyx5QkFBVyxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sS0FBSyxHQUFHLHlCQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25FLE1BQU0saUJBQWlCLEdBQUcsd0JBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU1RixPQUFPLElBQUkscUJBQWEsQ0FBQztZQUN2QixJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDckIsV0FBVztZQUNYLGlCQUFpQjtZQUNqQixPQUFPO1lBQ1AsT0FBTztZQUNQLE1BQU07WUFDTixLQUFLO1lBQ0wsR0FBRyxNQUFNO1NBQ1YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBbENELHdFQWtDQyJ9