@trapi/swagger 0.3.8 → 1.0.0-alpha.3

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.
Files changed (152) hide show
  1. package/dist/config/index.d.ts +3 -0
  2. package/dist/config/index.d.ts.map +1 -0
  3. package/dist/config/index.js +25 -0
  4. package/dist/config/index.js.map +1 -0
  5. package/dist/config/type.d.ts +83 -0
  6. package/dist/config/type.d.ts.map +1 -0
  7. package/dist/config/type.js +9 -0
  8. package/dist/config/type.js.map +1 -0
  9. package/dist/config/utils.d.ts +3 -0
  10. package/dist/config/utils.d.ts.map +1 -0
  11. package/dist/config/utils.js +52 -0
  12. package/dist/config/utils.js.map +1 -0
  13. package/dist/constants.d.ts +15 -0
  14. package/dist/constants.d.ts.map +1 -0
  15. package/dist/constants.js +27 -0
  16. package/dist/constants.js.map +1 -0
  17. package/dist/generator/abstract.d.ts +27 -0
  18. package/dist/generator/abstract.d.ts.map +1 -0
  19. package/dist/{specification → generator}/abstract.js +68 -84
  20. package/dist/generator/abstract.js.map +1 -0
  21. package/dist/{specification → generator}/index.d.ts +0 -2
  22. package/dist/generator/index.d.ts.map +1 -0
  23. package/dist/{specification → generator}/index.js +1 -3
  24. package/dist/generator/index.js.map +1 -0
  25. package/dist/generator/module.d.ts +14 -0
  26. package/dist/generator/module.d.ts.map +1 -0
  27. package/dist/generator/module.js +35 -0
  28. package/dist/generator/module.js.map +1 -0
  29. package/dist/generator/v2/index.d.ts +2 -0
  30. package/dist/generator/v2/index.d.ts.map +1 -0
  31. package/dist/{specification/utils → generator/v2}/index.js +2 -2
  32. package/dist/generator/v2/index.js.map +1 -0
  33. package/dist/generator/v2/module.d.ts +25 -0
  34. package/dist/generator/v2/module.d.ts.map +1 -0
  35. package/dist/generator/v2/module.js +501 -0
  36. package/dist/generator/v2/module.js.map +1 -0
  37. package/dist/generator/v3/index.d.ts +2 -0
  38. package/dist/generator/v3/index.d.ts.map +1 -0
  39. package/dist/generator/v3/index.js +24 -0
  40. package/dist/generator/v3/index.js.map +1 -0
  41. package/dist/generator/v3/module.d.ts +27 -0
  42. package/dist/generator/v3/module.d.ts.map +1 -0
  43. package/dist/{specification → generator}/v3/module.js +191 -115
  44. package/dist/generator/v3/module.js.map +1 -0
  45. package/dist/index.d.ts +3 -2
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +3 -2
  48. package/dist/index.js.map +1 -1
  49. package/dist/metadata.d.ts +3 -4
  50. package/dist/metadata.d.ts.map +1 -1
  51. package/dist/metadata.js +1 -15
  52. package/dist/metadata.js.map +1 -1
  53. package/dist/schema/constants.d.ts +7 -0
  54. package/dist/schema/constants.d.ts.map +1 -0
  55. package/dist/schema/constants.js +17 -0
  56. package/dist/schema/constants.js.map +1 -0
  57. package/dist/schema/index.d.ts +5 -0
  58. package/dist/schema/index.d.ts.map +1 -0
  59. package/dist/schema/index.js +27 -0
  60. package/dist/schema/index.js.map +1 -0
  61. package/dist/schema/type.d.ts +140 -0
  62. package/dist/schema/type.d.ts.map +1 -0
  63. package/dist/schema/type.js.map +1 -0
  64. package/dist/schema/v2/constants.d.ts +8 -0
  65. package/dist/schema/v2/constants.d.ts.map +1 -0
  66. package/dist/schema/v2/constants.js +18 -0
  67. package/dist/schema/v2/constants.js.map +1 -0
  68. package/dist/schema/v2/index.d.ts +3 -0
  69. package/dist/schema/v2/index.d.ts.map +1 -0
  70. package/dist/{specification/v3 → schema/v2}/index.js +1 -1
  71. package/dist/schema/v2/index.js.map +1 -0
  72. package/dist/schema/v2/type.d.ts +116 -0
  73. package/dist/schema/v2/type.d.ts.map +1 -0
  74. package/dist/schema/v2/type.js.map +1 -0
  75. package/dist/schema/v3/constants.d.ts +7 -0
  76. package/dist/schema/v3/constants.d.ts.map +1 -0
  77. package/dist/schema/v3/constants.js +17 -0
  78. package/dist/schema/v3/constants.js.map +1 -0
  79. package/dist/schema/v3/index.d.ts +3 -0
  80. package/dist/schema/v3/index.d.ts.map +1 -0
  81. package/dist/{specification/v2 → schema/v3}/index.js +1 -1
  82. package/dist/schema/v3/index.js.map +1 -0
  83. package/dist/schema/v3/type.d.ts +158 -0
  84. package/dist/schema/v3/type.d.ts.map +1 -0
  85. package/dist/schema/v3/type.js +9 -0
  86. package/dist/schema/v3/type.js.map +1 -0
  87. package/dist/type.d.ts +44 -2
  88. package/dist/type.d.ts.map +1 -1
  89. package/dist/utils/character.d.ts +3 -0
  90. package/dist/utils/character.d.ts.map +1 -0
  91. package/dist/{specification/utils → utils}/character.js +4 -5
  92. package/dist/utils/character.js.map +1 -0
  93. package/dist/utils/index.d.ts +2 -1
  94. package/dist/utils/index.d.ts.map +1 -1
  95. package/dist/utils/index.js +2 -1
  96. package/dist/utils/index.js.map +1 -1
  97. package/dist/utils/object.d.ts.map +1 -1
  98. package/dist/utils/object.js +1 -0
  99. package/dist/utils/object.js.map +1 -1
  100. package/dist/utils/value.d.ts +2 -0
  101. package/dist/utils/value.d.ts.map +1 -0
  102. package/dist/utils/value.js +26 -0
  103. package/dist/utils/value.js.map +1 -0
  104. package/package.json +7 -10
  105. package/dist/module.d.ts +0 -8
  106. package/dist/module.d.ts.map +0 -1
  107. package/dist/module.js +0 -31
  108. package/dist/module.js.map +0 -1
  109. package/dist/specification/abstract.d.ts +0 -29
  110. package/dist/specification/abstract.d.ts.map +0 -1
  111. package/dist/specification/abstract.js.map +0 -1
  112. package/dist/specification/index.d.ts.map +0 -1
  113. package/dist/specification/index.js.map +0 -1
  114. package/dist/specification/module.d.ts +0 -5
  115. package/dist/specification/module.d.ts.map +0 -1
  116. package/dist/specification/module.js +0 -29
  117. package/dist/specification/module.js.map +0 -1
  118. package/dist/specification/type.d.ts +0 -268
  119. package/dist/specification/type.d.ts.map +0 -1
  120. package/dist/specification/type.js +0 -18
  121. package/dist/specification/type.js.map +0 -1
  122. package/dist/specification/utils/character.d.ts +0 -3
  123. package/dist/specification/utils/character.d.ts.map +0 -1
  124. package/dist/specification/utils/character.js.map +0 -1
  125. package/dist/specification/utils/index.d.ts +0 -2
  126. package/dist/specification/utils/index.d.ts.map +0 -1
  127. package/dist/specification/utils/index.js.map +0 -1
  128. package/dist/specification/v2/index.d.ts +0 -3
  129. package/dist/specification/v2/index.d.ts.map +0 -1
  130. package/dist/specification/v2/index.js.map +0 -1
  131. package/dist/specification/v2/module.d.ts +0 -24
  132. package/dist/specification/v2/module.d.ts.map +0 -1
  133. package/dist/specification/v2/module.js +0 -389
  134. package/dist/specification/v2/module.js.map +0 -1
  135. package/dist/specification/v2/type.d.ts +0 -79
  136. package/dist/specification/v2/type.d.ts.map +0 -1
  137. package/dist/specification/v2/type.js.map +0 -1
  138. package/dist/specification/v3/index.d.ts +0 -3
  139. package/dist/specification/v3/index.d.ts.map +0 -1
  140. package/dist/specification/v3/index.js.map +0 -1
  141. package/dist/specification/v3/module.d.ts +0 -25
  142. package/dist/specification/v3/module.d.ts.map +0 -1
  143. package/dist/specification/v3/module.js.map +0 -1
  144. package/dist/specification/v3/type.d.ts +0 -121
  145. package/dist/specification/v3/type.d.ts.map +0 -1
  146. package/dist/specification/v3/type.js.map +0 -1
  147. package/dist/utils/package-json.d.ts +0 -3
  148. package/dist/utils/package-json.d.ts.map +0 -1
  149. package/dist/utils/package-json.js +0 -35
  150. package/dist/utils/package-json.js.map +0 -1
  151. /package/dist/{specification/v2 → schema}/type.js +0 -0
  152. /package/dist/{specification/v3 → schema/v2}/type.js +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/specification/utils/index.ts"],"names":[],"mappings":"AAOA,cAAc,aAAa,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/specification/utils/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,8CAA4B"}
