routing-controllers-openapi
Advanced tools
Comparing version
// tslint:disable:no-implicit-dependencies no-submodule-imports | ||
import { defaultMetadataStorage } from 'class-transformer/storage' | ||
import { getFromContainer, MetadataStorage } from 'class-validator' | ||
import { validationMetadatasToSchemas } from 'class-validator-jsonschema' | ||
@@ -33,5 +32,3 @@ import * as _ from 'lodash' | ||
// Include component schemas parsed with class-validator-jsonschema: | ||
const metadatas = (getFromContainer(MetadataStorage) as any) | ||
.validationMetadatas | ||
const schemas = validationMetadatasToSchemas(metadatas, { | ||
const schemas = validationMetadatasToSchemas({ | ||
classTransformerMetadataStorage: defaultMetadataStorage, | ||
@@ -38,0 +35,0 @@ refPointerPrefix: '#/components/schemas/' |
@@ -26,3 +26,3 @@ "use strict"; | ||
...getOpenAPIMetadata(action.target), | ||
...getOpenAPIMetadata(action.target.prototype, action.method) | ||
...getOpenAPIMetadata(action.target.prototype, action.method), | ||
]; | ||
@@ -61,3 +61,3 @@ return openAPIParams.reduce((acc, oaParam) => { | ||
const reference = { | ||
$ref: `#/components/schemas/${responseSchemaName}` | ||
$ref: `#/components/schemas/${responseSchemaName}`, | ||
}; | ||
@@ -71,7 +71,7 @@ const schema = isArray | ||
[contentType]: { | ||
schema | ||
} | ||
schema, | ||
}, | ||
}, | ||
description | ||
} | ||
description, | ||
}, | ||
}; | ||
@@ -78,0 +78,0 @@ return _.merge({}, source, { responses }); |
@@ -24,3 +24,3 @@ "use strict"; | ||
...getPathParams(route), | ||
...getQueryParams(route) | ||
...getQueryParams(route), | ||
], | ||
@@ -30,3 +30,3 @@ requestBody: getRequestBody(route) || undefined, | ||
summary: getSummary(route), | ||
tags: getTags(route) | ||
tags: getTags(route), | ||
}; | ||
@@ -42,6 +42,6 @@ const cleanedOperation = _.omitBy(operation, _.isEmpty); | ||
function getPaths(routes) { | ||
const routePaths = routes.map(route => ({ | ||
const routePaths = routes.map((route) => ({ | ||
[getFullPath(route)]: { | ||
[route.action.type]: getOperation(route) | ||
} | ||
[route.action.type]: getOperation(route), | ||
}, | ||
})); | ||
@@ -54,3 +54,3 @@ return _.merge(...routePaths); | ||
.filter({ type: 'header' }) | ||
.map(headerMeta => { | ||
.map((headerMeta) => { | ||
const schema = getParamSchema(headerMeta); | ||
@@ -61,3 +61,3 @@ return { | ||
required: isRequired(headerMeta, route), | ||
schema | ||
schema, | ||
}; | ||
@@ -73,3 +73,3 @@ }) | ||
required: isRequired(headersMeta, route), | ||
schema | ||
schema, | ||
}); | ||
@@ -91,3 +91,3 @@ } | ||
required: !token.optional, | ||
schema: { type: 'string' } | ||
schema: { type: 'string' }, | ||
}; | ||
@@ -110,3 +110,3 @@ if (token.pattern && token.pattern !== '[^\\/]+?') { | ||
.filter({ type: 'query' }) | ||
.map(queryMeta => { | ||
.map((queryMeta) => { | ||
const schema = getParamSchema(queryMeta); | ||
@@ -117,3 +117,3 @@ return { | ||
required: isRequired(queryMeta, route), | ||
schema | ||
schema, | ||
}; | ||
@@ -129,3 +129,3 @@ }) | ||
required: isRequired(queriesMeta, route), | ||
schema | ||
schema, | ||
}); | ||
@@ -137,3 +137,3 @@ } | ||
function getRequestBody(route) { | ||
const bodyParamMetas = route.params.filter(d => d.type === 'body-param'); | ||
const bodyParamMetas = route.params.filter((d) => d.type === 'body-param'); | ||
const bodyParamsSchema = bodyParamMetas.length > 0 | ||
@@ -144,3 +144,3 @@ ? bodyParamMetas.reduce((acc, d) => (Object.assign(Object.assign({}, acc), { properties: Object.assign(Object.assign({}, acc.properties), { [d.name]: getParamSchema(d) }), required: isRequired(d, route) | ||
: null; | ||
const bodyMeta = route.params.find(d => d.type === 'body'); | ||
const bodyMeta = route.params.find((d) => d.type === 'body'); | ||
if (bodyMeta) { | ||
@@ -154,7 +154,7 @@ const bodySchema = getParamSchema(bodyMeta); | ||
? { allOf: [bodySchema, bodyParamsSchema] } | ||
: bodySchema | ||
} | ||
: bodySchema, | ||
}, | ||
}, | ||
description: _.last(_.split($ref, '/')), | ||
required: isRequired(bodyMeta, route) | ||
required: isRequired(bodyMeta, route), | ||
}; | ||
@@ -164,3 +164,3 @@ } | ||
return { | ||
content: { 'application/json': { schema: bodyParamsSchema } } | ||
content: { 'application/json': { schema: bodyParamsSchema } }, | ||
}; | ||
@@ -189,4 +189,4 @@ } | ||
content: { [contentType]: {} }, | ||
description: 'Successful response' | ||
} | ||
description: 'Successful response', | ||
}, | ||
}; | ||
@@ -200,3 +200,3 @@ } | ||
openapi: '3.0.0', | ||
paths: getPaths(routes) | ||
paths: getPaths(routes), | ||
}; | ||
@@ -216,3 +216,3 @@ } | ||
return tokens | ||
.map(d => (_.isString(d) ? d : `${d.prefix}{${d.name}}`)) | ||
.map((d) => (_.isString(d) ? d : `${d.prefix}{${d.name}}`)) | ||
.join(''); | ||
@@ -253,2 +253,2 @@ } | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVTcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2dlbmVyYXRlU3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLDRCQUEyQjtBQUUzQiwrQ0FBOEM7QUFDOUMsNEJBQXlCO0FBR3pCLDZDQUFvRDtBQUlwRCxTQUFnQixrQkFBa0IsQ0FBQyxLQUFhO0lBQzlDLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQTtJQUM3QyxPQUFPLENBQ0wsQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUMzQixDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3hCLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FDckIsQ0FBQTtBQUNILENBQUM7QUFQRCxnREFPQztBQUtELFNBQWdCLFdBQVcsQ0FBQyxLQUFhO0lBQ3ZDLE9BQU8sb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtBQUN4RCxDQUFDO0FBRkQsa0NBRUM7QUFLRCxTQUFnQixZQUFZLENBQUMsS0FBYTtJQUN4QyxNQUFNLFNBQVMsR0FBdUI7UUFDcEMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxLQUFLLENBQUM7UUFDbEMsVUFBVSxFQUFFO1lBQ1YsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDO1lBQ3pCLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQztZQUN2QixHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUM7U0FDekI7UUFDRCxXQUFXLEVBQUUsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLFNBQVM7UUFDL0MsU0FBUyxFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDOUIsT0FBTyxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDMUIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUM7S0FDckIsQ0FBQTtJQUVELE1BQU0sZ0JB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 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVTcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2dlbmVyYXRlU3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLDRCQUEyQjtBQUUzQiwrQ0FBOEM7QUFDOUMsNEJBQXlCO0FBR3pCLDZDQUFvRDtBQUlwRCxTQUFnQixrQkFBa0IsQ0FBQyxLQUFhO0lBQzlDLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQTtJQUM3QyxPQUFPLENBQ0wsQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUMzQixDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3hCLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FDckIsQ0FBQTtBQUNILENBQUM7QUFQRCxnREFPQztBQUtELFNBQWdCLFdBQVcsQ0FBQyxLQUFhO0lBQ3ZDLE9BQU8sb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtBQUN4RCxDQUFDO0FBRkQsa0NBRUM7QUFLRCxTQUFnQixZQUFZLENBQUMsS0FBYTtJQUN4QyxNQUFNLFNBQVMsR0FBdUI7UUFDcEMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxLQUFLLENBQUM7UUFDbEMsVUFBVSxFQUFFO1lBQ1YsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDO1lBQ3pCLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQztZQUN2QixHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUM7U0FDekI7UUFDRCxXQUFXLEVBQUUsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLFNBQVM7UUFDL0MsU0FBUyxFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDOUIsT0FBTyxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDMUIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUM7S0FDckIsQ0FBQTtJQUVELE1BQU0sZ0JB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 |
@@ -5,13 +5,13 @@ "use strict"; | ||
function parseRoutes(storage, options = {}) { | ||
return storage.actions.map(action => ({ | ||
return storage.actions.map((action) => ({ | ||
action, | ||
controller: _.find(storage.controllers, { | ||
target: action.target | ||
target: action.target, | ||
}), | ||
options, | ||
params: _.sortBy(storage.filterParamsWithTargetAndMethod(action.target, action.method), 'index'), | ||
responseHandlers: storage.filterResponseHandlersWithTargetAndMethod(action.target, action.method) | ||
responseHandlers: storage.filterResponseHandlersWithTargetAndMethod(action.target, action.method), | ||
})); | ||
} | ||
exports.parseRoutes = parseRoutes; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VNZXRhZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXJzZU1ldGFkYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsNEJBQTJCO0FBd0IzQixTQUFnQixXQUFXLENBQ3pCLE9BQTRCLEVBQzVCLFVBQXFDLEVBQUU7SUFFdkMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEMsTUFBTTtRQUNOLFVBQVUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUU7WUFDdEMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1NBQ3RCLENBQTJCO1FBQzVCLE9BQU87UUFDUCxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FDZCxPQUFPLENBQUMsK0JBQStCLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQ3JFLE9BQU8sQ0FDUjtRQUNELGdCQUFnQixFQUFFLE9BQU8sQ0FBQyx5Q0FBeUMsQ0FDakUsTUFBTSxDQUFDLE1BQU0sRUFDYixNQUFNLENBQUMsTUFBTSxDQUNkO0tBQ0YsQ0FBQyxDQUFDLENBQUE7QUFDTCxDQUFDO0FBbkJELGtDQW1CQyJ9 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VNZXRhZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXJzZU1ldGFkYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsNEJBQTJCO0FBd0IzQixTQUFnQixXQUFXLENBQ3pCLE9BQTRCLEVBQzVCLFVBQXFDLEVBQUU7SUFFdkMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN0QyxNQUFNO1FBQ04sVUFBVSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRTtZQUN0QyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07U0FDdEIsQ0FBMkI7UUFDNUIsT0FBTztRQUNQLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUNkLE9BQU8sQ0FBQywrQkFBK0IsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFDckUsT0FBTyxDQUNSO1FBQ0QsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLHlDQUF5QyxDQUNqRSxNQUFNLENBQUMsTUFBTSxFQUNiLE1BQU0sQ0FBQyxNQUFNLENBQ2Q7S0FDRixDQUFDLENBQUMsQ0FBQTtBQUNMLENBQUM7QUFuQkQsa0NBbUJDIn0= |
@@ -7,2 +7,6 @@ # Changelog | ||
## [2.0.0-rc1] - 2020-05-01 | ||
### Changed | ||
- Bump `class-validator` peer dependency to `^0.12.0` - meaning we're no longer compatible with pre-0.12 versions of `class-validator`! | ||
## [1.8.1] - 2020-04-10 | ||
@@ -9,0 +13,0 @@ ### Fixed |
{ | ||
"name": "routing-controllers-openapi", | ||
"version": "1.8.1", | ||
"version": "2.0.0-rc1", | ||
"description": "Runtime OpenAPI v3 spec generation for routing-controllers", | ||
@@ -20,4 +20,5 @@ "keywords": [ | ||
"format": "prettier --write {src,test}/**/*.ts", | ||
"test:format": "prettier --check {src,test}/**/*.ts", | ||
"lint": "tslint --project . src/**/*.ts", | ||
"prepare": "install-self-peers -- --ignore-scripts && yarn build", | ||
"prepare": "install-self-peers -- --frozen-lockfile --ignore-scripts && yarn build", | ||
"send-coverage": "codecov -f coverage/*.json", | ||
@@ -40,20 +41,20 @@ "test": "jest --coverage", | ||
"@team-griffin/install-self-peers": "^1.1.1", | ||
"@types/jest": "^24.0.23", | ||
"@types/lodash": "^4.14.149", | ||
"@types/node": "^12.12.14", | ||
"@types/prettier": "^1.19.0", | ||
"@types/jest": "^25.2.1", | ||
"@types/lodash": "^4.14.150", | ||
"@types/node": "^13.13.4", | ||
"@types/prettier": "^2.0.0", | ||
"@types/reflect-metadata": "^0.1.0", | ||
"@types/rimraf": "^2.0.3", | ||
"@types/rimraf": "^3.0.0", | ||
"class-transformer": "^0.2.3", | ||
"class-validator": "^0.11.0", | ||
"class-validator-jsonschema": "^1.3.0", | ||
"class-validator": "^0.12.2", | ||
"class-validator-jsonschema": "^2.0.0-rc1", | ||
"codecov": "^3.6.1", | ||
"jest": "^24.9.0", | ||
"prettier": "^1.19.1", | ||
"rimraf": "^3.0.0", | ||
"ts-jest": "^24.2.0", | ||
"tslint": "^5.20.1", | ||
"jest": "^25.5.3", | ||
"prettier": "^2.0.5", | ||
"rimraf": "^3.0.2", | ||
"ts-jest": "^25.4.0", | ||
"tslint": "^6.1.2", | ||
"tslint-config-prettier": "^1.18.0", | ||
"tslint-config-standard": "^9.0.0", | ||
"typescript": "^3.7.2" | ||
"typescript": "^3.8.3" | ||
}, | ||
@@ -60,0 +61,0 @@ "peerDependencies": { |
@@ -138,3 +138,3 @@ # routing-controllers-openapi | ||
const schemas = validationMetadatasToSchemas(metadatas, { | ||
const schemas = validationMetadatasToSchemas({ | ||
refPointerPrefix: '#/components/schemas/' | ||
@@ -141,0 +141,0 @@ }) |
import 'reflect-metadata' | ||
import { getFromContainer, MetadataStorage } from 'class-validator' // tslint:disable-line | ||
import { validationMetadatasToSchemas } from 'class-validator-jsonschema' | ||
@@ -20,4 +19,3 @@ import { Express } from 'express' | ||
// Parse class-validator classes into JSON Schema: | ||
const metadatas = (getFromContainer(MetadataStorage) as any).validationMetadatas | ||
const schemas = validationMetadatasToSchemas(metadatas, { | ||
const schemas = validationMetadatasToSchemas({ | ||
refPointerPrefix: '#/components/schemas/' | ||
@@ -24,0 +22,0 @@ }) |
@@ -16,7 +16,7 @@ { | ||
"body-parser": "^1.18.3", | ||
"class-validator": "^0.11.0", | ||
"class-validator-jsonschema": "^1.3.0", | ||
"class-validator": "^0.12.2", | ||
"class-validator-jsonschema": "^2.0.0-rc1", | ||
"express": "^4.16.3", | ||
"reflect-metadata": "^0.1.13", | ||
"routing-controllers": "^0.8.0", | ||
"routing-controllers": "^0.8.1", | ||
"routing-controllers-openapi": "../.." | ||
@@ -23,0 +23,0 @@ }, |
@@ -6,3 +6,3 @@ import * as _ from 'lodash' | ||
ResponsesObject, | ||
SchemaObject | ||
SchemaObject, | ||
} from 'openapi3-ts' | ||
@@ -53,3 +53,3 @@ import 'reflect-metadata' | ||
...getOpenAPIMetadata(action.target), | ||
...getOpenAPIMetadata(action.target.prototype, action.method) | ||
...getOpenAPIMetadata(action.target.prototype, action.method), | ||
] | ||
@@ -115,3 +115,3 @@ | ||
const reference: ReferenceObject = { | ||
$ref: `#/components/schemas/${responseSchemaName}` | ||
$ref: `#/components/schemas/${responseSchemaName}`, | ||
} | ||
@@ -125,7 +125,7 @@ const schema: SchemaObject = isArray | ||
[contentType]: { | ||
schema | ||
} | ||
schema, | ||
}, | ||
}, | ||
description | ||
} | ||
description, | ||
}, | ||
} | ||
@@ -132,0 +132,0 @@ |
@@ -37,3 +37,3 @@ // tslint:disable:no-submodule-imports | ||
...getPathParams(route), | ||
...getQueryParams(route) | ||
...getQueryParams(route), | ||
], | ||
@@ -43,3 +43,3 @@ requestBody: getRequestBody(route) || undefined, | ||
summary: getSummary(route), | ||
tags: getTags(route) | ||
tags: getTags(route), | ||
} | ||
@@ -62,6 +62,6 @@ | ||
export function getPaths(routes: IRoute[]): oa.PathObject { | ||
const routePaths = routes.map(route => ({ | ||
const routePaths = routes.map((route) => ({ | ||
[getFullPath(route)]: { | ||
[route.action.type]: getOperation(route) | ||
} | ||
[route.action.type]: getOperation(route), | ||
}, | ||
})) | ||
@@ -79,3 +79,3 @@ | ||
.filter({ type: 'header' }) | ||
.map(headerMeta => { | ||
.map((headerMeta) => { | ||
const schema = getParamSchema(headerMeta) as oa.SchemaObject | ||
@@ -86,3 +86,3 @@ return { | ||
required: isRequired(headerMeta, route), | ||
schema | ||
schema, | ||
} | ||
@@ -99,3 +99,3 @@ }) | ||
required: isRequired(headersMeta, route), | ||
schema | ||
schema, | ||
}) | ||
@@ -125,3 +125,3 @@ } | ||
required: !token.optional, | ||
schema: { type: 'string' } | ||
schema: { type: 'string' }, | ||
} | ||
@@ -150,3 +150,3 @@ | ||
.filter({ type: 'query' }) | ||
.map(queryMeta => { | ||
.map((queryMeta) => { | ||
const schema = getParamSchema(queryMeta) as oa.SchemaObject | ||
@@ -157,3 +157,3 @@ return { | ||
required: isRequired(queryMeta, route), | ||
schema | ||
schema, | ||
} | ||
@@ -170,3 +170,3 @@ }) | ||
required: isRequired(queriesMeta, route), | ||
schema | ||
schema, | ||
}) | ||
@@ -182,3 +182,3 @@ } | ||
export function getRequestBody(route: IRoute): oa.RequestBodyObject | void { | ||
const bodyParamMetas = route.params.filter(d => d.type === 'body-param') | ||
const bodyParamMetas = route.params.filter((d) => d.type === 'body-param') | ||
const bodyParamsSchema: oa.SchemaObject | null = | ||
@@ -191,7 +191,7 @@ bodyParamMetas.length > 0 | ||
...acc.properties, | ||
[d.name!]: getParamSchema(d) | ||
[d.name!]: getParamSchema(d), | ||
}, | ||
required: isRequired(d, route) | ||
? [...(acc.required || []), d.name!] | ||
: acc.required | ||
: acc.required, | ||
}), | ||
@@ -202,3 +202,3 @@ { properties: {}, required: [], type: 'object' } | ||
const bodyMeta = route.params.find(d => d.type === 'body') | ||
const bodyMeta = route.params.find((d) => d.type === 'body') | ||
@@ -215,11 +215,11 @@ if (bodyMeta) { | ||
? { allOf: [bodySchema, bodyParamsSchema] } | ||
: bodySchema | ||
} | ||
: bodySchema, | ||
}, | ||
}, | ||
description: _.last(_.split($ref, '/')), | ||
required: isRequired(bodyMeta, route) | ||
required: isRequired(bodyMeta, route), | ||
} | ||
} else if (bodyParamsSchema) { | ||
return { | ||
content: { 'application/json': { schema: bodyParamsSchema } } | ||
content: { 'application/json': { schema: bodyParamsSchema } }, | ||
} | ||
@@ -259,4 +259,4 @@ } | ||
content: { [contentType]: {} }, | ||
description: 'Successful response' | ||
} | ||
description: 'Successful response', | ||
}, | ||
} | ||
@@ -273,3 +273,3 @@ } | ||
openapi: '3.0.0', | ||
paths: getPaths(routes) | ||
paths: getPaths(routes), | ||
} | ||
@@ -298,3 +298,3 @@ } | ||
return tokens | ||
.map(d => (_.isString(d) ? d : `${d.prefix}{${d.name}}`)) | ||
.map((d) => (_.isString(d) ? d : `${d.prefix}{${d.name}}`)) | ||
.join('') | ||
@@ -301,0 +301,0 @@ } |
@@ -5,3 +5,3 @@ import * as _ from 'lodash' | ||
MetadataArgsStorage, | ||
RoutingControllersOptions | ||
RoutingControllersOptions, | ||
} from 'routing-controllers' | ||
@@ -8,0 +8,0 @@ |
@@ -5,3 +5,3 @@ // tslint:disable:no-submodule-imports | ||
MetadataArgsStorage, | ||
RoutingControllersOptions | ||
RoutingControllersOptions, | ||
} from 'routing-controllers' | ||
@@ -31,6 +31,6 @@ import { ActionMetadataArgs } from 'routing-controllers/metadata/args/ActionMetadataArgs' | ||
): IRoute[] { | ||
return storage.actions.map(action => ({ | ||
return storage.actions.map((action) => ({ | ||
action, | ||
controller: _.find(storage.controllers, { | ||
target: action.target | ||
target: action.target, | ||
}) as ControllerMetadataArgs, | ||
@@ -45,4 +45,4 @@ options, | ||
action.method | ||
) | ||
), | ||
})) | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
185639
0.3%2946
-0.17%2
100%