@loopback/openapi-v3 3.4.8 → 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 CHANGED
@@ -3,6 +3,110 @@
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
+
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)
62
+
63
+ **Note:** Version bump only for package @loopback/openapi-v3
64
+
65
+
66
+
67
+
68
+
69
+ # [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)
70
+
71
+
72
+ ### Bug Fixes
73
+
74
+ * improve handling of missing design-time type metadata ([95b6a2b](https://github.com/strongloop/loopback-next/commit/95b6a2b7ce64e614720df43b905f77a53a54e438))
75
+
76
+
77
+ ### Features
78
+
79
+ * **openapi-v3:** export a constant for the default openapi spec info ([fce91a2](https://github.com/strongloop/loopback-next/commit/fce91a20e514c557a5f84bfcae4eb7031894f114))
80
+ * move framework packages to `devDependencies` ([e2c61ce](https://github.com/strongloop/loopback-next/commit/e2c61ce79aa68d76f6e7138642034160b50063f0))
81
+
82
+
83
+ ### BREAKING CHANGES
84
+
85
+ * components no longer install core framework packages as
86
+ their own dependencies, they use the framework packages provided by the
87
+ target application instead.
88
+
89
+ If you are getting `npm install` errors after upgrade, then make sure
90
+ your project lists all dependencies required by the extensions you are
91
+ using.
92
+
93
+ Signed-off-by: Miroslav Bajtoš <mbajtoss@gmail.com>
94
+
95
+
96
+
97
+
98
+
99
+ ## [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)
100
+
101
+
102
+ ### Bug Fixes
103
+
104
+ * **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)
105
+
106
+
107
+
108
+
109
+
6
110
  ## [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)
7
111
 
8
112
  **Note:** Version bump only for package @loopback/openapi-v3
@@ -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, _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
- // Prescedence: method decorator > class decorator > operationSpec > undefined
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 = (_f = responseObject.content) !== null && _f !== void 0 ? _f : {};
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 = opMetadata.parameterTypes;
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)) {
@@ -234,7 +251,7 @@ function processSchemaExtensions(spec, schema) {
234
251
  * You cannot provide BOTH a defnintion AND one of these keywords.
235
252
  */
236
253
  /* istanbul ignore else */
237
- const hasOwn = (prop) => schema === null || schema === void 0 ? void 0 : schema.hasOwnProperty(prop);
254
+ const hasOwn = (prop) => schema != null && Object.prototype.hasOwnProperty.call(schema, prop);
238
255
  if (SCHEMA_ARR_KEYS.some(k => hasOwn(k))) {
239
256
  SCHEMA_ARR_KEYS.forEach((k) => {
240
257
  /* 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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"}
@@ -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
  };
@@ -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;AAEzC,mDAAoC;AACpC,iEAAkD;AAClD,+DAA4E;AAC5E,+DAA4C;AAC5C,qEAAqD;AACrD,6DAA8C;AAC9C,qDAAsC;AAEzB,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;CACL,CAAC"}
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":"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"}
1
+ {"version":3,"file":"parameter.decorator.js","sourceRoot":"","sources":["../../src/decorators/parameter.decorator.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 !!(c === null || c === void 0 ? void 0 : c.hasOwnProperty('content')) && !!c.content;
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,EAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,cAAc,CAAC,SAAS,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACvD,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"}
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"}
@@ -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"}
@@ -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
- title: 'LoopBack Application',
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":"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"}
1
+ {"version":3,"file":"spec-enhancer.service.js","sourceRoot":"","sources":["../../src/enhancers/spec-enhancer.service.ts"],"names":[],"mappings":"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"}
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,CAgFxB;AAhFD,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,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,EAhFgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAgFxB"}
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
@@ -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
  *
@@ -11,6 +15,10 @@ export declare function createEmptyApiSpec(): OpenApiSpec;
11
15
  export interface TagsDecoratorMetadata {
12
16
  tags: string[];
13
17
  }
18
+ export declare enum OperationVisibility {
19
+ DOCUMENTED = "documented",
20
+ UNDOCUMENTED = "undocumented"
21
+ }
14
22
  export declare type ResponseModelOrSpec = typeof Model | SchemaObject | ResponseObject | ReferenceObject;
15
23
  export interface ResponseDecoratorMetadataItem {
16
24
  responseCode: number;
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.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);
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,12 +21,16 @@ function createEmptyApiSpec() {
17
21
  return {
18
22
  openapi: '3.0.0',
19
23
  info: {
20
- title: 'LoopBack Application',
21
- version: '1.0.0',
24
+ ...exports.DEFAULT_OPENAPI_SPEC_INFO,
22
25
  },
23
26
  paths: {},
24
27
  servers: [{ url: '/' }],
25
28
  };
26
29
  }
27
30
  exports.createEmptyApiSpec = createEmptyApiSpec;
31
+ var OperationVisibility;
32
+ (function (OperationVisibility) {
33
+ OperationVisibility["DOCUMENTED"] = "documented";
34
+ OperationVisibility["UNDOCUMENTED"] = "undocumented";
35
+ })(OperationVisibility = exports.OperationVisibility || (exports.OperationVisibility = {}));
28
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;AAE5B;;;;GAIG;AACH,SAAgB,kBAAkB;IAChC,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE;YACJ,KAAK,EAAE,sBAAsB;YAC7B,OAAO,EAAE,OAAO;SACjB;QACD,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,CAAC,EAAC,GAAG,EAAE,GAAG,EAAC,CAAC;KACtB,CAAC;AACJ,CAAC;AAVD,gDAUC"}
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,33 +1,36 @@
1
1
  {
2
2
  "name": "@loopback/openapi-v3",
3
- "version": "3.4.8",
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": ">=10.16"
8
+ "node": "^10.16 || 12 || 14"
9
+ },
10
+ "peerDependencies": {
11
+ "@loopback/core": "^2.11.0"
9
12
  },
10
13
  "dependencies": {
11
- "@loopback/core": "^2.9.4",
12
- "@loopback/repository-json-schema": "^2.4.9",
13
- "debug": "^4.1.1",
14
+ "@loopback/repository-json-schema": "^3.0.2",
15
+ "debug": "^4.2.0",
14
16
  "http-status": "^1.4.2",
15
17
  "json-merge-patch": "^1.0.0",
16
18
  "lodash": "^4.17.20",
17
- "openapi3-ts": "^1.4.0",
18
- "tslib": "^2.0.1"
19
+ "openapi3-ts": "^2.0.0",
20
+ "tslib": "^2.0.2"
19
21
  },
20
22
  "devDependencies": {
21
- "@loopback/build": "^6.2.1",
22
- "@loopback/eslint-config": "^9.0.1",
23
- "@loopback/openapi-spec-builder": "^2.1.12",
24
- "@loopback/repository": "^2.11.1",
25
- "@loopback/testlab": "^3.2.3",
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",
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.159",
30
- "@types/node": "^10.17.28"
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": "a056555744367da9caccb6be64095e27d2fe2e28"
66
+ "gitHead": "390f2794d10eea3d969ae417963af815ce1bc417"
64
67
  }
@@ -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
- // Prescedence: method decorator > class decorator > operationSpec > undefined
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];
@@ -317,7 +350,7 @@ function resolveControllerSpec(constructor: Function): ControllerSpec {
317
350
  constructor.prototype,
318
351
  op,
319
352
  );
320
- const paramTypes = opMetadata.parameterTypes;
353
+ const paramTypes = opMetadata?.parameterTypes ?? [];
321
354
 
322
355
  const isComplexType = (ctor: Function) =>
323
356
  !includes([String, Number, Boolean, Array, Object], ctor);
@@ -363,7 +396,8 @@ function processSchemaExtensions(
363
396
  * You cannot provide BOTH a defnintion AND one of these keywords.
364
397
  */
365
398
  /* istanbul ignore else */
366
- const hasOwn = (prop: string) => schema?.hasOwnProperty(prop);
399
+ const hasOwn = (prop: string) =>
400
+ schema != null && Object.prototype.hasOwnProperty.call(schema, prop);
367
401
 
368
402
  if (SCHEMA_ARR_KEYS.some(k => hasOwn(k))) {
369
403
  SCHEMA_ARR_KEYS.forEach((k: MixKey) => {
@@ -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: string;
492
+ type: SchemaObject['type'];
493
493
  format?: string;
494
494
  }
495
495
 
@@ -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 !!c?.hasOwnProperty('content') && !!c.content;
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(
@@ -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
+ }
@@ -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 {OpenApiSpec, SecuritySchemeObject} from '../types';
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
- title: 'LoopBack Application',
52
- version: '1.0.0',
55
+ ...DEFAULT_OPENAPI_SPEC_INFO,
53
56
  },
54
57
  paths: {},
55
58
  };
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
@@ -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
- title: 'LoopBack Application',
31
- version: '1.0.0',
35
+ ...DEFAULT_OPENAPI_SPEC_INFO,
32
36
  },
33
37
  paths: {},
34
38
  servers: [{url: '/'}],
@@ -39,6 +43,11 @@ export interface TagsDecoratorMetadata {
39
43
  tags: string[];
40
44
  }
41
45
 
46
+ export enum OperationVisibility {
47
+ DOCUMENTED = 'documented',
48
+ UNDOCUMENTED = 'undocumented',
49
+ }
50
+
42
51
  export type ResponseModelOrSpec =
43
52
  | typeof Model
44
53
  | SchemaObject