@@ -1,3 +0,0 @@
1
- export * from './module';
2
- export * from './type';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/specification/v2/index.ts"],"names":[],"mappings":"AAOA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/specification/v2/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,2CAAyB;AACzB,yCAAuB"}
@@ -1,24 +0,0 @@
1
- import { EnumType, IntersectionType, ReferenceType, ResolverProperty } from '@trapi/decorators';
2
- import { SpecificationV2 } from './type';
3
- import { AbstractSpecGenerator } from '../abstract';
4
- export declare class Version2SpecGenerator extends AbstractSpecGenerator<SpecificationV2.Spec, SpecificationV2.Schema> {
5
- getSwaggerSpec(): SpecificationV2.Spec;
6
- build(): SpecificationV2.Spec;
7
- private static translateSecurityDefinitions;
8
- private buildDefinitions;
9
- private decideEnumType;
10
- private buildPaths;
11
- private buildPathMethod;
12
- private buildParameter;
13
- private handleMethodConsumes;
14
- private hasFormParams;
15
- private supportsBodyParameters;
16
- protected getSwaggerTypeForEnumType(enumType: EnumType): SpecificationV2.Schema;
17
- protected getSwaggerTypeForIntersectionType(type: IntersectionType): SpecificationV2.Schema;
18
- protected getSwaggerTypeForReferenceType(referenceType: ReferenceType): SpecificationV2.Schema;
19
- protected buildProperties(properties: ResolverProperty[]): Record<string, SpecificationV2.Schema>;
20
- private buildOperation;
21
- private getMimeType;
22
- private handleMethodProduces;
23
- }
24
- //# sourceMappingURL=module.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/specification/v2/module.ts"],"names":[],"mappings":"AAOA,OAAO,EACH,QAAQ,EAAE,gBAAgB,EAE1B,aAAa,EACb,gBAAgB,EAGnB,MAAM,mBAAmB,CAAC;AAW3B,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,qBAAa,qBAAsB,SAAQ,qBAAqB,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC;IACnG,cAAc,IAAI,eAAe,CAAC,IAAI;IAItC,KAAK,IAAK,eAAe,CAAC,IAAI;IA0CrC,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAoE3C,OAAO,CAAC,gBAAgB;IA4DxB,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,UAAU;IAyBlB,OAAO,CAAC,eAAe;IA+CvB,OAAO,CAAC,cAAc;IAgCtB,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,sBAAsB;IAQ9B,SAAS,CAAC,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,GAAI,eAAe,CAAC,MAAM;IAYhF,SAAS,CAAC,iCAAiC,CAAC,IAAI,EAAE,gBAAgB,GAAI,eAAe,CAAC,MAAM;IAqB5F,SAAS,CAAC,8BAA8B,CAAC,aAAa,EAAE,aAAa,GAAG,eAAe,CAAC,MAAM;IAI9F,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;IAclG,OAAO,CAAC,cAAc;IA4BtB,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,oBAAoB;CAO/B"}
@@ -1,389 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2021.
4
- * Author Peter Placzek (tada5hi)
5
- * For the full copyright and license information,
6
- * view the LICENSE file that was distributed with this source code.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.Version2SpecGenerator = void 0;
10
- const decorators_1 = require("@trapi/decorators");
11
- const smob_1 = require("smob");
12
- const path_1 = require("path");
13
- const url_1 = require("url");
14
- const utils_1 = require("../../utils");
15
- const abstract_1 = require("../abstract");
16
- class Version2SpecGenerator extends abstract_1.AbstractSpecGenerator {
17
- getSwaggerSpec() {
18
- return this.build();
19
- }
20
- build() {
21
- if (typeof this.spec !== 'undefined') {
22
- return this.spec;
23
- }
24
- let spec = {
25
- basePath: this.config.basePath,
26
- definitions: this.buildDefinitions(),
27
- info: this.buildInfo(),
28
- paths: this.buildPaths(),
29
- swagger: '2.0',
30
- };
31
- spec.securityDefinitions = this.config.securityDefinitions ?
32
- Version2SpecGenerator.translateSecurityDefinitions(this.config.securityDefinitions) :
33
- {};
34
- if (this.config.consumes) {
35
- spec.consumes = this.config.consumes;
36
- }
37
- if (this.config.produces) {
38
- spec.produces = this.config.produces;
39
- }
40
- if (this.config.host) {
41
- const url = new url_1.URL(this.config.host);
42
- let host = (url.host + url.pathname).replace(/([^:]\/)\/+/g, '$1');
43
- host = host.substr(-1, 1) === '/' ? host.substr(0, host.length - 1) : host;
44
- spec.host = host;
45
- }
46
- if (this.config.specificationExtra) {
47
- spec = (0, smob_1.merge)(spec, this.config.specificationExtra);
48
- }
49
- this.spec = spec;
50
- return spec;
51
- }
52
- static translateSecurityDefinitions(securityDefinitions) {
53
- const definitions = {};
54
- // tslint:disable-next-line:forin
55
- const keys = Object.keys(securityDefinitions);
56
- for (let i = 0; i < keys.length; i++) {
57
- const securityDefinition = securityDefinitions[keys[i]];
58
- switch (securityDefinition.type) {
59
- case 'http':
60
- if (securityDefinition.schema === 'basic') {
61
- definitions[keys[i]] = {
62
- type: 'basic',
63
- };
64
- }
65
- break;
66
- case 'apiKey':
67
- definitions[keys[i]] = securityDefinition;
68
- break;
69
- case 'oauth2':
70
- if (securityDefinition.flows.implicit) {
71
- definitions[`${keys[i]}Implicit`] = {
72
- type: 'oauth2',
73
- flow: 'implicit',
74
- authorizationUrl: securityDefinition.flows.implicit.authorizationUrl,
75
- scopes: securityDefinition.flows.implicit.scopes,
76
- };
77
- }
78
- if (securityDefinition.flows.password) {
79
- definitions[`${keys[i]}Implicit`] = {
80
- type: 'oauth2',
81
- flow: 'password',
82
- tokenUrl: securityDefinition.flows.password.tokenUrl,
83
- scopes: securityDefinition.flows.password.scopes,
84
- };
85
- }
86
- if (securityDefinition.flows.authorizationCode) {
87
- definitions[`${keys[i]}AccessCode`] = {
88
- type: 'oauth2',
89
- flow: 'accessCode',
90
- tokenUrl: securityDefinition.flows.authorizationCode.tokenUrl,
91
- authorizationUrl: securityDefinition.flows.authorizationCode.authorizationUrl,
92
- scopes: securityDefinition.flows.authorizationCode.scopes,
93
- };
94
- }
95
- if (securityDefinition.flows.clientCredentials) {
96
- definitions[`${keys[i]}Application`] = {
97
- type: 'oauth2',
98
- flow: 'application',
99
- tokenUrl: securityDefinition.flows.clientCredentials.tokenUrl,
100
- scopes: securityDefinition.flows.clientCredentials.scopes,
101
- };
102
- }
103
- break;
104
- }
105
- }
106
- return definitions;
107
- }
108
- /*
109
- Definitions ( + utils)
110
- */
111
- buildDefinitions() {
112
- const definitions = {};
113
- Object.keys(this.metadata.referenceTypes).map((typeName) => {
114
- const referenceType = this.metadata.referenceTypes[typeName];
115
- // const key : string = referenceType.typeName.replace('_', '');
116
- if ((0, decorators_1.isRefObjectType)(referenceType)) {
117
- const required = referenceType.properties
118
- .filter((p) => p.required).map((p) => p.name);
119
- definitions[referenceType.refName] = {
120
- description: referenceType.description,
121
- properties: this.buildProperties(referenceType.properties),
122
- required: required && required.length > 0 ? Array.from(new Set(required)) : undefined,
123
- type: 'object',
124
- };
125
- if (referenceType.additionalProperties) {
126
- definitions[referenceType.refName].additionalProperties = true;
127
- }
128
- if (referenceType.example) {
129
- definitions[referenceType.refName].example = referenceType.example;
130
- }
131
- }
132
- else if ((0, decorators_1.isRefEnumType)(referenceType)) {
133
- definitions[referenceType.refName] = {
134
- description: referenceType.description,
135
- enum: referenceType.members,
136
- type: this.decideEnumType(referenceType.members, referenceType.refName),
137
- };
138
- if (referenceType.memberNames !== undefined && referenceType.members.length === referenceType.memberNames.length) {
139
- definitions[referenceType.refName]['x-enum-varnames'] = referenceType.memberNames;
140
- }
141
- }
142
- else if ((0, decorators_1.isRefAliasType)(referenceType)) {
143
- const swaggerType = this.getSwaggerType(referenceType.type);
144
- const format = referenceType.format;
145
- const validators = Object.keys(referenceType.validators)
146
- .filter((key) => !key.startsWith('is') && key !== 'minDate' && key !== 'maxDate')
147
- .reduce((acc, key) => (Object.assign(Object.assign({}, acc), { [key]: referenceType.validators[key].value })), {});
148
- definitions[referenceType.refName] = Object.assign(Object.assign(Object.assign({}, swaggerType), { default: referenceType.default || swaggerType.default, example: referenceType.example, format: format || swaggerType.format, description: referenceType.description }), validators);
149
- }
150
- return typeName;
151
- });
152
- return definitions;
153
- }
154
- decideEnumType(anEnum, nameOfEnum) {
155
- const typesUsedInEnum = this.determineTypesUsedInEnum(anEnum);
156
- const badEnumErrorMessage = () => {
157
- const valuesDelimited = Array.from(typesUsedInEnum).join(',');
158
- return `Enums can only have string or number values, but enum ${nameOfEnum} had ${valuesDelimited}`;
159
- };
160
- let enumTypeForSwagger = 'string';
161
- if (typesUsedInEnum.has('string') && typesUsedInEnum.size === 1) {
162
- enumTypeForSwagger = 'string';
163
- }
164
- else if (typesUsedInEnum.has('number') && typesUsedInEnum.size === 1) {
165
- enumTypeForSwagger = 'number';
166
- }
167
- else if (typesUsedInEnum.size === 2 && typesUsedInEnum.has('number') && typesUsedInEnum.has('string')) {
168
- enumTypeForSwagger = 'string';
169
- }
170
- else {
171
- throw new Error(badEnumErrorMessage());
172
- }
173
- return enumTypeForSwagger;
174
- }
175
- /*
176
- Path & Parameter ( + utils)
177
- */
178
- buildPaths() {
179
- const paths = {};
180
- const unique = (input) => [...new Set(input)];
181
- this.metadata.controllers.forEach((controller) => {
182
- controller.methods.forEach((method) => {
183
- let fullPath = path_1.posix.join('/', (controller.path ? controller.path : ''), method.path);
184
- fullPath = (0, utils_1.normalizePathParameters)(fullPath);
185
- paths[fullPath] = paths[fullPath] || {};
186
- method.consumes = unique([...controller.consumes, ...method.consumes]);
187
- method.produces = unique([...controller.produces, ...method.produces]);
188
- method.tags = unique([...controller.tags, ...method.tags]);
189
- method.security = method.security || controller.security;
190
- // todo: unique for objects
191
- method.responses = unique([...controller.responses, ...method.responses]);
192
- const pathObject = paths[fullPath];
193
- pathObject[method.method] = this.buildPathMethod(controller.name, method);
194
- });
195
- });
196
- return paths;
197
- }
198
- buildPathMethod(controllerName, method) {
199
- const pathMethod = this.buildOperation(method);
200
- pathMethod.description = method.description;
201
- if (method.summary) {
202
- pathMethod.summary = method.summary;
203
- }
204
- if (method.deprecated) {
205
- pathMethod.deprecated = method.deprecated;
206
- }
207
- if (method.tags.length) {
208
- pathMethod.tags = method.tags;
209
- }
210
- if (method.security) {
211
- pathMethod.security = method.security.map((s) => ({
212
- [s.name]: s.scopes || [],
213
- }));
214
- }
215
- this.handleMethodConsumes(method, pathMethod);
216
- pathMethod.parameters = method.parameters
217
- .filter((p) => (p.in !== 'param'))
218
- .map((p) => this.buildParameter(p));
219
- method.parameters
220
- .filter((p) => (p.in === 'param'))
221
- .forEach((p) => {
222
- pathMethod.parameters.push(this.buildParameter({
223
- description: p.description,
224
- in: 'query',
225
- name: p.name,
226
- parameterName: p.parameterName,
227
- required: false,
228
- type: p.type,
229
- }));
230
- pathMethod.parameters.push(this.buildParameter({
231
- description: p.description,
232
- in: 'formData',
233
- name: p.name,
234
- parameterName: p.parameterName,
235
- required: false,
236
- type: p.type,
237
- }));
238
- });
239
- if (pathMethod.parameters.filter((p) => p.in === 'body').length > 1) {
240
- throw new Error('Only one body parameter allowed per controller method.');
241
- }
242
- return pathMethod;
243
- }
244
- buildParameter(parameter) {
245
- const swaggerParameter = {
246
- description: parameter.description,
247
- in: parameter.in,
248
- name: parameter.name,
249
- required: parameter.required,
250
- };
251
- const parameterType = this.getSwaggerType(parameter.type);
252
- if (((0, utils_1.hasOwnProperty)(parameterType, '$ref') && parameterType.$ref) || parameter.in === 'body') {
253
- swaggerParameter.schema = parameterType;
254
- }
255
- else {
256
- swaggerParameter.type = parameterType.type;
257
- if (parameterType.items) {
258
- swaggerParameter.items = parameterType.items;
259
- if (parameter.collectionFormat || this.config.collectionFormat) {
260
- swaggerParameter.collectionFormat = parameter.collectionFormat || this.config.collectionFormat;
261
- }
262
- }
263
- }
264
- if (parameterType.format) {
265
- swaggerParameter.format = parameterType.format;
266
- }
267
- if (parameter.default !== undefined) {
268
- swaggerParameter.default = parameter.default;
269
- }
270
- if (parameterType.enum) {
271
- swaggerParameter.enum = parameterType.enum;
272
- }
273
- return swaggerParameter;
274
- }
275
- handleMethodConsumes(method, pathMethod) {
276
- if (method.consumes.length) {
277
- pathMethod.consumes = method.consumes;
278
- }
279
- if ((!pathMethod.consumes || !pathMethod.consumes.length)) {
280
- if (method.parameters.some((p) => (p.in === 'formData' && p.type.typeName === 'file'))) {
281
- pathMethod.consumes = pathMethod.consumes || [];
282
- pathMethod.consumes.push('multipart/form-data');
283
- }
284
- else if (this.hasFormParams(method)) {
285
- pathMethod.consumes = pathMethod.consumes || [];
286
- pathMethod.consumes.push('application/x-www-form-urlencoded');
287
- }
288
- else if (this.supportsBodyParameters(method.method)) {
289
- pathMethod.consumes = pathMethod.consumes || [];
290
- pathMethod.consumes.push('application/json');
291
- }
292
- }
293
- }
294
- hasFormParams(method) {
295
- return method.parameters.find((p) => (p.in === 'formData'));
296
- }
297
- supportsBodyParameters(method) {
298
- return ['post', 'put', 'patch'].some((m) => m === method);
299
- }
300
- /*
301
- Swagger Type ( + utils)
302
- */
303
- getSwaggerTypeForEnumType(enumType) {
304
- const types = this.determineTypesUsedInEnum(enumType.members);
305
- if (types.size === 1) {
306
- const type = types.values().next().value;
307
- const nullable = !!enumType.members.includes(null);
308
- return { type, enum: enumType.members.map((member) => (member === null ? null : String(member))), 'x-nullable': nullable };
309
- }
310
- const valuesDelimited = Array.from(types).join(',');
311
- throw new Error(`Enums can only have string or number values, but enum had ${valuesDelimited}`);
312
- }
313
- getSwaggerTypeForIntersectionType(type) {
314
- // tslint:disable-next-line:no-shadowed-variable
315
- const properties = type.members.reduce((acc, type) => {
316
- if (type.typeName === 'refObject') {
317
- let refType = type;
318
- refType = this.metadata.referenceTypes[refType.refName];
319
- const props = refType &&
320
- refType.properties &&
321
- refType.properties.reduce((pAcc, prop) => (Object.assign(Object.assign({}, pAcc), { [prop.name]: this.getSwaggerType(prop.type) })), {});
322
- return Object.assign(Object.assign({}, acc), props);
323
- }
324
- return Object.assign({}, acc);
325
- }, {});
326
- return { type: 'object', properties };
327
- }
328
- getSwaggerTypeForReferenceType(referenceType) {
329
- return { $ref: `#/definitions/${referenceType.refName}` };
330
- }
331
- buildProperties(properties) {
332
- const swaggerProperties = {};
333
- properties.forEach((property) => {
334
- const swaggerType = this.getSwaggerType(property.type);
335
- if (!(0, utils_1.hasOwnProperty)(swaggerType, '$ref') || !swaggerType.$ref) {
336
- swaggerType.description = property.description;
337
- }
338
- swaggerProperties[property.name] = swaggerType;
339
- });
340
- return swaggerProperties;
341
- }
342
- buildOperation(method) {
343
- const operation = {
344
- operationId: this.getOperationId(method.name),
345
- produces: [],
346
- responses: {},
347
- };
348
- const methodReturnTypes = new Set();
349
- method.responses.forEach((res) => {
350
- operation.responses[res.status] = {
351
- description: res.description,
352
- };
353
- if (res.schema) {
354
- const swaggerType = this.getSwaggerType(res.schema);
355
- if (swaggerType.type !== 'void') {
356
- operation.responses[res.status].schema = swaggerType;
357
- }
358
- methodReturnTypes.add(this.getMimeType(swaggerType));
359
- }
360
- if (res.examples) {
361
- operation.responses[res.status].examples = { 'application/json': res.examples };
362
- }
363
- });
364
- this.handleMethodProduces(method, operation, methodReturnTypes);
365
- return operation;
366
- }
367
- getMimeType(swaggerType) {
368
- if (swaggerType.$ref ||
369
- swaggerType.type === 'array' ||
370
- swaggerType.type === 'object') {
371
- return 'application/json';
372
- }
373
- if (swaggerType.type === 'string' &&
374
- swaggerType.format === 'binary') {
375
- return 'application/octet-stream';
376
- }
377
- return 'text/html';
378
- }
379
- handleMethodProduces(method, operation, methodReturnTypes) {
380
- if (method.produces.length) {
381
- operation.produces = method.produces;
382
- }
383
- else if (methodReturnTypes && methodReturnTypes.size > 0) {
384
- operation.produces = Array.from(methodReturnTypes);
385
- }
386
- }
387
- }
388
- exports.Version2SpecGenerator = Version2SpecGenerator;
389
- //# sourceMappingURL=module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/specification/v2/module.ts"],"names":[],"mappings":"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"}
@@ -1,79 +0,0 @@
1
- import { Specification } from '../type';
2
- export declare namespace SpecificationV2 {
3
- interface Spec extends Specification.BaseSpec {
4
- swagger: '2.0';
5
- host?: string;
6
- basePath?: string;
7
- schemes?: string[];
8
- consumes?: string[];
9
- produces?: string[];
10
- paths: {
11
- [pathName: string]: Specification.Path<Operation, Response>;
12
- };
13
- definitions?: {
14
- [definitionsName: string]: Schema;
15
- };
16
- parameters?: {
17
- [parameterName: string]: Schema | Specification.QueryParameter<Schema>;
18
- };
19
- responses?: {
20
- [responseName: string]: Response;
21
- };
22
- security?: Security[];
23
- securityDefinitions?: {
24
- [name: string]: Security;
25
- };
26
- }
27
- type Parameter = Omit<Specification.Parameter<Schema> & {
28
- 'x-deprecated'?: boolean;
29
- }, 'deprecated'>;
30
- interface Operation extends Specification.BaseOperation<Parameter, Response, Security> {
31
- produces?: [string];
32
- }
33
- interface Response extends Specification.BaseResponse {
34
- schema?: Schema;
35
- headers?: {
36
- [headerName: string]: Header;
37
- };
38
- examples?: {
39
- [exampleName: string]: Specification.Example;
40
- };
41
- }
42
- interface Header {
43
- type: 'string' | 'number' | 'integer' | 'boolean' | 'array';
44
- }
45
- interface Schema extends Specification.BaseSchema<Schema> {
46
- ['x-nullable']?: boolean;
47
- ['x-deprecated']?: boolean;
48
- }
49
- interface BasicSecurity extends Specification.BaseSecurity {
50
- type: 'basic';
51
- }
52
- interface BaseOAuthSecurity extends Specification.BaseSecurity {
53
- type: 'oauth2';
54
- }
55
- interface OAuth2ImplicitSecurity extends BaseOAuthSecurity {
56
- flow: 'implicit';
57
- authorizationUrl: string;
58
- scopes?: Record<string, string>;
59
- }
60
- interface OAuth2PasswordSecurity extends BaseOAuthSecurity {
61
- flow: 'password';
62
- tokenUrl: string;
63
- scopes?: Record<string, string>;
64
- }
65
- interface OAuth2ApplicationSecurity extends BaseOAuthSecurity {
66
- flow: 'application';
67
- tokenUrl: string;
68
- scopes?: Record<string, string>;
69
- }
70
- interface OAuth2AccessCodeSecurity extends BaseOAuthSecurity {
71
- flow: 'accessCode';
72
- tokenUrl: string;
73
- authorizationUrl: string;
74
- scopes?: Record<string, string>;
75
- }
76
- type OAuth2Security = OAuth2AccessCodeSecurity | OAuth2ApplicationSecurity | OAuth2ImplicitSecurity | OAuth2PasswordSecurity;
77
- type Security = BasicSecurity | OAuth2Security | Specification.ApiKeySecurity;
78
- }
79
- //# sourceMappingURL=type.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../src/specification/v2/type.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/specification/v2/type.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
@@ -1,3 +0,0 @@
1
- export * from './module';
2
- export * from './type';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/specification/v3/index.ts"],"names":[],"mappings":"AAOA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/specification/v3/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,2CAAyB;AACzB,yCAAuB"}
@@ -1,25 +0,0 @@
1
- import { EnumType, IntersectionType, ReferenceType, ResolverProperty } from '@trapi/decorators';
2
- import { Method } from '@trapi/metadata';
3
- import { SpecificationV3 } from './type';
4
- import { AbstractSpecGenerator } from '../abstract';
5
- export declare class Version3SpecGenerator extends AbstractSpecGenerator<SpecificationV3.Spec, SpecificationV3.Schema> {
6
- getSwaggerSpec(): SpecificationV3.Spec;
7
- build(): SpecificationV3.Spec;
8
- private buildComponents;
9
- private static translateSecurityDefinitions;
10
- private buildPaths;
11
- private buildMethod;
12
- private buildRequestBodyWithFormData;
13
- private buildRequestBody;
14
- private buildMediaType;
15
- protected buildOperation(controllerName: string, method: Method): SpecificationV3.Operation;
16
- private buildParameter;
17
- private buildFromParameterExamples;
18
- private buildServers;
19
- private buildSchema;
20
- protected getSwaggerTypeForIntersectionType(type: IntersectionType): SpecificationV3.Schema;
21
- protected buildProperties<T>(properties: ResolverProperty[]): Record<string, SpecificationV3.Schema>;
22
- protected getSwaggerTypeForEnumType(enumType: EnumType): SpecificationV3.Schema;
23
- protected getSwaggerTypeForReferenceType(referenceType: ReferenceType): SpecificationV3.Schema;
24
- }
25
- //# sourceMappingURL=module.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/specification/v3/module.ts"],"names":[],"mappings":"AAOA,OAAO,EACH,QAAQ,EACR,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EACpD,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACH,MAAM,EACT,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,qBAAa,qBAAsB,SAAQ,qBAAqB,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC;IACnG,cAAc,IAAI,eAAe,CAAC,IAAI;IAItC,KAAK,IAAK,eAAe,CAAC,IAAI;IAqBrC,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,MAAM,CAAC,4BAA4B;IA0B3C,OAAO,CAAC,UAAU;IAqBlB,OAAO,CAAC,WAAW;IAgDnB,OAAO,CAAC,4BAA4B;IA6BpC,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,cAAc;IAUtB,SAAS,CAAC,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC,SAAS;IAsD3F,OAAO,CAAC,cAAc;IA4CtB,OAAO,CAAC,0BAA0B;IAqBlC,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,WAAW;IA8EnB,SAAS,CAAC,iCAAiC,CAAC,IAAI,EAAE,gBAAgB,GAAI,eAAe,CAAC,MAAM;IAI5F,SAAS,CAAC,eAAe,CAAC,CAAC,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;IAwBpG,SAAS,CAAC,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,GAAG,eAAe,CAAC,MAAM;IAiB/E,SAAS,CAAC,8BAA8B,CAAC,aAAa,EAAE,aAAa,GAAG,eAAe,CAAC,MAAM;CAKjG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/specification/v3/module.ts"],"names":[],"mappings":"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"}