@loopback/openapi-v3 4.0.1 → 5.0.0
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 +55 -0
- package/dist/controller-spec.js +22 -5
- package/dist/controller-spec.js.map +1 -1
- package/dist/decorators/index.d.ts +3 -0
- package/dist/decorators/index.js +3 -0
- package/dist/decorators/index.js.map +1 -1
- package/dist/decorators/parameter.decorator.js.map +1 -1
- package/dist/decorators/visibility.decorator.d.ts +36 -0
- package/dist/decorators/visibility.decorator.js +72 -0
- package/dist/decorators/visibility.decorator.js.map +1 -0
- package/dist/keys.d.ts +8 -0
- package/dist/keys.js +8 -0
- package/dist/keys.js.map +1 -1
- package/dist/types.d.ts +4 -0
- package/dist/types.js +6 -1
- package/dist/types.js.map +1 -1
- package/package.json +14 -14
- package/src/controller-spec.ts +35 -2
- package/src/decorators/index.ts +3 -0
- package/src/decorators/parameter.decorator.ts +2 -2
- package/src/decorators/visibility.decorator.ts +88 -0
- package/src/keys.ts +16 -0
- package/src/types.ts +5 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,61 @@
|
|
|
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
|
+
# [5.0.0](https://github.com/strongloop/loopback-next/compare/@loopback/openapi-v3@4.0.1...@loopback/openapi-v3@5.0.0) (2020-10-07)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **openapi-v3:** add OAS3 visibility decorator ([c388cbf](https://github.com/strongloop/loopback-next/commit/c388cbf94ea06065432b4bb52a8b494b5d8c4c8e)), closes [#6392](https://github.com/strongloop/loopback-next/issues/6392)
|
|
12
|
+
* update dependency openapi3-ts to v2 ([aabd6e6](https://github.com/strongloop/loopback-next/commit/aabd6e62a11d5e10ff2256ec664a923041e27ce0))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### BREAKING CHANGES
|
|
16
|
+
|
|
17
|
+
* openapi3-ts@2.x has a stricter typing for `type` and `format`
|
|
18
|
+
properties as union types with a known list of values.
|
|
19
|
+
|
|
20
|
+
We now either have to explicitly type the schema as `SchemaObject`
|
|
21
|
+
or cast the `type` to `SchemaObject['type'], for example:
|
|
22
|
+
|
|
23
|
+
```ts
|
|
24
|
+
import {SchemaObject} from '@loopback/openapi-v3';
|
|
25
|
+
|
|
26
|
+
const schemaDef1 = {
|
|
27
|
+
type: 'number' as const; // cast the type to be 'number' from 'string'
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
// Use the explicit `SchemaObject` to enforce inference
|
|
31
|
+
const schemaDef2: SchemaObject = {
|
|
32
|
+
type: 'number' as const;
|
|
33
|
+
};
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
It also applies to OpenAPI parameter objects:
|
|
37
|
+
|
|
38
|
+
```ts
|
|
39
|
+
import {ParameterObject} from '@loopback/openapi-v3';
|
|
40
|
+
|
|
41
|
+
const paramDef1 = {
|
|
42
|
+
type: 'number' as const, // cast the type to be 'number' from 'string'
|
|
43
|
+
name: 'limit',
|
|
44
|
+
in: 'query',
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Use the explicit `ParameterObject` to enforce inference
|
|
48
|
+
const paramDef2: ParameterObject = {
|
|
49
|
+
type: 'number',
|
|
50
|
+
name: 'limit',
|
|
51
|
+
in: 'query',
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Signed-off-by: Renovate Bot <bot@renovateapp.com>
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
6
61
|
## [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
62
|
|
|
8
63
|
**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, _g;
|
|
23
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
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) {
|
|
@@ -35,10 +35,14 @@ function resolveControllerSpec(constructor) {
|
|
|
35
35
|
debug(' using class-level @deprecated()');
|
|
36
36
|
}
|
|
37
37
|
const classTags = core_1.MetadataInspector.getClassMetadata(keys_1.OAI3Keys.TAGS_CLASS_KEY, constructor);
|
|
38
|
+
const classVisibility = core_1.MetadataInspector.getClassMetadata(keys_1.OAI3Keys.VISIBILITY_CLASS_KEY, constructor);
|
|
39
|
+
if (classVisibility) {
|
|
40
|
+
debug(` using class-level @oas.visibility(): '${classVisibility}'`);
|
|
41
|
+
}
|
|
38
42
|
if (classTags) {
|
|
39
43
|
debug(' using class-level @oas.tags()');
|
|
40
44
|
}
|
|
41
|
-
if (classTags || isClassDeprecated) {
|
|
45
|
+
if (classTags || isClassDeprecated || classVisibility) {
|
|
42
46
|
for (const path of Object.keys(spec.paths)) {
|
|
43
47
|
for (const method of Object.keys(spec.paths[path])) {
|
|
44
48
|
/* istanbul ignore else */
|
|
@@ -46,6 +50,10 @@ function resolveControllerSpec(constructor) {
|
|
|
46
50
|
spec.paths[path][method].deprecated = true;
|
|
47
51
|
}
|
|
48
52
|
/* istanbul ignore else */
|
|
53
|
+
if (classVisibility) {
|
|
54
|
+
spec.paths[path][method]['x-visibility'] = classVisibility;
|
|
55
|
+
}
|
|
56
|
+
/* istanbul ignore else */
|
|
49
57
|
if (classTags) {
|
|
50
58
|
if ((_a = spec.paths[path][method].tags) === null || _a === void 0 ? void 0 : _a.length) {
|
|
51
59
|
spec.paths[path][method].tags = spec.paths[path][method].tags.concat(classTags.tags);
|
|
@@ -68,6 +76,10 @@ function resolveControllerSpec(constructor) {
|
|
|
68
76
|
if (isMethodDeprecated) {
|
|
69
77
|
debug(' using method-level deprecation via @deprecated()');
|
|
70
78
|
}
|
|
79
|
+
const methodVisibility = core_1.MetadataInspector.getMethodMetadata(keys_1.OAI3Keys.VISIBILITY_METHOD_KEY, constructor.prototype, op);
|
|
80
|
+
if (methodVisibility) {
|
|
81
|
+
debug(` using method-level visibility via @visibility(): '${methodVisibility}'`);
|
|
82
|
+
}
|
|
71
83
|
const methodTags = core_1.MetadataInspector.getMethodMetadata(keys_1.OAI3Keys.TAGS_METHOD_KEY, constructor.prototype, op);
|
|
72
84
|
if (methodTags) {
|
|
73
85
|
debug(' using method-level tags via @oas.tags()');
|
|
@@ -114,16 +126,21 @@ function resolveControllerSpec(constructor) {
|
|
|
114
126
|
}
|
|
115
127
|
debug(' operation for method %s: %j', op, endpoint);
|
|
116
128
|
debug(' spec responses for method %s: %o', op, operationSpec.responses);
|
|
117
|
-
//
|
|
129
|
+
// Precedence: method decorator > class decorator > operationSpec > undefined
|
|
118
130
|
const deprecationSpec = (_e = (_d = isMethodDeprecated !== null && isMethodDeprecated !== void 0 ? isMethodDeprecated : isClassDeprecated) !== null && _d !== void 0 ? _d : operationSpec.deprecated) !== null && _e !== void 0 ? _e : false;
|
|
119
131
|
if (deprecationSpec) {
|
|
120
132
|
operationSpec.deprecated = true;
|
|
121
133
|
}
|
|
134
|
+
// Precedence: method decorator > class decorator > operationSpec > 'documented'
|
|
135
|
+
const visibilitySpec = (_f = methodVisibility !== null && methodVisibility !== void 0 ? methodVisibility : classVisibility) !== null && _f !== void 0 ? _f : operationSpec['x-visibility'];
|
|
136
|
+
if (visibilitySpec) {
|
|
137
|
+
operationSpec['x-visibility'] = visibilitySpec;
|
|
138
|
+
}
|
|
122
139
|
for (const code in operationSpec.responses) {
|
|
123
140
|
const responseObject = operationSpec.responses[code];
|
|
124
141
|
if (types_1.isReferenceObject(responseObject))
|
|
125
142
|
continue;
|
|
126
|
-
const content = (
|
|
143
|
+
const content = (_g = responseObject.content) !== null && _g !== void 0 ? _g : {};
|
|
127
144
|
for (const c in content) {
|
|
128
145
|
debug(' processing response code %s with content-type %', code, c);
|
|
129
146
|
processSchemaExtensions(spec, content[c].schema);
|
|
@@ -199,7 +216,7 @@ function resolveControllerSpec(constructor) {
|
|
|
199
216
|
spec.paths[path][verb] = operationSpec;
|
|
200
217
|
debug(` inferring schema object for method %s`, op);
|
|
201
218
|
const opMetadata = core_1.MetadataInspector.getDesignTypeForMethod(constructor.prototype, op);
|
|
202
|
-
const paramTypes = (
|
|
219
|
+
const paramTypes = (_h = opMetadata === null || opMetadata === void 0 ? void 0 : opMetadata.parameterTypes) !== null && _h !== void 0 ? _h : [];
|
|
203
220
|
const isComplexType = (ctor) => !lodash_1.includes([String, Number, Boolean, Array, Object], ctor);
|
|
204
221
|
for (const p of paramTypes) {
|
|
205
222
|
if (isComplexType(p)) {
|
|
@@ -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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"}
|
|
@@ -3,6 +3,7 @@ export * from './deprecated.decorator';
|
|
|
3
3
|
export * from './operation.decorator';
|
|
4
4
|
export * from './parameter.decorator';
|
|
5
5
|
export * from './request-body.decorator';
|
|
6
|
+
export * from './visibility.decorator';
|
|
6
7
|
import { api } from './api.decorator';
|
|
7
8
|
import { deprecated } from './deprecated.decorator';
|
|
8
9
|
import { del, get, operation, patch, post, put } from './operation.decorator';
|
|
@@ -10,6 +11,7 @@ import { param } from './parameter.decorator';
|
|
|
10
11
|
import { requestBody } from './request-body.decorator';
|
|
11
12
|
import { response } from './response.decorator';
|
|
12
13
|
import { tags } from './tags.decorator';
|
|
14
|
+
import { visibility } from './visibility.decorator';
|
|
13
15
|
export declare const oas: {
|
|
14
16
|
api: typeof api;
|
|
15
17
|
operation: typeof operation;
|
|
@@ -23,4 +25,5 @@ export declare const oas: {
|
|
|
23
25
|
deprecated: typeof deprecated;
|
|
24
26
|
response: typeof response;
|
|
25
27
|
tags: typeof tags;
|
|
28
|
+
visibility: typeof visibility;
|
|
26
29
|
};
|
package/dist/decorators/index.js
CHANGED
|
@@ -11,6 +11,7 @@ tslib_1.__exportStar(require("./deprecated.decorator"), exports);
|
|
|
11
11
|
tslib_1.__exportStar(require("./operation.decorator"), exports);
|
|
12
12
|
tslib_1.__exportStar(require("./parameter.decorator"), exports);
|
|
13
13
|
tslib_1.__exportStar(require("./request-body.decorator"), exports);
|
|
14
|
+
tslib_1.__exportStar(require("./visibility.decorator"), exports);
|
|
14
15
|
const api_decorator_1 = require("./api.decorator");
|
|
15
16
|
const deprecated_decorator_1 = require("./deprecated.decorator");
|
|
16
17
|
const operation_decorator_1 = require("./operation.decorator");
|
|
@@ -18,6 +19,7 @@ const parameter_decorator_1 = require("./parameter.decorator");
|
|
|
18
19
|
const request_body_decorator_1 = require("./request-body.decorator");
|
|
19
20
|
const response_decorator_1 = require("./response.decorator");
|
|
20
21
|
const tags_decorator_1 = require("./tags.decorator");
|
|
22
|
+
const visibility_decorator_1 = require("./visibility.decorator");
|
|
21
23
|
exports.oas = {
|
|
22
24
|
api: api_decorator_1.api,
|
|
23
25
|
operation: operation_decorator_1.operation,
|
|
@@ -35,5 +37,6 @@ exports.oas = {
|
|
|
35
37
|
deprecated: deprecated_decorator_1.deprecated,
|
|
36
38
|
response: response_decorator_1.response,
|
|
37
39
|
tags: tags_decorator_1.tags,
|
|
40
|
+
visibility: visibility_decorator_1.visibility,
|
|
38
41
|
};
|
|
39
42
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,0DAAgC;AAChC,iEAAuC;AACvC,gEAAsC;AACtC,gEAAsC;AACtC,mEAAyC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,0DAAgC;AAChC,iEAAuC;AACvC,gEAAsC;AACtC,gEAAsC;AACtC,mEAAyC;AACzC,iEAAuC;AAEvC,mDAAoC;AACpC,iEAAkD;AAClD,+DAA4E;AAC5E,+DAA4C;AAC5C,qEAAqD;AACrD,6DAA8C;AAC9C,qDAAsC;AACtC,iEAAkD;AAErC,QAAA,GAAG,GAAG;IACjB,GAAG,EAAH,mBAAG;IACH,SAAS,EAAT,+BAAS;IAET,UAAU;IACV,GAAG,EAAH,yBAAG;IACH,IAAI,EAAJ,0BAAI;IACJ,GAAG,EAAH,yBAAG;IACH,KAAK,EAAL,2BAAK;IACL,GAAG,EAAH,yBAAG;IAEH,OAAO;IACP,KAAK,EAAL,2BAAK;IAEL,eAAe;IACf,WAAW,EAAX,oCAAW;IAEX,6BAA6B;IAC7B,UAAU,EAAV,iCAAU;IACV,QAAQ,EAAR,6BAAQ;IACR,IAAI,EAAJ,qBAAI;IACJ,UAAU,EAAV,iCAAU;CACX,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameter.decorator.js","sourceRoot":"","sources":["../../src/decorators/parameter.decorator.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;AAEhE,yCAA4E;AAE5E,oDAAuE;AACvE,wDAAiD;AACjD,kCAAiC;AACjC,oCAMkB;AAElB;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,KAAK,CAAC,SAA0B;IAC9C,OAAO,UAAU,MAAc,EAAE,MAAc,EAAE,KAAa;QAC5D,SAAS,GAAG,SAAS,IAAI,EAAE,CAAC;QAC5B,gDAAgD;QAChD,MAAM,SAAS,GAAG,wBAAiB,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,cAAc,KAAI,EAAE,CAAC;QAEnD,2DAA2D;QAE3D,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAEpC,IAAI,SAAS,EAAE;YACb;YACE,iDAAiD;YACjD,CAAC,SAAS,CAAC,MAAM;gBACjB,iEAAiE;gBACjE,CAAC,sBAAc,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAC5D;gBACA,wDAAwD;gBACxD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;oBACtB,yEAAyE;oBACzE,SAAS,CAAC,MAAM,GAAG,+BAAa,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;iBAC/D;aACF;SACF;QAED,IACE,SAAS,CAAC,MAAM;YAChB,sBAAc,CAAC,SAAS,CAAC,MAAM,CAAC;YAChC,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EACjC;YACA,6CAA6C;YAC7C,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,KAAK,EAAE;gBACpE,MAAM,IAAI,KAAK,CACb,mEAAmE,SAAS,CAAC,IAAI,EAAE,CACpF,CAAC;aACH;SACF;QAED,gCAAyB,CAAC,eAAe,CACvC,eAAQ,CAAC,cAAc,EACvB,SAAS,EACT,EAAC,aAAa,EAAE,QAAQ,EAAC,CAC1B,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC;AACJ,CAAC;AA7CD,sBA6CC;AAED;;;;GAIG;AACH,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"parameter.decorator.js","sourceRoot":"","sources":["../../src/decorators/parameter.decorator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { OperationVisibility } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Marks an api path with the specfied visibility. When applied to a class,
|
|
4
|
+
* this decorator marks all paths with the specified visibility.
|
|
5
|
+
*
|
|
6
|
+
* You can optionally mark all controllers in a class with
|
|
7
|
+
* `@visibility('undocumented')`, but use `@visibility('documented')`
|
|
8
|
+
* on a specific method to ensure it is not marked as `undocumented`.
|
|
9
|
+
*
|
|
10
|
+
* @param visibilityTyoe - The visbility of the api path on the OAS3 spec.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* @oas.visibility('undocumented')
|
|
15
|
+
* class MyController {
|
|
16
|
+
* @get('/greet')
|
|
17
|
+
* async function greet() {
|
|
18
|
+
* return 'Hello, World!'
|
|
19
|
+
* }
|
|
20
|
+
*
|
|
21
|
+
* @get('/greet-v2')
|
|
22
|
+
* @oas.deprecated('documented')
|
|
23
|
+
* async function greetV2() {
|
|
24
|
+
* return 'Hello, World!'
|
|
25
|
+
* }
|
|
26
|
+
* }
|
|
27
|
+
*
|
|
28
|
+
* class MyOtherController {
|
|
29
|
+
* @get('/echo')
|
|
30
|
+
* async function echo() {
|
|
31
|
+
* return 'Echo!'
|
|
32
|
+
* }
|
|
33
|
+
* }
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare function visibility(visibilityType: OperationVisibility): (target: any, method?: string | undefined, methodDescriptor?: TypedPropertyDescriptor<any> | undefined) => any;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright IBM Corp. 2020. All Rights Reserved.
|
|
3
|
+
// Node module: @loopback/openapi-v3
|
|
4
|
+
// This file is licensed under the MIT License.
|
|
5
|
+
// License text available at https://opensource.org/licenses/MIT
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.visibility = void 0;
|
|
8
|
+
const core_1 = require("@loopback/core");
|
|
9
|
+
const keys_1 = require("../keys");
|
|
10
|
+
const debug = require('debug')('loopback:openapi3:metadata:controller-spec:visibility');
|
|
11
|
+
/**
|
|
12
|
+
* Marks an api path with the specfied visibility. When applied to a class,
|
|
13
|
+
* this decorator marks all paths with the specified visibility.
|
|
14
|
+
*
|
|
15
|
+
* You can optionally mark all controllers in a class with
|
|
16
|
+
* `@visibility('undocumented')`, but use `@visibility('documented')`
|
|
17
|
+
* on a specific method to ensure it is not marked as `undocumented`.
|
|
18
|
+
*
|
|
19
|
+
* @param visibilityTyoe - The visbility of the api path on the OAS3 spec.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* @oas.visibility('undocumented')
|
|
24
|
+
* class MyController {
|
|
25
|
+
* @get('/greet')
|
|
26
|
+
* async function greet() {
|
|
27
|
+
* return 'Hello, World!'
|
|
28
|
+
* }
|
|
29
|
+
*
|
|
30
|
+
* @get('/greet-v2')
|
|
31
|
+
* @oas.deprecated('documented')
|
|
32
|
+
* async function greetV2() {
|
|
33
|
+
* return 'Hello, World!'
|
|
34
|
+
* }
|
|
35
|
+
* }
|
|
36
|
+
*
|
|
37
|
+
* class MyOtherController {
|
|
38
|
+
* @get('/echo')
|
|
39
|
+
* async function echo() {
|
|
40
|
+
* return 'Echo!'
|
|
41
|
+
* }
|
|
42
|
+
* }
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
function visibility(visibilityType) {
|
|
46
|
+
return function visibilityDecoratorForClassOrMethod(
|
|
47
|
+
// Class or a prototype
|
|
48
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
49
|
+
target, method,
|
|
50
|
+
// Use `any` to for `TypedPropertyDescriptor`
|
|
51
|
+
// See https://github.com/strongloop/loopback-next/pull/2704
|
|
52
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
53
|
+
methodDescriptor) {
|
|
54
|
+
debug(target, method, methodDescriptor);
|
|
55
|
+
if (method && methodDescriptor) {
|
|
56
|
+
// Method
|
|
57
|
+
return core_1.MethodDecoratorFactory.createDecorator(keys_1.OAI3Keys.VISIBILITY_METHOD_KEY, visibilityType, {
|
|
58
|
+
decoratorName: '@oas.visibility',
|
|
59
|
+
})(target, method, methodDescriptor);
|
|
60
|
+
}
|
|
61
|
+
else if (typeof target === 'function' && !method && !methodDescriptor) {
|
|
62
|
+
// Class
|
|
63
|
+
return core_1.ClassDecoratorFactory.createDecorator(keys_1.OAI3Keys.VISIBILITY_CLASS_KEY, visibilityType, { decoratorName: '@oas.visibility' })(target);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
throw new Error('@oas.visibility cannot be used on a property: ' +
|
|
67
|
+
core_1.DecoratorFactory.getTargetName(target, method, methodDescriptor));
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
exports.visibility = visibility;
|
|
72
|
+
//# sourceMappingURL=visibility.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visibility.decorator.js","sourceRoot":"","sources":["../../src/decorators/visibility.decorator.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;AAEhE,yCAIwB;AACxB,kCAAiC;AAGjC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAC5B,uDAAuD,CACxD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,SAAgB,UAAU,CAAC,cAAmC;IAC5D,OAAO,SAAS,mCAAmC;IACjD,uBAAuB;IACvB,8DAA8D;IAC9D,MAAW,EACX,MAAe;IACf,6CAA6C;IAC7C,4DAA4D;IAC5D,8DAA8D;IAC9D,gBAA+C;QAE/C,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAExC,IAAI,MAAM,IAAI,gBAAgB,EAAE;YAC9B,SAAS;YACT,OAAO,6BAAsB,CAAC,eAAe,CAC3C,eAAQ,CAAC,qBAAqB,EAC9B,cAAc,EACd;gBACE,aAAa,EAAE,iBAAiB;aACjC,CACF,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;SACrC;aAAM,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE;YACvE,QAAQ;YACR,OAAO,4BAAqB,CAAC,eAAe,CAC1C,eAAQ,CAAC,oBAAoB,EAC7B,cAAc,EACd,EAAC,aAAa,EAAE,iBAAiB,EAAC,CACnC,CAAC,MAAM,CAAC,CAAC;SACX;aAAM;YACL,MAAM,IAAI,KAAK,CACb,gDAAgD;gBAC9C,uBAAgB,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CACnE,CAAC;SACH;IACH,CAAC,CAAC;AACJ,CAAC;AApCD,gCAoCC"}
|
package/dist/keys.d.ts
CHANGED
|
@@ -14,6 +14,14 @@ export declare namespace OAI3Keys {
|
|
|
14
14
|
* Metadata key used to set or retrieve `@deprecated` metadata on a class
|
|
15
15
|
*/
|
|
16
16
|
const DEPRECATED_CLASS_KEY: MetadataAccessor<boolean, ClassDecorator>;
|
|
17
|
+
/**
|
|
18
|
+
* Metadata key used to set or retrieve `@visibility` metadata on a method.
|
|
19
|
+
*/
|
|
20
|
+
const VISIBILITY_METHOD_KEY: MetadataAccessor<boolean, MethodDecorator>;
|
|
21
|
+
/**
|
|
22
|
+
* Metadata key used to set or retrieve `@visibility` metadata on a class
|
|
23
|
+
*/
|
|
24
|
+
const VISIBILITY_CLASS_KEY: MetadataAccessor<boolean, ClassDecorator>;
|
|
17
25
|
const RESPONSE_METHOD_KEY: MetadataAccessor<ResponseDecoratorMetadata, MethodDecorator>;
|
|
18
26
|
/**
|
|
19
27
|
* Metadata key used to set or retrieve `param` decorator metadata
|
package/dist/keys.js
CHANGED
|
@@ -20,6 +20,14 @@ var OAI3Keys;
|
|
|
20
20
|
* Metadata key used to set or retrieve `@deprecated` metadata on a class
|
|
21
21
|
*/
|
|
22
22
|
OAI3Keys.DEPRECATED_CLASS_KEY = core_1.MetadataAccessor.create('openapi-v3:class:deprecated');
|
|
23
|
+
/**
|
|
24
|
+
* Metadata key used to set or retrieve `@visibility` metadata on a method.
|
|
25
|
+
*/
|
|
26
|
+
OAI3Keys.VISIBILITY_METHOD_KEY = core_1.MetadataAccessor.create('openapi-v3:methods:visibility');
|
|
27
|
+
/**
|
|
28
|
+
* Metadata key used to set or retrieve `@visibility` metadata on a class
|
|
29
|
+
*/
|
|
30
|
+
OAI3Keys.VISIBILITY_CLASS_KEY = core_1.MetadataAccessor.create('openapi-v3:class:visibility');
|
|
23
31
|
/*
|
|
24
32
|
* Metadata key used to add to or retrieve an endpoint's responses
|
|
25
33
|
*/
|
package/dist/keys.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;AAEhE,yCAAgD;AAQhD,IAAiB,QAAQ,
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;AAEhE,yCAAgD;AAQhD,IAAiB,QAAQ,CAgGxB;AAhGD,WAAiB,QAAQ;IACvB;;OAEG;IACU,oBAAW,GAAG,uBAAgB,CAAC,MAAM,CAGhD,oBAAoB,CAAC,CAAC;IAExB;;OAEG;IACU,8BAAqB,GAAG,uBAAgB,CAAC,MAAM,CAG1D,+BAA+B,CAAC,CAAC;IAEnC;;OAEG;IACU,6BAAoB,GAAG,uBAAgB,CAAC,MAAM,CAGzD,6BAA6B,CAAC,CAAC;IAEjC;;OAEG;IACU,8BAAqB,GAAG,uBAAgB,CAAC,MAAM,CAG1D,+BAA+B,CAAC,CAAC;IAEnC;;OAEG;IACU,6BAAoB,GAAG,uBAAgB,CAAC,MAAM,CAGzD,6BAA6B,CAAC,CAAC;IAEjC;;OAEG;IACU,4BAAmB,GAAG,uBAAgB,CAAC,MAAM,CAGxD,6BAA6B,CAAC,CAAC;IAEjC;;OAEG;IACU,uBAAc,GAAG,uBAAgB,CAAC,MAAM,CAGnD,uBAAuB,CAAC,CAAC;IAE3B;;OAEG;IACU,wBAAe,GAAG,uBAAgB,CAAC,MAAM,CAGpD,yBAAyB,CAAC,CAAC;IAE7B;;OAEG;IACU,uBAAc,GAAG,uBAAgB,CAAC,MAAM,CAGnD,uBAAuB,CAAC,CAAC;IAE3B;;OAEG;IACU,kBAAS,GAAG,uBAAgB,CAAC,MAAM,CAG9C,kBAAkB,CAAC,CAAC;IAEtB;;OAEG;IACU,4BAAmB,GAAG,uBAAgB,CAAC,MAAM,CAGxD,4BAA4B,CAAC,CAAC;IAEhC;;OAEG;IACU,yBAAgB,GAAG,uBAAgB,CAAC,MAAM,CAGrD,yBAAyB,CAAC,CAAC;AAC/B,CAAC,EAhGgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAgGxB"}
|
package/dist/types.d.ts
CHANGED
|
@@ -15,6 +15,10 @@ export declare function createEmptyApiSpec(): OpenApiSpec;
|
|
|
15
15
|
export interface TagsDecoratorMetadata {
|
|
16
16
|
tags: string[];
|
|
17
17
|
}
|
|
18
|
+
export declare enum OperationVisibility {
|
|
19
|
+
DOCUMENTED = "documented",
|
|
20
|
+
UNDOCUMENTED = "undocumented"
|
|
21
|
+
}
|
|
18
22
|
export declare type ResponseModelOrSpec = typeof Model | SchemaObject | ResponseObject | ReferenceObject;
|
|
19
23
|
export interface ResponseDecoratorMetadataItem {
|
|
20
24
|
responseCode: number;
|
package/dist/types.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
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 = exports.DEFAULT_OPENAPI_SPEC_INFO = void 0;
|
|
7
|
+
exports.OperationVisibility = 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);
|
|
@@ -28,4 +28,9 @@ function createEmptyApiSpec() {
|
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
30
|
exports.createEmptyApiSpec = createEmptyApiSpec;
|
|
31
|
+
var OperationVisibility;
|
|
32
|
+
(function (OperationVisibility) {
|
|
33
|
+
OperationVisibility["DOCUMENTED"] = "documented";
|
|
34
|
+
OperationVisibility["UNDOCUMENTED"] = "undocumented";
|
|
35
|
+
})(OperationVisibility = exports.OperationVisibility || (exports.OperationVisibility = {}));
|
|
31
36
|
//# sourceMappingURL=types.js.map
|
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;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"}
|
|
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;AAMD,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,gDAAyB,CAAA;IACzB,oDAA6B,CAAA;AAC/B,CAAC,EAHW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAG9B"}
|
package/package.json
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loopback/openapi-v3",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0",
|
|
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
|
-
"node": "
|
|
8
|
+
"node": "^10.16 || 12 || 14"
|
|
9
9
|
},
|
|
10
10
|
"peerDependencies": {
|
|
11
|
-
"@loopback/core": "^2.
|
|
11
|
+
"@loopback/core": "^2.11.0"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@loopback/repository-json-schema": "^3.0.
|
|
15
|
-
"debug": "^4.
|
|
14
|
+
"@loopback/repository-json-schema": "^3.0.2",
|
|
15
|
+
"debug": "^4.2.0",
|
|
16
16
|
"http-status": "^1.4.2",
|
|
17
17
|
"json-merge-patch": "^1.0.0",
|
|
18
18
|
"lodash": "^4.17.20",
|
|
19
|
-
"openapi3-ts": "^
|
|
20
|
-
"tslib": "^2.0.
|
|
19
|
+
"openapi3-ts": "^2.0.0",
|
|
20
|
+
"tslib": "^2.0.2"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
|
-
"@loopback/build": "^6.2.
|
|
24
|
-
"@loopback/core": "^2.
|
|
25
|
-
"@loopback/eslint-config": "^10.0.
|
|
26
|
-
"@loopback/openapi-spec-builder": "^
|
|
27
|
-
"@loopback/repository": "^3.0
|
|
28
|
-
"@loopback/testlab": "^3.2.
|
|
23
|
+
"@loopback/build": "^6.2.5",
|
|
24
|
+
"@loopback/core": "^2.11.0",
|
|
25
|
+
"@loopback/eslint-config": "^10.0.1",
|
|
26
|
+
"@loopback/openapi-spec-builder": "^3.0.0",
|
|
27
|
+
"@loopback/repository": "^3.1.0",
|
|
28
|
+
"@loopback/testlab": "^3.2.7",
|
|
29
29
|
"@types/debug": "^4.1.5",
|
|
30
30
|
"@types/http-status": "^1.1.2",
|
|
31
31
|
"@types/json-merge-patch": "0.0.5",
|
|
@@ -63,5 +63,5 @@
|
|
|
63
63
|
"url": "https://github.com/strongloop/loopback-next.git",
|
|
64
64
|
"directory": "packages/openapi-v3"
|
|
65
65
|
},
|
|
66
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "390f2794d10eea3d969ae417963af815ce1bc417"
|
|
67
67
|
}
|
package/src/controller-spec.ts
CHANGED
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
ISpecificationExtension,
|
|
20
20
|
isReferenceObject,
|
|
21
21
|
OperationObject,
|
|
22
|
+
OperationVisibility,
|
|
22
23
|
ParameterObject,
|
|
23
24
|
PathObject,
|
|
24
25
|
ReferenceObject,
|
|
@@ -93,17 +94,31 @@ function resolveControllerSpec(constructor: Function): ControllerSpec {
|
|
|
93
94
|
constructor,
|
|
94
95
|
);
|
|
95
96
|
|
|
97
|
+
const classVisibility = MetadataInspector.getClassMetadata<
|
|
98
|
+
OperationVisibility
|
|
99
|
+
>(OAI3Keys.VISIBILITY_CLASS_KEY, constructor);
|
|
100
|
+
|
|
101
|
+
if (classVisibility) {
|
|
102
|
+
debug(` using class-level @oas.visibility(): '${classVisibility}'`);
|
|
103
|
+
}
|
|
104
|
+
|
|
96
105
|
if (classTags) {
|
|
97
106
|
debug(' using class-level @oas.tags()');
|
|
98
107
|
}
|
|
99
108
|
|
|
100
|
-
if (classTags || isClassDeprecated) {
|
|
109
|
+
if (classTags || isClassDeprecated || classVisibility) {
|
|
101
110
|
for (const path of Object.keys(spec.paths)) {
|
|
102
111
|
for (const method of Object.keys(spec.paths[path])) {
|
|
103
112
|
/* istanbul ignore else */
|
|
104
113
|
if (isClassDeprecated) {
|
|
105
114
|
spec.paths[path][method].deprecated = true;
|
|
106
115
|
}
|
|
116
|
+
|
|
117
|
+
/* istanbul ignore else */
|
|
118
|
+
if (classVisibility) {
|
|
119
|
+
spec.paths[path][method]['x-visibility'] = classVisibility;
|
|
120
|
+
}
|
|
121
|
+
|
|
107
122
|
/* istanbul ignore else */
|
|
108
123
|
if (classTags) {
|
|
109
124
|
if (spec.paths[path][method].tags?.length) {
|
|
@@ -141,6 +156,16 @@ function resolveControllerSpec(constructor: Function): ControllerSpec {
|
|
|
141
156
|
debug(' using method-level deprecation via @deprecated()');
|
|
142
157
|
}
|
|
143
158
|
|
|
159
|
+
const methodVisibility = MetadataInspector.getMethodMetadata<
|
|
160
|
+
OperationVisibility
|
|
161
|
+
>(OAI3Keys.VISIBILITY_METHOD_KEY, constructor.prototype, op);
|
|
162
|
+
|
|
163
|
+
if (methodVisibility) {
|
|
164
|
+
debug(
|
|
165
|
+
` using method-level visibility via @visibility(): '${methodVisibility}'`,
|
|
166
|
+
);
|
|
167
|
+
}
|
|
168
|
+
|
|
144
169
|
const methodTags = MetadataInspector.getMethodMetadata<
|
|
145
170
|
TagsDecoratorMetadata
|
|
146
171
|
>(OAI3Keys.TAGS_METHOD_KEY, constructor.prototype, op);
|
|
@@ -202,7 +227,7 @@ function resolveControllerSpec(constructor: Function): ControllerSpec {
|
|
|
202
227
|
|
|
203
228
|
debug(' spec responses for method %s: %o', op, operationSpec.responses);
|
|
204
229
|
|
|
205
|
-
//
|
|
230
|
+
// Precedence: method decorator > class decorator > operationSpec > undefined
|
|
206
231
|
const deprecationSpec =
|
|
207
232
|
isMethodDeprecated ??
|
|
208
233
|
isClassDeprecated ??
|
|
@@ -213,6 +238,14 @@ function resolveControllerSpec(constructor: Function): ControllerSpec {
|
|
|
213
238
|
operationSpec.deprecated = true;
|
|
214
239
|
}
|
|
215
240
|
|
|
241
|
+
// Precedence: method decorator > class decorator > operationSpec > 'documented'
|
|
242
|
+
const visibilitySpec: OperationVisibility =
|
|
243
|
+
methodVisibility ?? classVisibility ?? operationSpec['x-visibility'];
|
|
244
|
+
|
|
245
|
+
if (visibilitySpec) {
|
|
246
|
+
operationSpec['x-visibility'] = visibilitySpec;
|
|
247
|
+
}
|
|
248
|
+
|
|
216
249
|
for (const code in operationSpec.responses) {
|
|
217
250
|
const responseObject: ResponseObject | ReferenceObject =
|
|
218
251
|
operationSpec.responses[code];
|
package/src/decorators/index.ts
CHANGED
|
@@ -8,6 +8,7 @@ export * from './deprecated.decorator';
|
|
|
8
8
|
export * from './operation.decorator';
|
|
9
9
|
export * from './parameter.decorator';
|
|
10
10
|
export * from './request-body.decorator';
|
|
11
|
+
export * from './visibility.decorator';
|
|
11
12
|
|
|
12
13
|
import {api} from './api.decorator';
|
|
13
14
|
import {deprecated} from './deprecated.decorator';
|
|
@@ -16,6 +17,7 @@ import {param} from './parameter.decorator';
|
|
|
16
17
|
import {requestBody} from './request-body.decorator';
|
|
17
18
|
import {response} from './response.decorator';
|
|
18
19
|
import {tags} from './tags.decorator';
|
|
20
|
+
import {visibility} from './visibility.decorator';
|
|
19
21
|
|
|
20
22
|
export const oas = {
|
|
21
23
|
api,
|
|
@@ -38,4 +40,5 @@ export const oas = {
|
|
|
38
40
|
deprecated,
|
|
39
41
|
response,
|
|
40
42
|
tags,
|
|
43
|
+
visibility,
|
|
41
44
|
};
|
|
@@ -86,7 +86,7 @@ export function param(paramSpec: ParameterObject) {
|
|
|
86
86
|
* reference link:
|
|
87
87
|
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#data-types
|
|
88
88
|
*/
|
|
89
|
-
const builtinTypes = {
|
|
89
|
+
const builtinTypes: Record<string, ParamShortcutOptions> = {
|
|
90
90
|
string: {type: 'string'},
|
|
91
91
|
boolean: {type: 'boolean'},
|
|
92
92
|
number: {type: 'number'},
|
|
@@ -489,7 +489,7 @@ export namespace param {
|
|
|
489
489
|
}
|
|
490
490
|
|
|
491
491
|
interface ParamShortcutOptions {
|
|
492
|
-
type:
|
|
492
|
+
type: SchemaObject['type'];
|
|
493
493
|
format?: string;
|
|
494
494
|
}
|
|
495
495
|
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
// Copyright IBM Corp. 2020. All Rights Reserved.
|
|
2
|
+
// Node module: @loopback/openapi-v3
|
|
3
|
+
// This file is licensed under the MIT License.
|
|
4
|
+
// License text available at https://opensource.org/licenses/MIT
|
|
5
|
+
|
|
6
|
+
import {
|
|
7
|
+
ClassDecoratorFactory,
|
|
8
|
+
DecoratorFactory,
|
|
9
|
+
MethodDecoratorFactory,
|
|
10
|
+
} from '@loopback/core';
|
|
11
|
+
import {OAI3Keys} from '../keys';
|
|
12
|
+
import {OperationVisibility} from '../types';
|
|
13
|
+
|
|
14
|
+
const debug = require('debug')(
|
|
15
|
+
'loopback:openapi3:metadata:controller-spec:visibility',
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Marks an api path with the specfied visibility. When applied to a class,
|
|
20
|
+
* this decorator marks all paths with the specified visibility.
|
|
21
|
+
*
|
|
22
|
+
* You can optionally mark all controllers in a class with
|
|
23
|
+
* `@visibility('undocumented')`, but use `@visibility('documented')`
|
|
24
|
+
* on a specific method to ensure it is not marked as `undocumented`.
|
|
25
|
+
*
|
|
26
|
+
* @param visibilityTyoe - The visbility of the api path on the OAS3 spec.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```ts
|
|
30
|
+
* @oas.visibility('undocumented')
|
|
31
|
+
* class MyController {
|
|
32
|
+
* @get('/greet')
|
|
33
|
+
* async function greet() {
|
|
34
|
+
* return 'Hello, World!'
|
|
35
|
+
* }
|
|
36
|
+
*
|
|
37
|
+
* @get('/greet-v2')
|
|
38
|
+
* @oas.deprecated('documented')
|
|
39
|
+
* async function greetV2() {
|
|
40
|
+
* return 'Hello, World!'
|
|
41
|
+
* }
|
|
42
|
+
* }
|
|
43
|
+
*
|
|
44
|
+
* class MyOtherController {
|
|
45
|
+
* @get('/echo')
|
|
46
|
+
* async function echo() {
|
|
47
|
+
* return 'Echo!'
|
|
48
|
+
* }
|
|
49
|
+
* }
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export function visibility(visibilityType: OperationVisibility) {
|
|
53
|
+
return function visibilityDecoratorForClassOrMethod(
|
|
54
|
+
// Class or a prototype
|
|
55
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
56
|
+
target: any,
|
|
57
|
+
method?: string,
|
|
58
|
+
// Use `any` to for `TypedPropertyDescriptor`
|
|
59
|
+
// See https://github.com/strongloop/loopback-next/pull/2704
|
|
60
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
61
|
+
methodDescriptor?: TypedPropertyDescriptor<any>,
|
|
62
|
+
) {
|
|
63
|
+
debug(target, method, methodDescriptor);
|
|
64
|
+
|
|
65
|
+
if (method && methodDescriptor) {
|
|
66
|
+
// Method
|
|
67
|
+
return MethodDecoratorFactory.createDecorator<OperationVisibility>(
|
|
68
|
+
OAI3Keys.VISIBILITY_METHOD_KEY,
|
|
69
|
+
visibilityType,
|
|
70
|
+
{
|
|
71
|
+
decoratorName: '@oas.visibility',
|
|
72
|
+
},
|
|
73
|
+
)(target, method, methodDescriptor);
|
|
74
|
+
} else if (typeof target === 'function' && !method && !methodDescriptor) {
|
|
75
|
+
// Class
|
|
76
|
+
return ClassDecoratorFactory.createDecorator<OperationVisibility>(
|
|
77
|
+
OAI3Keys.VISIBILITY_CLASS_KEY,
|
|
78
|
+
visibilityType,
|
|
79
|
+
{decoratorName: '@oas.visibility'},
|
|
80
|
+
)(target);
|
|
81
|
+
} else {
|
|
82
|
+
throw new Error(
|
|
83
|
+
'@oas.visibility cannot be used on a property: ' +
|
|
84
|
+
DecoratorFactory.getTargetName(target, method, methodDescriptor),
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
}
|
package/src/keys.ts
CHANGED
|
@@ -36,6 +36,22 @@ export namespace OAI3Keys {
|
|
|
36
36
|
ClassDecorator
|
|
37
37
|
>('openapi-v3:class:deprecated');
|
|
38
38
|
|
|
39
|
+
/**
|
|
40
|
+
* Metadata key used to set or retrieve `@visibility` metadata on a method.
|
|
41
|
+
*/
|
|
42
|
+
export const VISIBILITY_METHOD_KEY = MetadataAccessor.create<
|
|
43
|
+
boolean,
|
|
44
|
+
MethodDecorator
|
|
45
|
+
>('openapi-v3:methods:visibility');
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Metadata key used to set or retrieve `@visibility` metadata on a class
|
|
49
|
+
*/
|
|
50
|
+
export const VISIBILITY_CLASS_KEY = MetadataAccessor.create<
|
|
51
|
+
boolean,
|
|
52
|
+
ClassDecorator
|
|
53
|
+
>('openapi-v3:class:visibility');
|
|
54
|
+
|
|
39
55
|
/*
|
|
40
56
|
* Metadata key used to add to or retrieve an endpoint's responses
|
|
41
57
|
*/
|
package/src/types.ts
CHANGED