@spinajs/http-swagger 2.0.491 → 2.0.494
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/lib/cjs/interfaces.d.ts +9 -0
- package/lib/cjs/interfaces.d.ts.map +1 -1
- package/lib/cjs/openapi-builder.d.ts +113 -0
- package/lib/cjs/openapi-builder.d.ts.map +1 -1
- package/lib/cjs/openapi-builder.js +321 -28
- package/lib/cjs/openapi-builder.js.map +1 -1
- package/lib/cjs/swagger-service.d.ts.map +1 -1
- package/lib/cjs/swagger-service.js +16 -1
- package/lib/cjs/swagger-service.js.map +1 -1
- package/lib/mjs/interfaces.d.ts +9 -0
- package/lib/mjs/interfaces.d.ts.map +1 -1
- package/lib/mjs/openapi-builder.d.ts +113 -0
- package/lib/mjs/openapi-builder.d.ts.map +1 -1
- package/lib/mjs/openapi-builder.js +321 -28
- package/lib/mjs/openapi-builder.js.map +1 -1
- package/lib/mjs/swagger-service.d.ts.map +1 -1
- package/lib/mjs/swagger-service.js +16 -1
- package/lib/mjs/swagger-service.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/lib/views/swagger-ui-init.js +11 -11
- package/lib/views/swagger.pug +16 -16
- package/package.json +73 -73
|
@@ -13,6 +13,7 @@ exports.OpenApiBuilder = void 0;
|
|
|
13
13
|
const di_1 = require("@spinajs/di");
|
|
14
14
|
const http_1 = require("@spinajs/http");
|
|
15
15
|
const validation_1 = require("@spinajs/validation");
|
|
16
|
+
const exceptions_1 = require("@spinajs/exceptions");
|
|
16
17
|
const util_1 = require("@spinajs/util");
|
|
17
18
|
/**
|
|
18
19
|
* Set of ParameterType values that map to internal framework params (not API params).
|
|
@@ -109,11 +110,29 @@ const STANDARD_RESPONSE_DESCRIPTIONS = {
|
|
|
109
110
|
'422': 'Validation error — request body failed schema validation',
|
|
110
111
|
'500': 'Internal server error',
|
|
111
112
|
};
|
|
113
|
+
/**
|
|
114
|
+
* Every `{placeholder}` an OpenAPI path template carries, in template order.
|
|
115
|
+
*
|
|
116
|
+
* The template is the single source of truth for path parameters. It is read from the
|
|
117
|
+
* FULL path the document emits (controller `@BasePath` + route path + configured
|
|
118
|
+
* `basePath` prefix), not from `route.Path` — a placeholder declared in `@BasePath` is
|
|
119
|
+
* invisible to `route.Path` and rejecting an argument that names it would be a false
|
|
120
|
+
* alarm.
|
|
121
|
+
*
|
|
122
|
+
* Deduplicated: `name` + `in` is a parameter's identity in OpenAPI, so a template that
|
|
123
|
+
* repeats a placeholder still yields one parameter.
|
|
124
|
+
*/
|
|
125
|
+
function pathTemplatePlaceholders(template) {
|
|
126
|
+
const names = (template.match(/{([a-zA-Z_][a-zA-Z0-9_]*)}/g) ?? []).map((p) => p.slice(1, -1));
|
|
127
|
+
return [...new Set(names)];
|
|
128
|
+
}
|
|
112
129
|
class OpenApiBuilder {
|
|
113
130
|
constructor(config) {
|
|
114
131
|
this.tags = new Map();
|
|
115
132
|
this.registeredResponses = new Set();
|
|
116
133
|
this.registeredComponents = new Set();
|
|
134
|
+
/** Per type name: whether its two flavours differ and therefore need two components. */
|
|
135
|
+
this.componentClaims = new Map();
|
|
117
136
|
this.errorSchemaRegistered = false;
|
|
118
137
|
this.registeredPolicies = new Set();
|
|
119
138
|
this.policySectionEntries = [];
|
|
@@ -173,7 +192,7 @@ class OpenApiBuilder {
|
|
|
173
192
|
const httpMethod = this.mapRouteType(route.Type);
|
|
174
193
|
if (!httpMethod)
|
|
175
194
|
continue;
|
|
176
|
-
const operation = this.buildOperation(controller.name, methodNameStr, route, methodDoc, tagName);
|
|
195
|
+
const operation = this.buildOperation(controller.name, methodNameStr, route, methodDoc, tagName, fullPath);
|
|
177
196
|
this.applyRbac(operation, rbac, methodNameStr);
|
|
178
197
|
this.applyPolicies(operation, docCache, methodNameStr);
|
|
179
198
|
if (!this.document.paths[fullPath]) {
|
|
@@ -338,8 +357,12 @@ class OpenApiBuilder {
|
|
|
338
357
|
}
|
|
339
358
|
/**
|
|
340
359
|
* Build an OpenAPI operation from a route and its documentation.
|
|
360
|
+
*
|
|
361
|
+
* `fullPath` is the OpenAPI path template this operation is filed under. It — not the
|
|
362
|
+
* argument list — decides which path parameters the operation has; see
|
|
363
|
+
* resolvePathPlaceholder() for the contract a declared argument must satisfy.
|
|
341
364
|
*/
|
|
342
|
-
buildOperation(controllerName, methodName, route, methodDoc, tagName) {
|
|
365
|
+
buildOperation(controllerName, methodName, route, methodDoc, tagName, fullPath) {
|
|
343
366
|
const operation = {
|
|
344
367
|
operationId: `${controllerName}_${methodName}`,
|
|
345
368
|
tags: methodDoc?.tags || [tagName],
|
|
@@ -352,9 +375,13 @@ class OpenApiBuilder {
|
|
|
352
375
|
security: methodDoc?.security,
|
|
353
376
|
};
|
|
354
377
|
const bodyParams = [];
|
|
355
|
-
//
|
|
356
|
-
const
|
|
357
|
-
|
|
378
|
+
// The URL template owns the path parameters. Arguments only enrich them.
|
|
379
|
+
const placeholders = pathTemplatePlaceholders(fullPath);
|
|
380
|
+
// Placeholder -> the argument that declares it. At most one argument per placeholder;
|
|
381
|
+
// a second one is a defect in the controller, not something to reconcile here.
|
|
382
|
+
const declaredPlaceholders = new Map();
|
|
383
|
+
// Parameters other than path ones, kept in argument order.
|
|
384
|
+
const otherParams = [];
|
|
358
385
|
// Process route parameters
|
|
359
386
|
for (const [, param] of route.Parameters) {
|
|
360
387
|
if (INTERNAL_PARAMS.has(param.Type)) {
|
|
@@ -368,26 +395,52 @@ class OpenApiBuilder {
|
|
|
368
395
|
if (!location) {
|
|
369
396
|
if (param.Type === 'FromDbModel') {
|
|
370
397
|
location = this.fromDbModelLocation(param);
|
|
398
|
+
// fromDbModelLocation() answers 'path' for paramType=FromBody too, only so the
|
|
399
|
+
// value stays visible somewhere in the document. A body key has no URL
|
|
400
|
+
// placeholder to match and readsPathParam() is the authority on that, so it is
|
|
401
|
+
// not a path parameter and must not be pushed through the strict resolver.
|
|
402
|
+
// It carries no OpenAPI location at all — a body is described by requestBody.
|
|
403
|
+
if (location === 'path' && !this.readsPathParam(param)) {
|
|
404
|
+
location = undefined;
|
|
405
|
+
}
|
|
371
406
|
}
|
|
372
407
|
else if (param.Type === 'FilterModelRouteArg') {
|
|
373
408
|
location = 'query';
|
|
374
409
|
}
|
|
375
410
|
}
|
|
376
|
-
|
|
377
|
-
const
|
|
378
|
-
if (isPathParam && resolvedName && !param.Name) {
|
|
379
|
-
param.Name = resolvedName;
|
|
380
|
-
}
|
|
381
|
-
const paramDoc = methodDoc?.params?.[resolvedName ?? param.Name];
|
|
411
|
+
// JSDoc is written against the argument name.
|
|
412
|
+
const paramDoc = methodDoc?.params?.[param.Name];
|
|
382
413
|
if (BODY_PARAMS.has(param.Type)) {
|
|
383
414
|
bodyParams.push({ param, doc: paramDoc });
|
|
384
415
|
continue;
|
|
385
416
|
}
|
|
417
|
+
if (location === 'path') {
|
|
418
|
+
const placeholder = this.resolvePathPlaceholder(controllerName, methodName, param, placeholders, fullPath);
|
|
419
|
+
const previous = declaredPlaceholders.get(placeholder);
|
|
420
|
+
if (previous) {
|
|
421
|
+
throw new exceptions_1.InvalidArgument(`${controllerName}.${methodName}: path placeholder \`${placeholder}\` is declared twice, ` +
|
|
422
|
+
`by \`${previous.param.Name}\` and by \`${param.Name}\`, in route \`${fullPath}\`. ` +
|
|
423
|
+
`Each placeholder must be declared by at most one argument — drop one of them, ` +
|
|
424
|
+
`or point its paramField at a different placeholder.`);
|
|
425
|
+
}
|
|
426
|
+
declaredPlaceholders.set(placeholder, { param, doc: paramDoc ?? methodDoc?.params?.[placeholder] });
|
|
427
|
+
continue;
|
|
428
|
+
}
|
|
386
429
|
if (location) {
|
|
387
|
-
|
|
388
|
-
operation.parameters.push(apiParam);
|
|
430
|
+
otherParams.push(this.buildParameter(param, location, paramDoc, this.emittedParamName(param)));
|
|
389
431
|
}
|
|
390
432
|
}
|
|
433
|
+
// Emit one required parameter per placeholder, in template order. A placeholder nobody
|
|
434
|
+
// declares is still a parameter the caller has to fill in: the backend compiles with
|
|
435
|
+
// `noUnusedParameters`, so a handler that never reads `:campaign` CANNOT declare an
|
|
436
|
+
// argument for it, and the URL template is then the only place that knows about it.
|
|
437
|
+
for (const name of placeholders) {
|
|
438
|
+
const declared = declaredPlaceholders.get(name);
|
|
439
|
+
operation.parameters.push(declared
|
|
440
|
+
? this.buildParameter(declared.param, 'path', declared.doc, name)
|
|
441
|
+
: { name, in: 'path', required: true, schema: { type: 'string' } });
|
|
442
|
+
}
|
|
443
|
+
operation.parameters.push(...otherParams);
|
|
391
444
|
// Build request body from body params
|
|
392
445
|
if (bodyParams.length > 0) {
|
|
393
446
|
operation.requestBody = this.buildRequestBody(bodyParams, route);
|
|
@@ -569,6 +622,149 @@ class OpenApiBuilder {
|
|
|
569
622
|
return 'path';
|
|
570
623
|
}
|
|
571
624
|
}
|
|
625
|
+
/**
|
|
626
|
+
* The name a non-path parameter is emitted under.
|
|
627
|
+
*
|
|
628
|
+
* orm-http's FromDbModel._extractValue reads `req.query[paramField ?? Name]` (same for
|
|
629
|
+
* headers), so an explicit `paramField` IS the wire name and the TypeScript argument name
|
|
630
|
+
* is not what the runtime looks for. Path parameters do not go through here — their name
|
|
631
|
+
* is the placeholder, see resolvePathPlaceholder().
|
|
632
|
+
*/
|
|
633
|
+
emittedParamName(param) {
|
|
634
|
+
const paramField = param.Options?.paramField;
|
|
635
|
+
return paramField || param.Name || undefined;
|
|
636
|
+
}
|
|
637
|
+
/**
|
|
638
|
+
* The URL placeholder a path-bound argument declares — or a throw.
|
|
639
|
+
*
|
|
640
|
+
* Path parameters are emitted from the URL template (see buildOperation); a declared
|
|
641
|
+
* argument only enriches the one it names, with its schema and its JSDoc description.
|
|
642
|
+
* There are exactly two ways to name one:
|
|
643
|
+
*
|
|
644
|
+
* 1. `Options.paramField` — that IS the placeholder, and it must exist in the template.
|
|
645
|
+
* It is also the field orm-http's FromDbModel.extract() reads from `req.params`, so
|
|
646
|
+
* the document and the runtime agree by construction.
|
|
647
|
+
* 2. the argument's own name, when it equals a placeholder.
|
|
648
|
+
*
|
|
649
|
+
* Anything else throws. No positional assignment, no "first free placeholder", no
|
|
650
|
+
* underscore aliasing: a controller the documentation layer cannot read unambiguously is
|
|
651
|
+
* a controller to fix, not to guess at. An underscore-prefixed argument (`_campaign`,
|
|
652
|
+
* written only to satisfy `noUnusedParameters`) matches no placeholder and therefore
|
|
653
|
+
* throws — the fix is to DELETE the argument, because the placeholder is emitted from the
|
|
654
|
+
* template whether anything declares it or not.
|
|
655
|
+
*
|
|
656
|
+
* The message has to be enough to fix the route without opening this file: it names the
|
|
657
|
+
* controller, the method, the argument, the template, every placeholder that template
|
|
658
|
+
* carries and the two ways out.
|
|
659
|
+
*/
|
|
660
|
+
resolvePathPlaceholder(controllerName, methodName, param, placeholders, fullPath) {
|
|
661
|
+
const paramField = param.Options?.paramField;
|
|
662
|
+
const argument = param.Name || `argument #${param.Index}`;
|
|
663
|
+
const available = placeholders.length > 0
|
|
664
|
+
? `Available placeholders: ${placeholders.join(', ')}.`
|
|
665
|
+
: 'The route declares no path placeholders at all.';
|
|
666
|
+
const suggestion = placeholders.length > 0 ? placeholders[0] : 'name';
|
|
667
|
+
const fix = `Either rename the argument to a placeholder the route really has, or name one explicitly ` +
|
|
668
|
+
`with the decorator's paramField option, e.g. @FromModel({ paramField: '${suggestion}' }). ` +
|
|
669
|
+
`If the handler never reads the value, delete the argument instead: every placeholder is ` +
|
|
670
|
+
`documented from the URL template whether an argument declares it or not. Path parameters ` +
|
|
671
|
+
`are resolved strictly — the documentation layer does not guess.`;
|
|
672
|
+
if (paramField) {
|
|
673
|
+
if (placeholders.includes(paramField)) {
|
|
674
|
+
return paramField;
|
|
675
|
+
}
|
|
676
|
+
throw new exceptions_1.InvalidArgument(`${controllerName}.${methodName}: path argument \`${argument}\` declares paramField ` +
|
|
677
|
+
`\`${paramField}\`, which matches no placeholder in route \`${fullPath}\`. ${available} ${fix}`);
|
|
678
|
+
}
|
|
679
|
+
if (param.Name && placeholders.includes(param.Name)) {
|
|
680
|
+
return param.Name;
|
|
681
|
+
}
|
|
682
|
+
throw new exceptions_1.InvalidArgument(`${controllerName}.${methodName}: path argument \`${argument}\` matches no placeholder ` +
|
|
683
|
+
`in route \`${fullPath}\`. ${available} ${fix}`);
|
|
684
|
+
}
|
|
685
|
+
/**
|
|
686
|
+
* Whether an @FromModel parameter reads its key from the URL path.
|
|
687
|
+
*
|
|
688
|
+
* Mirrors orm-http's FromDbModel._extractValue: only an absent `paramType` ( the default )
|
|
689
|
+
* or an explicit FromParams reaches `req.params`. Query / body / header keys live somewhere
|
|
690
|
+
* else entirely and have no business claiming a URL placeholder.
|
|
691
|
+
*/
|
|
692
|
+
readsPathParam(param) {
|
|
693
|
+
const paramType = param.Options?.paramType;
|
|
694
|
+
return paramType === undefined || paramType === null || paramType === http_1.ParameterType.FromParams || paramType === 'FromParams';
|
|
695
|
+
}
|
|
696
|
+
/**
|
|
697
|
+
* Schema for the value an @FromModel parameter actually carries: the key the model
|
|
698
|
+
* is looked up by, never the model itself. The runtime picks that column the same
|
|
699
|
+
* way (FromDbModel.fromDbModelDefaultQueryFunction): `Options.queryField` if given,
|
|
700
|
+
* otherwise the model's primary key.
|
|
701
|
+
*
|
|
702
|
+
* The descriptor is read through the global `Symbol.for('MODEL_DESCRIPTOR')` so this
|
|
703
|
+
* package keeps no @spinajs/orm dependency (same trick as extractFilterableColumns).
|
|
704
|
+
* `PrimaryKey` is filled only by the @Primary decorator, so legacy models without it
|
|
705
|
+
* fall back to the column the driver introspected as primary.
|
|
706
|
+
*/
|
|
707
|
+
fromDbModelKeySchema(param) {
|
|
708
|
+
const modelCtor = param.RuntimeType;
|
|
709
|
+
const descriptor = typeof modelCtor === 'function'
|
|
710
|
+
? Reflect.getMetadata(Symbol.for('MODEL_DESCRIPTOR'), modelCtor)
|
|
711
|
+
: undefined;
|
|
712
|
+
const columns = Array.isArray(descriptor?.Columns) ? descriptor.Columns : [];
|
|
713
|
+
const primaryKey = descriptor?.PrimaryKey;
|
|
714
|
+
const declaredKey = Array.isArray(primaryKey) ? primaryKey[0] : primaryKey || undefined;
|
|
715
|
+
const keyName = param.Options?.queryField ?? declaredKey ?? columns.find((c) => c.PrimaryKey)?.Name;
|
|
716
|
+
const modelName = descriptor?.Name || (typeof modelCtor === 'function' ? modelCtor.name : undefined);
|
|
717
|
+
const column = keyName ? columns.find((c) => c.Name === keyName) : undefined;
|
|
718
|
+
// No descriptor at all (model metadata not loaded) still beats `type: object` —
|
|
719
|
+
// whatever the key is, it travels as a single scalar in the URL or query string.
|
|
720
|
+
const schema = this.schemaFromDbColumnType(column?.Type);
|
|
721
|
+
return {
|
|
722
|
+
...schema,
|
|
723
|
+
description: modelName && keyName ? `${modelName}.${keyName}` : modelName ? `${modelName} key` : undefined,
|
|
724
|
+
};
|
|
725
|
+
}
|
|
726
|
+
/**
|
|
727
|
+
* Map a database column type (driver's DATA_TYPE) to an OpenAPI primitive.
|
|
728
|
+
* Unknown types fall back to string — the value travels as a URL segment anyway.
|
|
729
|
+
*/
|
|
730
|
+
schemaFromDbColumnType(type) {
|
|
731
|
+
const normalized = (type ?? '')
|
|
732
|
+
.toLowerCase()
|
|
733
|
+
.replace(/\(.*$/, '')
|
|
734
|
+
.replace(/\s+unsigned$/, '')
|
|
735
|
+
.trim();
|
|
736
|
+
switch (normalized) {
|
|
737
|
+
case 'tinyint':
|
|
738
|
+
case 'smallint':
|
|
739
|
+
case 'mediumint':
|
|
740
|
+
case 'int':
|
|
741
|
+
case 'integer':
|
|
742
|
+
case 'year':
|
|
743
|
+
return { type: 'integer' };
|
|
744
|
+
case 'bigint':
|
|
745
|
+
return { type: 'integer', format: 'int64' };
|
|
746
|
+
case 'float':
|
|
747
|
+
case 'double':
|
|
748
|
+
case 'real':
|
|
749
|
+
return { type: 'number' };
|
|
750
|
+
case 'bool':
|
|
751
|
+
case 'boolean':
|
|
752
|
+
case 'bit':
|
|
753
|
+
return { type: 'boolean' };
|
|
754
|
+
// DECIMAL/NUMERIC come back from the driver as strings (precision is not
|
|
755
|
+
// survivable as a JS number), so the doc must say string as well.
|
|
756
|
+
case 'decimal':
|
|
757
|
+
case 'numeric':
|
|
758
|
+
return { type: 'string' };
|
|
759
|
+
case 'date':
|
|
760
|
+
return { type: 'string', format: 'date' };
|
|
761
|
+
case 'datetime':
|
|
762
|
+
case 'timestamp':
|
|
763
|
+
return { type: 'string', format: 'date-time' };
|
|
764
|
+
default:
|
|
765
|
+
return { type: 'string' };
|
|
766
|
+
}
|
|
767
|
+
}
|
|
572
768
|
/**
|
|
573
769
|
* Build an OpenAPI parameter from route parameter info.
|
|
574
770
|
*/
|
|
@@ -603,6 +799,12 @@ class OpenApiBuilder {
|
|
|
603
799
|
if (param.Type === 'FilterModelRouteArg') {
|
|
604
800
|
return this.buildFilterSchema(param);
|
|
605
801
|
}
|
|
802
|
+
// orm-http @FromModel — the request carries the key the model is loaded by, not the
|
|
803
|
+
// model. The model's own schema describes a write body and would document this
|
|
804
|
+
// parameter as an object, which no URL segment can be.
|
|
805
|
+
if (param.Type === 'FromDbModel') {
|
|
806
|
+
return this.fromDbModelKeySchema(param);
|
|
807
|
+
}
|
|
606
808
|
if (param.Schema && typeof param.Schema === 'object') {
|
|
607
809
|
return this.convertJsonSchema(param.Schema);
|
|
608
810
|
}
|
|
@@ -675,6 +877,17 @@ class OpenApiBuilder {
|
|
|
675
877
|
result.properties[k] = this.convertJsonSchema(v);
|
|
676
878
|
}
|
|
677
879
|
}
|
|
880
|
+
// A map keyed by data — RBAC grants are resource → action → descriptor, so
|
|
881
|
+
// the names cannot be enumerated and `properties` cannot describe them.
|
|
882
|
+
// Dropping this collapsed such a schema to a bare `object`. `false` is kept
|
|
883
|
+
// as-is: it says "no unknown keys", which is a real constraint, not a value
|
|
884
|
+
// schema.
|
|
885
|
+
if (typeof jsonSchema.additionalProperties === 'boolean') {
|
|
886
|
+
result.additionalProperties = jsonSchema.additionalProperties;
|
|
887
|
+
}
|
|
888
|
+
else if (jsonSchema.additionalProperties) {
|
|
889
|
+
result.additionalProperties = this.convertJsonSchema(jsonSchema.additionalProperties);
|
|
890
|
+
}
|
|
678
891
|
if (Array.isArray(jsonSchema.oneOf)) {
|
|
679
892
|
result.oneOf = jsonSchema.oneOf.map((s) => this.convertJsonSchema(s));
|
|
680
893
|
}
|
|
@@ -780,7 +993,7 @@ class OpenApiBuilder {
|
|
|
780
993
|
: (methodDoc.returns.schema ?? { type: 'object' });
|
|
781
994
|
responses['200'] = {
|
|
782
995
|
description: methodDoc.returns.description || 'Successful response',
|
|
783
|
-
content: { 'application/json': { schema: this.expandNamedSchemas(schema) } },
|
|
996
|
+
content: { 'application/json': { schema: this.expandNamedSchemas(schema, 'response') } },
|
|
784
997
|
};
|
|
785
998
|
}
|
|
786
999
|
else if (!hasExplicit2xx) {
|
|
@@ -795,7 +1008,7 @@ class OpenApiBuilder {
|
|
|
795
1008
|
if (resp.type) {
|
|
796
1009
|
responses[statusCode] = {
|
|
797
1010
|
description: resp.description,
|
|
798
|
-
content: { 'application/json': { schema: this.expandNamedSchemas(this.inferSchemaFromString(resp.type)) } },
|
|
1011
|
+
content: { 'application/json': { schema: this.expandNamedSchemas(this.inferSchemaFromString(resp.type), 'response') } },
|
|
799
1012
|
};
|
|
800
1013
|
continue;
|
|
801
1014
|
}
|
|
@@ -863,26 +1076,30 @@ class OpenApiBuilder {
|
|
|
863
1076
|
/**
|
|
864
1077
|
* Swaps named-type nodes for a reusable component `$ref`, registering each component once.
|
|
865
1078
|
* Walks `items` and `properties` so nested types are expanded too.
|
|
1079
|
+
*
|
|
1080
|
+
* `kind` says which side of the wire this subtree describes and is carried down the whole
|
|
1081
|
+
* walk — a relation nested in a response is still a response. It defaults to 'request'
|
|
1082
|
+
* so every caller that never had an opinion keeps the schema it always got.
|
|
866
1083
|
*/
|
|
867
|
-
expandNamedSchemas(schema) {
|
|
1084
|
+
expandNamedSchemas(schema, kind = 'request') {
|
|
868
1085
|
// Case 1 — primitive / null: nothing to expand, return as-is.
|
|
869
1086
|
if (!schema || typeof schema !== 'object') {
|
|
870
1087
|
return schema;
|
|
871
1088
|
}
|
|
872
1089
|
// Case 2 — a named-model tag: replace the whole node with a $ref to its component.
|
|
873
1090
|
if (schema.description && !schema.$ref) {
|
|
874
|
-
const ref = this.registerNamedComponent(schema.description);
|
|
1091
|
+
const ref = this.registerNamedComponent(schema.description, kind);
|
|
875
1092
|
if (ref) {
|
|
876
1093
|
return { $ref: ref };
|
|
877
1094
|
}
|
|
878
1095
|
}
|
|
879
1096
|
// Case 3 — a container: keep the node, expand the two places a model can hide.
|
|
880
1097
|
if (schema.items) {
|
|
881
|
-
schema.items = this.expandNamedSchemas(schema.items);
|
|
1098
|
+
schema.items = this.expandNamedSchemas(schema.items, kind);
|
|
882
1099
|
}
|
|
883
1100
|
if (schema.properties) {
|
|
884
1101
|
for (const key of Object.keys(schema.properties)) {
|
|
885
|
-
schema.properties[key] = this.expandNamedSchemas(schema.properties[key]);
|
|
1102
|
+
schema.properties[key] = this.expandNamedSchemas(schema.properties[key], kind);
|
|
886
1103
|
}
|
|
887
1104
|
}
|
|
888
1105
|
return schema;
|
|
@@ -891,23 +1108,99 @@ class OpenApiBuilder {
|
|
|
891
1108
|
* Registers `name` as a reusable component and returns its `$ref`.
|
|
892
1109
|
* Returns undefined when no provider recognises the name, so the caller leaves the node as-is.
|
|
893
1110
|
*/
|
|
894
|
-
registerNamedComponent(name) {
|
|
895
|
-
const
|
|
896
|
-
// Already registered (or in progress) — just reference it.
|
|
897
|
-
if (this.registeredComponents.has(name)) {
|
|
898
|
-
return ref;
|
|
899
|
-
}
|
|
900
|
-
const resolved = this.SchemaProviders.map((p) => p.getSchema(name)).find((r) => !!r);
|
|
1111
|
+
registerNamedComponent(name, kind = 'request') {
|
|
1112
|
+
const resolved = this.resolveNamedSchema(name, kind);
|
|
901
1113
|
if (!resolved) {
|
|
902
1114
|
return undefined;
|
|
903
1115
|
}
|
|
904
|
-
this.
|
|
1116
|
+
const componentName = this.componentNameFor(name, kind, resolved);
|
|
1117
|
+
const ref = `#/components/schemas/${componentName}`;
|
|
1118
|
+
// Already registered (or in progress) — just reference it. Registering BEFORE the
|
|
1119
|
+
// expansion below is what stops a cyclic relation from recursing forever.
|
|
1120
|
+
if (this.registeredComponents.has(componentName)) {
|
|
1121
|
+
return ref;
|
|
1122
|
+
}
|
|
1123
|
+
this.registeredComponents.add(componentName);
|
|
905
1124
|
const components = (this.document.components ??= {});
|
|
906
1125
|
const schemas = (components.schemas ??= {});
|
|
907
1126
|
// Expand nested named tags into their own components.
|
|
908
|
-
schemas[
|
|
1127
|
+
schemas[componentName] = this.expandNamedSchemas(this.convertJsonSchema(resolved), kind);
|
|
909
1128
|
return ref;
|
|
910
1129
|
}
|
|
1130
|
+
/**
|
|
1131
|
+
* Pick the schema a component should be built from.
|
|
1132
|
+
*
|
|
1133
|
+
* An ORM model carries two different contracts under one name: `@Schema` says what a
|
|
1134
|
+
* client may SEND, the model's own columns say what the API RETURNS. Serving the write
|
|
1135
|
+
* schema as the response contract is how a response ends up missing every column the
|
|
1136
|
+
* database generates (`id`, `created_at`), missing `nullable` on columns that are null in
|
|
1137
|
+
* practice, carrying `maxLength` copied from the column width, and demanding fields a
|
|
1138
|
+
* response legitimately omits — enough for a generated client validator to reject
|
|
1139
|
+
* ordinary rows.
|
|
1140
|
+
*
|
|
1141
|
+
* So a response asks the providers for their response flavour first. Providers that have
|
|
1142
|
+
* none (a `@Schema` DTO is the same object both ways) return undefined and we fall back
|
|
1143
|
+
* to `getSchema` — which is also the only thing a request ever consults.
|
|
1144
|
+
*/
|
|
1145
|
+
resolveNamedSchema(name, kind) {
|
|
1146
|
+
if (kind === 'response') {
|
|
1147
|
+
// optional call — a provider compiled against an older @spinajs/validation has no such method
|
|
1148
|
+
const response = this.SchemaProviders.map((p) => p.getResponseSchema?.(name)).find((r) => !!r);
|
|
1149
|
+
if (response) {
|
|
1150
|
+
return response;
|
|
1151
|
+
}
|
|
1152
|
+
}
|
|
1153
|
+
return this.SchemaProviders.map((p) => p.getSchema(name)).find((r) => !!r);
|
|
1154
|
+
}
|
|
1155
|
+
/**
|
|
1156
|
+
* Component name for `name` in the given flavour.
|
|
1157
|
+
*
|
|
1158
|
+
* A type whose two flavours agree is ONE component called `<Name>`. When they differ the
|
|
1159
|
+
* response keeps `<Name>` and the request becomes `<Name>Request` — always, whichever
|
|
1160
|
+
* flavour the traversal happens to reach first. Letting the first arrival keep the base
|
|
1161
|
+
* name made the suffix a function of controller-discovery ( filesystem ) order: adding or
|
|
1162
|
+
* renaming an unrelated controller could flip `User` to `UserRequest` in every generated
|
|
1163
|
+
* client, with nothing in the diff to explain it.
|
|
1164
|
+
*
|
|
1165
|
+
* The response is the half that keeps the plain name because it is the half most of a
|
|
1166
|
+
* client's surface is built from — a list screen references the row type far more often
|
|
1167
|
+
* than the write form does.
|
|
1168
|
+
*
|
|
1169
|
+
* Both flavours are resolved here, at the first encounter, precisely so the answer does not
|
|
1170
|
+
* depend on which one asked. Providers are pure lookups, so asking twice costs nothing.
|
|
1171
|
+
*
|
|
1172
|
+
* @param name - type name to place in components
|
|
1173
|
+
* @param kind - flavour being registered right now
|
|
1174
|
+
* @param resolved - the schema already resolved for `kind`, reused instead of re-asking
|
|
1175
|
+
*/
|
|
1176
|
+
componentNameFor(name, kind, resolved) {
|
|
1177
|
+
let claim = this.componentClaims.get(name);
|
|
1178
|
+
if (!claim) {
|
|
1179
|
+
const request = kind === 'request' ? resolved : this.resolveNamedSchema(name, 'request');
|
|
1180
|
+
const response = kind === 'response' ? resolved : this.resolveNamedSchema(name, 'response');
|
|
1181
|
+
const requestKey = request && this.schemaKey(request);
|
|
1182
|
+
const responseKey = response && this.schemaKey(response);
|
|
1183
|
+
// An unserializable schema counts as "differs": that costs one extra component but
|
|
1184
|
+
// never merges two contracts into one.
|
|
1185
|
+
claim = { split: !requestKey || !responseKey || requestKey !== responseKey };
|
|
1186
|
+
this.componentClaims.set(name, claim);
|
|
1187
|
+
}
|
|
1188
|
+
return claim.split && kind === 'request' ? `${name}Request` : name;
|
|
1189
|
+
}
|
|
1190
|
+
/**
|
|
1191
|
+
* Identity of a resolved schema, used only to tell "both flavours, same contract" from
|
|
1192
|
+
* "both flavours, different contract". Undefined when the schema can't be serialized —
|
|
1193
|
+
* then the two flavours are assumed to differ, which costs a component but never merges
|
|
1194
|
+
* two contracts into one.
|
|
1195
|
+
*/
|
|
1196
|
+
schemaKey(schema) {
|
|
1197
|
+
try {
|
|
1198
|
+
return JSON.stringify(schema);
|
|
1199
|
+
}
|
|
1200
|
+
catch {
|
|
1201
|
+
return undefined;
|
|
1202
|
+
}
|
|
1203
|
+
}
|
|
911
1204
|
/**
|
|
912
1205
|
* Infer an OpenAPI schema from a TypeScript runtime type.
|
|
913
1206
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi-builder.js","sourceRoot":"","sources":["../../src/openapi-builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openapi-builder.js","sourceRoot":"","sources":["../../src/openapi-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swagger-service.d.ts","sourceRoot":"","sources":["../../src/swagger-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAyC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"swagger-service.d.ts","sourceRoot":"","sources":["../../src/swagger-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAyC,MAAM,aAAa,CAAC;AAGlF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAU,GAAG,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnE;;;GAGG;AACH,qBACa,cAAe,SAAQ,YAAY;IAE9C,SAAS,CAAC,GAAG,EAAG,GAAG,CAAC;IAGpB,SAAS,CAAC,kBAAkB,EAAG,WAAW,CAAC;IAG3C,SAAS,CAAC,QAAQ,EAAG,eAAe,CAAC;IAGrC,SAAS,CAAC,aAAa,EAAG,cAAc,CAAC;IAEzC;;;;;OAKG;IAEH,SAAS,CAAC,WAAW,EAAG,MAAM,CAAC;IAE/B,OAAO,CAAC,KAAK,CAAiC;IAE9C;;;OAGG;IACH,OAAO,CAAC,aAAa,CAA0C;IAE/D,IAAW,SAAS,IAAI,OAAO,CAE9B;IAEY,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC;;;;OAIG;IACI,UAAU,IAAI,IAAI;IAIZ,OAAO,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAqBxD;;OAEG;IACU,SAAS,IAAI,OAAO,CAAC,gBAAgB,CAAC;CA6CpD"}
|