@spinajs/http-swagger 2.0.491 → 2.0.495
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
|
@@ -8,6 +8,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
10
|
import { AsyncService, Autoinject, DI, LazyInject, Singleton } from '@spinajs/di';
|
|
11
|
+
import { InvalidArgument } from '@spinajs/exceptions';
|
|
11
12
|
import { Config } from '@spinajs/configuration';
|
|
12
13
|
import { Controllers } from '@spinajs/http';
|
|
13
14
|
import { Logger, Log } from '@spinajs/log';
|
|
@@ -78,15 +79,29 @@ let SwaggerService = class SwaggerService extends AsyncService {
|
|
|
78
79
|
};
|
|
79
80
|
const builder = await DI.resolve(OpenApiBuilder, [config]);
|
|
80
81
|
const controllers = await this.ControllersService.Controllers;
|
|
82
|
+
// Every controller is attempted before anything is thrown, so one run reports EVERY
|
|
83
|
+
// offender. Aborting on the first one hides the rest: the builder already stops at a
|
|
84
|
+
// controller's first bad method, and when these failures were only warned about, seven
|
|
85
|
+
// log lines stood for thirteen broken arguments - and the twenty-one operations of the
|
|
86
|
+
// controllers that failed silently vanished from a spec that still answered 200.
|
|
87
|
+
const failures = [];
|
|
81
88
|
for (const controller of controllers) {
|
|
82
89
|
try {
|
|
83
90
|
const docCache = await this.DocCache.getCache(controller);
|
|
84
91
|
builder.addController(controller, docCache);
|
|
85
92
|
}
|
|
86
93
|
catch (err) {
|
|
87
|
-
|
|
94
|
+
failures.push(` - ${controller.name}: ${err?.message ?? err}`);
|
|
88
95
|
}
|
|
89
96
|
}
|
|
97
|
+
if (failures.length > 0) {
|
|
98
|
+
// A controller that cannot be documented is a controller that is wrong - it is fixed,
|
|
99
|
+
// not worked around. Omitting it would publish a spec that looks complete and is not,
|
|
100
|
+
// which is precisely the failure this replaces.
|
|
101
|
+
const message = `Cannot build the OpenAPI spec: ${failures.length} controller(s) could not be documented.\n${failures.join('\n')}`;
|
|
102
|
+
this.Log.error(message);
|
|
103
|
+
throw new InvalidArgument(message);
|
|
104
|
+
}
|
|
90
105
|
this._spec = builder.build();
|
|
91
106
|
return this._spec;
|
|
92
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swagger-service.js","sourceRoot":"","sources":["../../src/swagger-service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD;;;GAGG;AAEI,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,YAAY;IAAzC;;QAsBG,UAAK,GAA4B,IAAI,CAAC;QAE9C;;;WAGG;QACK,kBAAa,GAAqC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"swagger-service.js","sourceRoot":"","sources":["../../src/swagger-service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD;;;GAGG;AAEI,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,YAAY;IAAzC;;QAsBG,UAAK,GAA4B,IAAI,CAAC;QAE9C;;;WAGG;QACK,kBAAa,GAAqC,IAAI,CAAC;IAwFjE,CAAC;IAtFC,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,aAAa,EAAE,OAAO,KAAK,KAAK,CAAC;IAC/C,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACI,UAAU;QACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QACjC,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC;QAElC,8DAA8D;QAC9D,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YAC3D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE;iBAClC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gCAAgC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,oBAAoB,CAAC,CAAC;gBACxG,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;iBACD,OAAO,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC5B,CAAC,CAAC,CAAC;QACP,CAAC;QAED,MAAM,IAAI,CAAC,aAAa,CAAC;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,SAAS;QACpB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,IAAI;YACvC,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,mBAAmB;YAC1B,OAAO,EAAE,OAAO;SACjB,CAAC;QAEF,sEAAsE;QACtE,gEAAgE;QAChE,MAAM,MAAM,GAAG;YACb,GAAG,UAAU;YACb,QAAQ,EAAE,UAAU,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE;SACxD,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;QAE9D,oFAAoF;QACpF,qFAAqF;QACrF,uFAAuF;QACvF,uFAAuF;QACvF,iFAAiF;QACjF,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC1D,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC9C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,IAAI,KAAM,GAAa,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,sFAAsF;YACtF,sFAAsF;YACtF,gDAAgD;YAChD,MAAM,OAAO,GAAG,kCAAkC,QAAQ,CAAC,MAAM,4CAA4C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxB,MAAM,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF,CAAA;AAlHW;IADT,MAAM,CAAC,cAAc,CAAC;8BACP,GAAG;2CAAC;AAGV;IADT,UAAU,EAAE;8BACkB,WAAW;0DAAC;AAGjC;IADT,UAAU,EAAE;8BACQ,eAAe;gDAAC;AAG3B;IADT,MAAM,CAAC,cAAc,CAAC;;qDACkB;AAS/B;IADT,MAAM,CAAC,+BAA+B,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;;mDAC/B;AApBpB,cAAc;IAD1B,SAAS,EAAE;GACC,cAAc,CAoH1B"}
|