@loopback/openapi-v3 3.4.7 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +57 -0
- package/dist/controller-spec.js +3 -3
- package/dist/controller-spec.js.map +1 -1
- package/dist/decorators/response.decorator.js +3 -1
- package/dist/decorators/response.decorator.js.map +1 -1
- package/dist/enhancers/spec-enhancer.service.js +2 -2
- package/dist/enhancers/spec-enhancer.service.js.map +1 -1
- package/dist/types.d.ts +4 -0
- package/dist/types.js +6 -3
- package/dist/types.js.map +1 -1
- package/package.json +16 -13
- package/src/controller-spec.ts +3 -2
- package/src/decorators/response.decorator.ts +5 -1
- package/src/enhancers/spec-enhancer.service.ts +6 -3
- package/src/types.ts +6 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,63 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [4.0.1](https://github.com/strongloop/loopback-next/compare/@loopback/openapi-v3@4.0.0...@loopback/openapi-v3@4.0.1) (2020-09-17)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @loopback/openapi-v3
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [4.0.0](https://github.com/strongloop/loopback-next/compare/@loopback/openapi-v3@3.4.9...@loopback/openapi-v3@4.0.0) (2020-09-15)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* improve handling of missing design-time type metadata ([95b6a2b](https://github.com/strongloop/loopback-next/commit/95b6a2b7ce64e614720df43b905f77a53a54e438))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Features
|
|
23
|
+
|
|
24
|
+
* **openapi-v3:** export a constant for the default openapi spec info ([fce91a2](https://github.com/strongloop/loopback-next/commit/fce91a20e514c557a5f84bfcae4eb7031894f114))
|
|
25
|
+
* move framework packages to `devDependencies` ([e2c61ce](https://github.com/strongloop/loopback-next/commit/e2c61ce79aa68d76f6e7138642034160b50063f0))
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### BREAKING CHANGES
|
|
29
|
+
|
|
30
|
+
* components no longer install core framework packages as
|
|
31
|
+
their own dependencies, they use the framework packages provided by the
|
|
32
|
+
target application instead.
|
|
33
|
+
|
|
34
|
+
If you are getting `npm install` errors after upgrade, then make sure
|
|
35
|
+
your project lists all dependencies required by the extensions you are
|
|
36
|
+
using.
|
|
37
|
+
|
|
38
|
+
Signed-off-by: Miroslav Bajtoš <mbajtoss@gmail.com>
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
## [3.4.9](https://github.com/strongloop/loopback-next/compare/@loopback/openapi-v3@3.4.8...@loopback/openapi-v3@3.4.9) (2020-08-27)
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
### Bug Fixes
|
|
48
|
+
|
|
49
|
+
* **repository-json-schema:** allows string-based order filter ([c10dca9](https://github.com/strongloop/loopback-next/commit/c10dca990f73d80c70752ae72fd1006bb356991d)), closes [#6140](https://github.com/strongloop/loopback-next/issues/6140)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
## [3.4.8](https://github.com/strongloop/loopback-next/compare/@loopback/openapi-v3@3.4.7...@loopback/openapi-v3@3.4.8) (2020-08-19)
|
|
56
|
+
|
|
57
|
+
**Note:** Version bump only for package @loopback/openapi-v3
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
6
63
|
## [3.4.7](https://github.com/strongloop/loopback-next/compare/@loopback/openapi-v3@3.4.6...@loopback/openapi-v3@3.4.7) (2020-08-05)
|
|
7
64
|
|
|
8
65
|
**Note:** Version bump only for package @loopback/openapi-v3
|
package/dist/controller-spec.js
CHANGED
|
@@ -20,7 +20,7 @@ exports.TS_TYPE_KEY = 'x-ts-type';
|
|
|
20
20
|
* @param constructor - Controller class
|
|
21
21
|
*/
|
|
22
22
|
function resolveControllerSpec(constructor) {
|
|
23
|
-
var _a, _b, _c, _d, _e, _f;
|
|
23
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
24
24
|
debug(`Retrieving OpenAPI specification for controller ${constructor.name}`);
|
|
25
25
|
let spec = core_1.MetadataInspector.getClassMetadata(keys_1.OAI3Keys.CLASS_KEY, constructor);
|
|
26
26
|
if (spec) {
|
|
@@ -199,7 +199,7 @@ function resolveControllerSpec(constructor) {
|
|
|
199
199
|
spec.paths[path][verb] = operationSpec;
|
|
200
200
|
debug(` inferring schema object for method %s`, op);
|
|
201
201
|
const opMetadata = core_1.MetadataInspector.getDesignTypeForMethod(constructor.prototype, op);
|
|
202
|
-
const paramTypes = opMetadata.parameterTypes;
|
|
202
|
+
const paramTypes = (_g = opMetadata === null || opMetadata === void 0 ? void 0 : opMetadata.parameterTypes) !== null && _g !== void 0 ? _g : [];
|
|
203
203
|
const isComplexType = (ctor) => !lodash_1.includes([String, Number, Boolean, Array, Object], ctor);
|
|
204
204
|
for (const p of paramTypes) {
|
|
205
205
|
if (isComplexType(p)) {
|
|
@@ -234,7 +234,7 @@ function processSchemaExtensions(spec, schema) {
|
|
|
234
234
|
* You cannot provide BOTH a defnintion AND one of these keywords.
|
|
235
235
|
*/
|
|
236
236
|
/* istanbul ignore else */
|
|
237
|
-
const hasOwn = (prop) => schema
|
|
237
|
+
const hasOwn = (prop) => schema != null && Object.prototype.hasOwnProperty.call(schema, prop);
|
|
238
238
|
if (SCHEMA_ARR_KEYS.some(k => hasOwn(k))) {
|
|
239
239
|
SCHEMA_ARR_KEYS.forEach((k) => {
|
|
240
240
|
/* istanbul ignore else */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller-spec.js","sourceRoot":"","sources":["../src/controller-spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"controller-spec.js","sourceRoot":"","sources":["../src/controller-spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,9 @@ const http_status_1 = tslib_1.__importDefault(require("http-status"));
|
|
|
11
11
|
const keys_1 = require("../keys");
|
|
12
12
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
13
13
|
function isResponseObject(c) {
|
|
14
|
-
return
|
|
14
|
+
return (c != null &&
|
|
15
|
+
Object.prototype.hasOwnProperty.call(c, 'content') &&
|
|
16
|
+
c.content != null);
|
|
15
17
|
}
|
|
16
18
|
function buildDecoratorReducer(responseCode, description, contentType = 'application/json') {
|
|
17
19
|
const decoratorItemReducer = (r, m) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.decorator.js","sourceRoot":"","sources":["../../src/decorators/response.decorator.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,yCAA2D;AAC3D,sEAAqC;AAOrC,kCAAiC;AAOjC,8DAA8D;AAC9D,SAAS,gBAAgB,CAAC,CAAM;IAC9B,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"response.decorator.js","sourceRoot":"","sources":["../../src/decorators/response.decorator.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,yCAA2D;AAC3D,sEAAqC;AAOrC,kCAAiC;AAOjC,8DAA8D;AAC9D,SAAS,gBAAgB,CAAC,CAAM;IAC9B,OAAO,CACL,CAAC,IAAI,IAAI;QACT,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC;QAClD,CAAC,CAAC,OAAO,IAAI,IAAI,CAClB,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,YAAoB,EACpB,WAAmB,EACnB,WAAW,GAAG,kBAAkB;IAEhC,MAAM,oBAAoB,GAAG,CAC3B,CAA4B,EAC5B,CAAsB,EACtB,EAAE;;QACF,iDAAiD;QACjD,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE;YACvB,MAAM,CAAC,IAAI,OAAC,CAAC,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;;gBACxC,CAAC,CAAC,IAAI,CAAC;oBACL,YAAY;oBACZ,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAEhB;oBACnB,WAAW,EAAE,EAAE;oBACf,WAAW,QAAE,CAAC,CAAC,WAAW,mCAAI,WAAW;iBAC1C,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,CAAC,CAAC,IAAI,CAAC;gBACL,YAAY;gBACZ,mBAAmB,EAAE,CAAC;gBACtB,kDAAkD;gBAClD,WAAW;gBACX,WAAW;aACZ,CAAC,CAAC;SACJ;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IACF,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,QAAQ,CACtB,YAAoB,EACpB,GAAG,mBAA0C;IAE7C,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAgC,CAAC;IAEvE,OAAO,kCAA2B,CAAC,eAAe,CAChD,eAAQ,CAAC,mBAAmB,EAC5B,mBAAmB,CAAC,MAAM,CACxB,qBAAqB,CAAC,YAAY,EAAE,qBAAU,CAAC,UAAU,CAAW,CAAC,EACrE,EAAE,CACH,EACD,EAAC,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAC,CACtD,CAAC;AACJ,CAAC;AAdD,4BAcC;AAED,WAAiB,QAAQ;IACvB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACU,aAAI,GAAG,CAAC,GAAG,UAAoB,EAAE,EAAE;QAC9C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,UAAU,GAAG,CAAC,0BAA0B,CAAC,CAAC;SAC3C;QACD,MAAM,mBAAmB,GAAwB;YAC/C,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,kBAAkB;SAChC,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE;YAC1B,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;gBAC/B,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,QAAQ;iBACjB;aACF,CAAC;SACH;QAED,OAAO,QAAQ,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAC5C,CAAC,CAAC;AACJ,CAAC,EA1CgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QA0CxB"}
|
|
@@ -10,6 +10,7 @@ const core_1 = require("@loopback/core");
|
|
|
10
10
|
const debug_1 = tslib_1.__importDefault(require("debug"));
|
|
11
11
|
const _ = tslib_1.__importStar(require("lodash"));
|
|
12
12
|
const util_1 = require("util");
|
|
13
|
+
const types_1 = require("../types");
|
|
13
14
|
const keys_1 = require("./keys");
|
|
14
15
|
const jsonmergepatch = require('json-merge-patch');
|
|
15
16
|
const debug = debug_1.default('loopback:openapi:spec-enhancer');
|
|
@@ -37,8 +38,7 @@ let OASEnhancerService = class OASEnhancerService {
|
|
|
37
38
|
this._spec = {
|
|
38
39
|
openapi: '3.0.0',
|
|
39
40
|
info: {
|
|
40
|
-
|
|
41
|
-
version: '1.0.0',
|
|
41
|
+
...types_1.DEFAULT_OPENAPI_SPEC_INFO,
|
|
42
42
|
},
|
|
43
43
|
paths: {},
|
|
44
44
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-enhancer.service.js","sourceRoot":"","sources":["../../src/enhancers/spec-enhancer.service.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,yCAA0E;AAC1E,0DAAgC;AAChC,kDAA4B;AAC5B,+BAA6B;
|
|
1
|
+
{"version":3,"file":"spec-enhancer.service.js","sourceRoot":"","sources":["../../src/enhancers/spec-enhancer.service.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -2,6 +2,10 @@ import { Model } from '@loopback/repository';
|
|
|
2
2
|
import { OpenAPIObject, ReferenceObject, ResponseObject, SchemaObject } from 'openapi3-ts';
|
|
3
3
|
export declare type OpenApiSpec = OpenAPIObject;
|
|
4
4
|
export * from 'openapi3-ts';
|
|
5
|
+
export declare const DEFAULT_OPENAPI_SPEC_INFO: {
|
|
6
|
+
title: string;
|
|
7
|
+
version: string;
|
|
8
|
+
};
|
|
5
9
|
/**
|
|
6
10
|
* Create an empty OpenApiSpec object that's still a valid openapi document.
|
|
7
11
|
*
|
package/dist/types.js
CHANGED
|
@@ -4,10 +4,14 @@
|
|
|
4
4
|
// This file is licensed under the MIT License.
|
|
5
5
|
// License text available at https://opensource.org/licenses/MIT
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.createEmptyApiSpec = void 0;
|
|
7
|
+
exports.createEmptyApiSpec = exports.DEFAULT_OPENAPI_SPEC_INFO = void 0;
|
|
8
8
|
const tslib_1 = require("tslib");
|
|
9
9
|
// Export also all spec interfaces
|
|
10
10
|
tslib_1.__exportStar(require("openapi3-ts"), exports);
|
|
11
|
+
exports.DEFAULT_OPENAPI_SPEC_INFO = {
|
|
12
|
+
title: 'LoopBack Application',
|
|
13
|
+
version: '1.0.0',
|
|
14
|
+
};
|
|
11
15
|
/**
|
|
12
16
|
* Create an empty OpenApiSpec object that's still a valid openapi document.
|
|
13
17
|
*
|
|
@@ -17,8 +21,7 @@ function createEmptyApiSpec() {
|
|
|
17
21
|
return {
|
|
18
22
|
openapi: '3.0.0',
|
|
19
23
|
info: {
|
|
20
|
-
|
|
21
|
-
version: '1.0.0',
|
|
24
|
+
...exports.DEFAULT_OPENAPI_SPEC_INFO,
|
|
22
25
|
},
|
|
23
26
|
paths: {},
|
|
24
27
|
servers: [{ url: '/' }],
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;;AAchE,kCAAkC;AAClC,sDAA4B;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;;AAchE,kCAAkC;AAClC,sDAA4B;AAEf,QAAA,yBAAyB,GAAG;IACvC,KAAK,EAAE,sBAAsB;IAC7B,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF;;;;GAIG;AACH,SAAgB,kBAAkB;IAChC,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE;YACJ,GAAG,iCAAyB;SAC7B;QACD,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,CAAC,EAAC,GAAG,EAAE,GAAG,EAAC,CAAC;KACtB,CAAC;AACJ,CAAC;AATD,gDASC"}
|
package/package.json
CHANGED
|
@@ -1,33 +1,36 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loopback/openapi-v3",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.1",
|
|
4
4
|
"description": "Decorators that annotate LoopBack artifacts with OpenAPI v3 metadata and utilities that transform LoopBack metadata to OpenAPI v3 specifications",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"engines": {
|
|
8
8
|
"node": ">=10.16"
|
|
9
9
|
},
|
|
10
|
+
"peerDependencies": {
|
|
11
|
+
"@loopback/core": "^2.10.1"
|
|
12
|
+
},
|
|
10
13
|
"dependencies": {
|
|
11
|
-
"@loopback/
|
|
12
|
-
"@loopback/repository-json-schema": "^2.4.8",
|
|
14
|
+
"@loopback/repository-json-schema": "^3.0.1",
|
|
13
15
|
"debug": "^4.1.1",
|
|
14
16
|
"http-status": "^1.4.2",
|
|
15
17
|
"json-merge-patch": "^1.0.0",
|
|
16
|
-
"lodash": "^4.17.
|
|
18
|
+
"lodash": "^4.17.20",
|
|
17
19
|
"openapi3-ts": "^1.4.0",
|
|
18
|
-
"tslib": "^2.0.
|
|
20
|
+
"tslib": "^2.0.1"
|
|
19
21
|
},
|
|
20
22
|
"devDependencies": {
|
|
21
|
-
"@loopback/build": "^6.2.
|
|
22
|
-
"@loopback/
|
|
23
|
-
"@loopback/
|
|
24
|
-
"@loopback/
|
|
25
|
-
"@loopback/
|
|
23
|
+
"@loopback/build": "^6.2.4",
|
|
24
|
+
"@loopback/core": "^2.10.1",
|
|
25
|
+
"@loopback/eslint-config": "^10.0.0",
|
|
26
|
+
"@loopback/openapi-spec-builder": "^2.1.15",
|
|
27
|
+
"@loopback/repository": "^3.0.1",
|
|
28
|
+
"@loopback/testlab": "^3.2.6",
|
|
26
29
|
"@types/debug": "^4.1.5",
|
|
27
30
|
"@types/http-status": "^1.1.2",
|
|
28
31
|
"@types/json-merge-patch": "0.0.5",
|
|
29
|
-
"@types/lodash": "^4.14.
|
|
30
|
-
"@types/node": "^10.17.
|
|
32
|
+
"@types/lodash": "^4.14.161",
|
|
33
|
+
"@types/node": "^10.17.35"
|
|
31
34
|
},
|
|
32
35
|
"scripts": {
|
|
33
36
|
"build": "lb-tsc",
|
|
@@ -60,5 +63,5 @@
|
|
|
60
63
|
"url": "https://github.com/strongloop/loopback-next.git",
|
|
61
64
|
"directory": "packages/openapi-v3"
|
|
62
65
|
},
|
|
63
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "79327fd7e68ebb05be0aa689f4986b54e2a99a6b"
|
|
64
67
|
}
|
package/src/controller-spec.ts
CHANGED
|
@@ -317,7 +317,7 @@ function resolveControllerSpec(constructor: Function): ControllerSpec {
|
|
|
317
317
|
constructor.prototype,
|
|
318
318
|
op,
|
|
319
319
|
);
|
|
320
|
-
const paramTypes = opMetadata
|
|
320
|
+
const paramTypes = opMetadata?.parameterTypes ?? [];
|
|
321
321
|
|
|
322
322
|
const isComplexType = (ctor: Function) =>
|
|
323
323
|
!includes([String, Number, Boolean, Array, Object], ctor);
|
|
@@ -363,7 +363,8 @@ function processSchemaExtensions(
|
|
|
363
363
|
* You cannot provide BOTH a defnintion AND one of these keywords.
|
|
364
364
|
*/
|
|
365
365
|
/* istanbul ignore else */
|
|
366
|
-
const hasOwn = (prop: string) =>
|
|
366
|
+
const hasOwn = (prop: string) =>
|
|
367
|
+
schema != null && Object.prototype.hasOwnProperty.call(schema, prop);
|
|
367
368
|
|
|
368
369
|
if (SCHEMA_ARR_KEYS.some(k => hasOwn(k))) {
|
|
369
370
|
SCHEMA_ARR_KEYS.forEach((k: MixKey) => {
|
|
@@ -20,7 +20,11 @@ interface ResponseWithContent extends ResponseObject {
|
|
|
20
20
|
}
|
|
21
21
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
22
22
|
function isResponseObject(c: any): c is ResponseWithContent {
|
|
23
|
-
return
|
|
23
|
+
return (
|
|
24
|
+
c != null &&
|
|
25
|
+
Object.prototype.hasOwnProperty.call(c, 'content') &&
|
|
26
|
+
c.content != null
|
|
27
|
+
);
|
|
24
28
|
}
|
|
25
29
|
|
|
26
30
|
function buildDecoratorReducer(
|
|
@@ -7,7 +7,11 @@ import {config, extensionPoint, extensions, Getter} from '@loopback/core';
|
|
|
7
7
|
import debugModule from 'debug';
|
|
8
8
|
import * as _ from 'lodash';
|
|
9
9
|
import {inspect} from 'util';
|
|
10
|
-
import {
|
|
10
|
+
import {
|
|
11
|
+
DEFAULT_OPENAPI_SPEC_INFO,
|
|
12
|
+
OpenApiSpec,
|
|
13
|
+
SecuritySchemeObject,
|
|
14
|
+
} from '../types';
|
|
11
15
|
import {OASEnhancerBindings} from './keys';
|
|
12
16
|
import {OASEnhancer} from './types';
|
|
13
17
|
const jsonmergepatch = require('json-merge-patch');
|
|
@@ -48,8 +52,7 @@ export class OASEnhancerService {
|
|
|
48
52
|
private _spec: OpenApiSpec = {
|
|
49
53
|
openapi: '3.0.0',
|
|
50
54
|
info: {
|
|
51
|
-
|
|
52
|
-
version: '1.0.0',
|
|
55
|
+
...DEFAULT_OPENAPI_SPEC_INFO,
|
|
53
56
|
},
|
|
54
57
|
paths: {},
|
|
55
58
|
};
|
package/src/types.ts
CHANGED
|
@@ -18,6 +18,11 @@ export type OpenApiSpec = OpenAPIObject;
|
|
|
18
18
|
// Export also all spec interfaces
|
|
19
19
|
export * from 'openapi3-ts';
|
|
20
20
|
|
|
21
|
+
export const DEFAULT_OPENAPI_SPEC_INFO = {
|
|
22
|
+
title: 'LoopBack Application',
|
|
23
|
+
version: '1.0.0',
|
|
24
|
+
};
|
|
25
|
+
|
|
21
26
|
/**
|
|
22
27
|
* Create an empty OpenApiSpec object that's still a valid openapi document.
|
|
23
28
|
*
|
|
@@ -27,8 +32,7 @@ export function createEmptyApiSpec(): OpenApiSpec {
|
|
|
27
32
|
return {
|
|
28
33
|
openapi: '3.0.0',
|
|
29
34
|
info: {
|
|
30
|
-
|
|
31
|
-
version: '1.0.0',
|
|
35
|
+
...DEFAULT_OPENAPI_SPEC_INFO,
|
|
32
36
|
},
|
|
33
37
|
paths: {},
|
|
34
38
|
servers: [{url: '/'}],
|