routing-controllers-openapi-extended
Version:
Runtime Swagger v2 / OpenAPI v2 specification generation for routing-controllers
27 lines • 2.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const _ = require("lodash");
const parameterParser_1 = require("./parameterParser");
const responseParser_1 = require("./responseParser");
const tagsParser_1 = require("./tagsParser");
const decoratorParser_1 = require("./decoratorParser");
function getOperationId(route) {
return `${route.action.target.name}.${route.action.method}`;
}
function getSummary(route) {
return _.capitalize(_.startCase(route.action.method));
}
function getOperation(route) {
const operation = {
operationId: getOperationId(route),
summary: getSummary(route),
tags: tagsParser_1.getTags(route),
parameters: parameterParser_1.getParameters(route),
responses: responseParser_1.getResponses(route),
};
const operationObj = decoratorParser_1.decoratorParser(route);
const mergedOperationObj = _.merge(operation, operationObj);
return _.omitBy(mergedOperationObj, _.isEmpty);
}
exports.getOperation = getOperation;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0aW9uUGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhcnNlci9vcGVyYXRpb25QYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw0QkFBMkI7QUFHM0IsdURBQWtEO0FBQ2xELHFEQUFnRDtBQUNoRCw2Q0FBdUM7QUFDdkMsdURBQW9EO0FBRXBELFNBQVMsY0FBYyxDQUFDLEtBQVk7SUFDaEMsT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQ2hFLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxLQUFZO0lBQzVCLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtBQUN6RCxDQUFDO0FBRUQsU0FBZ0IsWUFBWSxDQUFDLEtBQVk7SUFDckMsTUFBTSxTQUFTLEdBQXVCO1FBQ3BDLFdBQVcsRUFBRSxjQUFjLENBQUMsS0FBSyxDQUFDO1FBQ2xDLE9BQU8sRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksRUFBRSxvQkFBTyxDQUFDLEtBQUssQ0FBQztRQUNwQixVQUFVLEVBQUUsK0JBQWEsQ0FBQyxLQUFLLENBQUM7UUFDaEMsU0FBUyxFQUFFLDZCQUFZLENBQUMsS0FBSyxDQUFDO0tBQy9CLENBQUM7SUFDRixNQUFNLFlBQVksR0FBRyxpQ0FBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUE7SUFFM0QsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxPQUFPLENBQXVCLENBQUM7QUFDekUsQ0FBQztBQVpELG9DQVlDIn0=