@tsoa-next/cli 7.2.1 → 7.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,10 +1,10 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
- // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
4
- import type { TsoaRoute } from '@tsoa-next/runtime';
3
+ // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/tsoa-next/tsoa-next
4
+ import type { AdditionalProps, Tsoa, TsoaRoute } from '@tsoa-next/runtime';
5
5
  import { fetchMiddlewares, KoaTemplateService } from '@tsoa-next/runtime';
6
6
  {{#each controllers}}
7
- // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
7
+
8
8
  import { {{name}} } from '{{modulePath}}';
9
9
  {{/each}}
10
10
  {{#if authenticationModule}}
@@ -29,7 +29,7 @@ const koaAuthenticationRecasted = koaAuthentication as (req: KRequest, securityN
29
29
  {{/if}}
30
30
 
31
31
 
32
- // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
32
+
33
33
 
34
34
  const models: TsoaRoute.Models = {
35
35
  {{#each models}}
@@ -52,28 +52,28 @@ const models: TsoaRoute.Models = {
52
52
  "type": {{{json type}}},
53
53
  {{/if}}
54
54
  },
55
- // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
55
+
56
56
  {{/each}}
57
57
  };
58
- const templateService = new KoaTemplateService(models, {{{ json minimalSwaggerConfig }}});
59
-
60
- // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
61
-
62
-
63
58
  {{#if useFileUploads}}
64
- export function RegisterRoutes(router: KoaRouter,opts?:{multer?:ReturnType<typeof multer>}) {
59
+ export function RegisterRoutes(router: KoaRouter,opts?:{multer?:ReturnType<typeof multer>; validation?: Tsoa.ValidationContext}) {
65
60
  {{else}}
66
- export function RegisterRoutes(router: KoaRouter) {
61
+ export function RegisterRoutes(router: KoaRouter,opts?:{validation?: Tsoa.ValidationContext}) {
67
62
  {{/if}}
68
63
 
69
64
  // ###########################################################################################################
70
65
  // NOTE: If you do not see routes for all of your controllers in this file, then you might not have informed tsoa of where to look
71
- // Please look into the "controllerPathGlobs" config option described in the readme: https://github.com/lukeautry/tsoa
66
+ // Please look into the "controllerPathGlobs" config option described in the readme: https://github.com/tsoa-next/tsoa-next
72
67
  // ###########################################################################################################
73
68
 
74
69
  {{#if useFileUploads}}
75
70
  const upload = opts?.multer || multer({{{json multerOpts}}});
76
71
  {{/if}}
72
+ const additionalProps: AdditionalProps = {
73
+ ...{{{ json minimalSwaggerConfig }}},
74
+ validation: opts?.validation,
75
+ };
76
+ const templateService = new KoaTemplateService(models, additionalProps);
77
77
 
78
78
  {{#each controllers}}
79
79
  {{#each actions}}
@@ -105,7 +105,7 @@ export function RegisterRoutes(router: KoaRouter) {
105
105
 
106
106
  let validatedArgs: any[] = [];
107
107
  try {
108
- validatedArgs = templateService.getValidatedArgs({ args: args{{../name}}_{{name}}, context, next });
108
+ validatedArgs = templateService.getValidatedArgs({ args: args{{../name}}_{{name}}, controllerClass: {{../name}}, methodName: '{{name}}', context, next });
109
109
  } catch (err) {
110
110
  const error = err as any;
111
111
  error.message ||= JSON.stringify({ fields: error.fields });
@@ -132,18 +132,18 @@ export function RegisterRoutes(router: KoaRouter) {
132
132
  successStatus: {{successStatus}},
133
133
  });
134
134
  });
135
- // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
135
+
136
136
  {{/each}}
137
137
  {{/each}}
138
138
 
139
139
  {{#if useSecurity}}
140
140
 
141
- // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
141
+
142
142
 
143
143
  function authenticateMiddleware(security: TsoaRoute.Security[] = []) {
144
144
  return async function runAuthenticationMiddleware(context: any, next: any) {
145
145
 
146
- // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
146
+
147
147
 
148
148
  // keep track of failed auth attempts so we can hand back the most
149
149
  // recent one. This behavior was previously existing so preserving it
@@ -178,7 +178,7 @@ export function RegisterRoutes(router: KoaRouter) {
178
178
  }
179
179
  }
180
180
 
181
- // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
181
+
182
182
 
183
183
  let success;
184
184
  try {
@@ -207,12 +207,12 @@ export function RegisterRoutes(router: KoaRouter) {
207
207
  await next();
208
208
  }
209
209
 
210
- // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
210
+
211
211
  }
212
212
  }
213
213
  {{/if}}
214
214
 
215
- // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
215
+
216
216
  }
217
217
 
218
- // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
218
+
@@ -19,6 +19,7 @@ export declare abstract class SpecGenerator {
19
19
  } | {
20
20
  [propertyName: string]: Swagger.Schema31;
21
21
  };
22
+ protected getPropertySchemaType(type: Tsoa.Type): Tsoa.Type;
22
23
  getSwaggerTypeForObjectLiteral(objectLiteral: Tsoa.NestedObjectLiteralType, title?: string): Swagger.BaseSchema;
23
24
  protected getSwaggerTypeForReferenceType(_referenceType: Tsoa.ReferenceType): Swagger.BaseSchema;
24
25
  protected getSwaggerTypeForVoid(_dataType: 'void' | 'undefined'): Swagger.BaseSchema;
@@ -29,6 +30,9 @@ export declare abstract class SpecGenerator {
29
30
  protected abstract getSwaggerTypeForEnumType(enumType: Tsoa.EnumType, title?: string): Swagger.Schema2 | Swagger.Schema3;
30
31
  protected hasUndefined(property: Tsoa.Property): boolean;
31
32
  protected queriesPropertyToQueryParameter(property: Tsoa.Property): Tsoa.Parameter;
33
+ protected getExternalValidatorExtension(source: Pick<Tsoa.Parameter, 'externalValidator'>): {
34
+ 'x-schema-validator'?: Tsoa.ExternalValidatorKind;
35
+ };
32
36
  protected isRequiredWithoutDefault(prop: Tsoa.Property | Tsoa.Parameter): boolean | undefined;
33
37
  protected getSchemaValidators(validators: Tsoa.Validators): Partial<Record<Tsoa.SchemaValidatorKey, unknown>>;
34
38
  protected transformSchemaValidators(validators: Partial<Record<Tsoa.SchemaValidatorKey, unknown>>): Partial<Record<Tsoa.SchemaValidatorKey, unknown>>;
@@ -163,6 +163,22 @@ class SpecGenerator {
163
163
  return (0, runtime_1.assertNever)(type);
164
164
  }
165
165
  }
166
+ getPropertySchemaType(type) {
167
+ const unwrapBrandedAlias = (current) => {
168
+ if (current.dataType === 'refAlias') {
169
+ const next = current.type;
170
+ if (next.dataType === 'intersection' && next.types.length === 1) {
171
+ return unwrapBrandedAlias(next.types[0]);
172
+ }
173
+ return current;
174
+ }
175
+ if (current.dataType === 'intersection' && current.types.length === 1) {
176
+ return unwrapBrandedAlias(current.types[0]);
177
+ }
178
+ return current;
179
+ };
180
+ return unwrapBrandedAlias(type);
181
+ }
166
182
  getSwaggerTypeForObjectLiteral(objectLiteral, title) {
167
183
  const properties = this.buildProperties(objectLiteral.properties);
168
184
  const additionalProperties = objectLiteral.additionalProperties && this.getSwaggerType(objectLiteral.additionalProperties);
@@ -270,9 +286,13 @@ class SpecGenerator {
270
286
  type: property.type,
271
287
  default: property.default,
272
288
  validators: property.validators,
289
+ parameterIndex: undefined,
273
290
  deprecated: property.deprecated,
274
291
  };
275
292
  }
293
+ getExternalValidatorExtension(source) {
294
+ return source.externalValidator ? { 'x-schema-validator': source.externalValidator.kind } : {};
295
+ }
276
296
  isRequiredWithoutDefault(prop) {
277
297
  return prop.required && prop.default == null;
278
298
  }
@@ -1 +1 @@
1
- {"version":3,"file":"specGenerator.js","sourceRoot":"","sources":["../../src/swagger/specGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"specGenerator.js","sourceRoot":"","sources":["../../src/swagger/specGenerator.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ class SpecGenerator2 extends specGenerator_1.SpecGenerator {
31
31
  produces: [swaggerUtils_1.DEFAULT_RESPONSE_MEDIA_TYPE],
32
32
  swagger: '2.0',
33
33
  };
34
- const securityDefinitions = this.config.securityDefinitions ? this.config.securityDefinitions : {};
34
+ const securityDefinitions = this.config.securityDefinitions ?? {};
35
35
  const supportedSchemes = ['basic', 'apiKey', 'oauth2'];
36
36
  for (const { type } of Object.values(securityDefinitions)) {
37
37
  if (!supportedSchemes.includes(type)) {
@@ -86,7 +86,7 @@ class SpecGenerator2 extends specGenerator_1.SpecGenerator {
86
86
  definitions[referenceType.refName] = {
87
87
  description: referenceType.description,
88
88
  properties: this.buildProperties(referenceType.properties),
89
- required: required && required.length > 0 ? Array.from(new Set(required)) : undefined,
89
+ required: required.length > 0 ? Array.from(new Set(required)) : undefined,
90
90
  type: 'object',
91
91
  };
92
92
  if (referenceType.additionalProperties) {
@@ -110,7 +110,7 @@ class SpecGenerator2 extends specGenerator_1.SpecGenerator {
110
110
  enum: referenceType.enums,
111
111
  type: this.decideEnumType(referenceType.enums, referenceType.refName),
112
112
  };
113
- if (this.config.xEnumVarnames && referenceType.enumVarnames !== undefined && referenceType.enums.length === referenceType.enumVarnames.length) {
113
+ if (this.config.xEnumVarnames && referenceType.enumVarnames?.length === referenceType.enums.length) {
114
114
  definitions[referenceType.refName]['x-enum-varnames'] = referenceType.enumVarnames;
115
115
  }
116
116
  if (referenceType.example) {
@@ -313,12 +313,14 @@ class SpecGenerator2 extends specGenerator_1.SpecGenerator {
313
313
  ...(parameterType.items && this.isSwaggerBaseSchema(parameterType.items) ? { items: this.toSwagger2Schema(parameterType.items) } : {}),
314
314
  type: 'array',
315
315
  ...schemaValidators,
316
+ ...this.getExternalValidatorExtension(source),
316
317
  }
317
318
  : source.type.dataType === 'any'
318
- ? { type: 'object', ...schemaValidators }
319
+ ? { type: 'object', ...schemaValidators, ...this.getExternalValidatorExtension(source) }
319
320
  : {
320
321
  ...this.toSwagger2Schema(parameterType),
321
322
  ...schemaValidators,
323
+ ...this.getExternalValidatorExtension(source),
322
324
  };
323
325
  return {
324
326
  description: source.description,
@@ -342,6 +344,7 @@ class SpecGenerator2 extends specGenerator_1.SpecGenerator {
342
344
  ...(parameterType.format ? { format: this.throwIfNotDataFormat(parameterType.format) } : {}),
343
345
  ...(parameterType.items ? { items: parameterType.items } : {}),
344
346
  ...(parameterType.enum ? { enum: parameterType.enum } : {}),
347
+ ...this.getExternalValidatorExtension(source),
345
348
  ...parameterValidators,
346
349
  };
347
350
  const resolvedType = source.type.dataType === 'any' ? 'string' : parameterType.type ? this.throwIfNotDataType(parameterType.type) : undefined;
@@ -407,7 +410,7 @@ class SpecGenerator2 extends specGenerator_1.SpecGenerator {
407
410
  buildProperties(source) {
408
411
  const properties = {};
409
412
  source.forEach(property => {
410
- let swaggerType = this.getSwaggerType(property.type);
413
+ let swaggerType = this.getSwaggerType(this.getPropertySchemaType(property.type));
411
414
  const format = property.format;
412
415
  swaggerType.description = property.description;
413
416
  swaggerType.example = property.example;
@@ -1 +1 @@
1
- {"version":3,"file":"specGenerator2.js","sourceRoot":"","sources":["../../src/swagger/specGenerator2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"specGenerator2.js","sourceRoot":"","sources":["../../src/swagger/specGenerator2.ts"],"names":[],"mappings":"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"}
@@ -53,6 +53,7 @@ export declare class SpecGenerator3 extends SpecGenerator {
53
53
  protected buildMediaType(controllerName: string, method: Tsoa.Method, parameter: Tsoa.Parameter): Swagger.MediaType;
54
54
  protected buildQueriesParameter(source: Tsoa.Parameter): Swagger.Parameter3[];
55
55
  protected buildParameter(source: Tsoa.Parameter): Swagger.Parameter3;
56
+ private mergeSchemaExtensions;
56
57
  protected buildExamples(source: Pick<Tsoa.Parameter, 'example' | 'exampleLabels'>): {
57
58
  example?: unknown;
58
59
  examples?: {
@@ -131,9 +131,9 @@ class SpecGenerator3 extends specGenerator_1.SpecGenerator {
131
131
  const prefix = this.config.disableBasePathPrefixSlash ? undefined : '/';
132
132
  const basePath = (0, pathUtils_1.normalisePath)(this.config.basePath, prefix, undefined, false);
133
133
  const scheme = this.config.schemes ? this.config.schemes[0] : 'https';
134
- const hosts = this.config.servers ? this.config.servers : this.config.host ? [this.config.host] : undefined;
134
+ const hosts = this.config.servers ?? (this.config.host ? [this.config.host] : undefined);
135
135
  const convertHost = (host) => ({ url: `${scheme}://${host}${basePath}` });
136
- return (hosts?.map(convertHost) || [{ url: basePath }]);
136
+ return (hosts?.map(convertHost) ?? [{ url: basePath }]);
137
137
  }
138
138
  buildSchema() {
139
139
  const schema = {};
@@ -144,7 +144,7 @@ class SpecGenerator3 extends specGenerator_1.SpecGenerator {
144
144
  schema[referenceType.refName] = {
145
145
  description: referenceType.description,
146
146
  properties: this.buildProperties(referenceType.properties),
147
- required: required && required.length > 0 ? Array.from(new Set(required)) : undefined,
147
+ required: required.length > 0 ? Array.from(new Set(required)) : undefined,
148
148
  type: 'object',
149
149
  };
150
150
  if (referenceType.additionalProperties) {
@@ -170,7 +170,7 @@ class SpecGenerator3 extends specGenerator_1.SpecGenerator {
170
170
  enum: referenceType.enums,
171
171
  type: enumTypes.has('string') ? 'string' : 'number',
172
172
  };
173
- if (this.config.xEnumVarnames && referenceType.enumVarnames !== undefined && referenceType.enums.length === referenceType.enumVarnames.length) {
173
+ if (this.config.xEnumVarnames && referenceType.enumVarnames?.length === referenceType.enums.length) {
174
174
  schema[referenceType.refName]['x-enum-varnames'] = referenceType.enumVarnames;
175
175
  }
176
176
  }
@@ -321,7 +321,7 @@ class SpecGenerator3 extends specGenerator_1.SpecGenerator {
321
321
  let exampleCounter = 1;
322
322
  const examples = res.examples.reduce((acc, ex, currentIndex) => {
323
323
  const exampleLabel = res.exampleLabels?.[currentIndex];
324
- acc[exampleLabel === undefined ? `Example ${exampleCounter++}` : exampleLabel] = { value: ex };
324
+ acc[exampleLabel ?? `Example ${exampleCounter++}`] = { value: ex };
325
325
  return acc;
326
326
  }, {});
327
327
  const content = swaggerResponses[res.name].content;
@@ -383,7 +383,7 @@ class SpecGenerator3 extends specGenerator_1.SpecGenerator {
383
383
  properties,
384
384
  // An empty list required: [] is not valid.
385
385
  // If all properties are optional, do not specify the required keyword.
386
- ...(required && required.length && { required }),
386
+ ...(required.length > 0 && { required }),
387
387
  },
388
388
  },
389
389
  },
@@ -404,12 +404,13 @@ class SpecGenerator3 extends specGenerator_1.SpecGenerator {
404
404
  }
405
405
  buildMediaType(controllerName, method, parameter) {
406
406
  const validators = this.getSchemaValidators(parameter.validators);
407
+ const schema = this.mergeSchemaExtensions(this.getSwaggerType(parameter.type, this.config.useTitleTagsForInlineObjects ? this.getOperationId(controllerName, method) + 'RequestBody' : undefined), {
408
+ ...validators,
409
+ ...(parameter.description && { description: parameter.description }),
410
+ ...this.getExternalValidatorExtension(parameter),
411
+ });
407
412
  const mediaType = {
408
- schema: {
409
- ...this.getSwaggerType(parameter.type, this.config.useTitleTagsForInlineObjects ? this.getOperationId(controllerName, method) + 'RequestBody' : undefined),
410
- ...validators,
411
- ...(parameter.description && { description: parameter.description }),
412
- },
413
+ schema,
413
414
  };
414
415
  const parameterExamples = parameter.example;
415
416
  const parameterExampleLabels = parameter.exampleLabels;
@@ -423,7 +424,7 @@ class SpecGenerator3 extends specGenerator_1.SpecGenerator {
423
424
  let exampleCounter = 1;
424
425
  mediaType.examples = parameterExamples.reduce((acc, ex, currentIndex) => {
425
426
  const exampleLabel = parameterExampleLabels?.[currentIndex];
426
- acc[exampleLabel === undefined ? `Example ${exampleCounter++}` : exampleLabel] = { value: ex };
427
+ acc[exampleLabel ?? `Example ${exampleCounter++}`] = { value: ex };
427
428
  return acc;
428
429
  }, {});
429
430
  }
@@ -445,6 +446,7 @@ class SpecGenerator3 extends specGenerator_1.SpecGenerator {
445
446
  schema: {
446
447
  default: source.default,
447
448
  format: undefined,
449
+ ...this.getExternalValidatorExtension(source),
448
450
  },
449
451
  };
450
452
  if (source.deprecated) {
@@ -455,7 +457,7 @@ class SpecGenerator3 extends specGenerator_1.SpecGenerator {
455
457
  parameter.schema.format = this.throwIfNotDataFormat(parameterType.format);
456
458
  }
457
459
  if (parameterType.$ref) {
458
- parameter.schema = parameterType;
460
+ parameter.schema = this.mergeSchemaExtensions(parameterType, this.getExternalValidatorExtension(source));
459
461
  return Object.assign(parameter, this.buildExamples(source));
460
462
  }
461
463
  const validatorObjs = this.getSchemaValidators(source.validators);
@@ -474,6 +476,19 @@ class SpecGenerator3 extends specGenerator_1.SpecGenerator {
474
476
  parameter.schema = Object.assign({}, parameter.schema, validatorObjs);
475
477
  return Object.assign(parameter, this.buildExamples(source));
476
478
  }
479
+ mergeSchemaExtensions(schema, extensions) {
480
+ const filteredExtensions = Object.fromEntries(Object.entries(extensions).filter(([, value]) => value !== undefined));
481
+ if (!schema.$ref || Object.keys(filteredExtensions).length === 0) {
482
+ return {
483
+ ...schema,
484
+ ...filteredExtensions,
485
+ };
486
+ }
487
+ return {
488
+ allOf: [schema],
489
+ ...filteredExtensions,
490
+ };
491
+ }
477
492
  buildExamples(source) {
478
493
  const { example: parameterExamples, exampleLabels } = source;
479
494
  if (parameterExamples === undefined) {
@@ -494,7 +509,7 @@ class SpecGenerator3 extends specGenerator_1.SpecGenerator {
494
509
  buildProperties(source) {
495
510
  const properties = {};
496
511
  source.forEach(property => {
497
- let swaggerType = this.getSwaggerType(property.type);
512
+ let swaggerType = this.getSwaggerType(this.getPropertySchemaType(property.type));
498
513
  const format = property.format;
499
514
  swaggerType.description = property.description;
500
515
  swaggerType.example = property.example;