@spinajs/http-swagger 2.0.480 → 2.0.482

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 (41) hide show
  1. package/lib/cjs/cli/GenerateSwaggerCache.d.ts +1 -1
  2. package/lib/cjs/cli/GenerateSwaggerCache.d.ts.map +1 -1
  3. package/lib/cjs/cli/GenerateSwaggerCache.js +3 -2
  4. package/lib/cjs/cli/GenerateSwaggerCache.js.map +1 -1
  5. package/lib/cjs/config/http-swagger.d.ts.map +1 -1
  6. package/lib/cjs/config/http-swagger.js +6 -1
  7. package/lib/cjs/config/http-swagger.js.map +1 -1
  8. package/lib/cjs/controllers/SwaggerController.d.ts +3 -3
  9. package/lib/cjs/controllers/SwaggerController.d.ts.map +1 -1
  10. package/lib/cjs/controllers/SwaggerController.js +2 -2
  11. package/lib/cjs/controllers/SwaggerController.js.map +1 -1
  12. package/lib/cjs/openapi-builder.d.ts +13 -0
  13. package/lib/cjs/openapi-builder.d.ts.map +1 -1
  14. package/lib/cjs/openapi-builder.js +87 -25
  15. package/lib/cjs/openapi-builder.js.map +1 -1
  16. package/lib/cjs/swagger-service.d.ts +18 -0
  17. package/lib/cjs/swagger-service.d.ts.map +1 -1
  18. package/lib/cjs/swagger-service.js +37 -4
  19. package/lib/cjs/swagger-service.js.map +1 -1
  20. package/lib/mjs/cli/GenerateSwaggerCache.d.ts +1 -1
  21. package/lib/mjs/cli/GenerateSwaggerCache.d.ts.map +1 -1
  22. package/lib/mjs/cli/GenerateSwaggerCache.js +3 -2
  23. package/lib/mjs/cli/GenerateSwaggerCache.js.map +1 -1
  24. package/lib/mjs/config/http-swagger.d.ts.map +1 -1
  25. package/lib/mjs/config/http-swagger.js +6 -1
  26. package/lib/mjs/config/http-swagger.js.map +1 -1
  27. package/lib/mjs/controllers/SwaggerController.d.ts +3 -3
  28. package/lib/mjs/controllers/SwaggerController.d.ts.map +1 -1
  29. package/lib/mjs/controllers/SwaggerController.js +3 -3
  30. package/lib/mjs/controllers/SwaggerController.js.map +1 -1
  31. package/lib/mjs/openapi-builder.d.ts +13 -0
  32. package/lib/mjs/openapi-builder.d.ts.map +1 -1
  33. package/lib/mjs/openapi-builder.js +87 -25
  34. package/lib/mjs/openapi-builder.js.map +1 -1
  35. package/lib/mjs/swagger-service.d.ts +18 -0
  36. package/lib/mjs/swagger-service.d.ts.map +1 -1
  37. package/lib/mjs/swagger-service.js +37 -4
  38. package/lib/mjs/swagger-service.js.map +1 -1
  39. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  40. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  41. package/package.json +13 -11
@@ -4,7 +4,7 @@ import { ClassInfo } from '@spinajs/di';
4
4
  import { BaseController } from '@spinajs/http';
5
5
  export declare class SwaggerCacheCommand extends CliCommand {
6
6
  protected Log: Log;
7
- protected Controllers: Array<ClassInfo<BaseController>>;
7
+ protected Controllers: Promise<Array<ClassInfo<BaseController>>>;
8
8
  execute(): Promise<void>;
9
9
  }
10
10
  //# sourceMappingURL=GenerateSwaggerCache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GenerateSwaggerCache.d.ts","sourceRoot":"","sources":["../../../src/cli/GenerateSwaggerCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAW,MAAM,cAAc,CAAC;AACnD,OAAO,EAAU,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAM,MAAM,aAAa,CAAC;AAG5C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,qBACa,mBAAoB,SAAQ,UAAU;IAEjD,SAAS,CAAC,GAAG,EAAG,GAAG,CAAC;IAGpB,SAAS,CAAC,WAAW,EAAG,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;IAE5C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAatC"}
1
+ {"version":3,"file":"GenerateSwaggerCache.d.ts","sourceRoot":"","sources":["../../../src/cli/GenerateSwaggerCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAW,MAAM,cAAc,CAAC;AACnD,OAAO,EAAU,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAM,MAAM,aAAa,CAAC;AAG5C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,qBACa,mBAAoB,SAAQ,UAAU;IAEjD,SAAS,CAAC,GAAG,EAAG,GAAG,CAAC;IAMpB,SAAS,CAAC,WAAW,EAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAErD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CActC"}
@@ -21,7 +21,8 @@ let SwaggerCacheCommand = class SwaggerCacheCommand extends cli_1.CliCommand {
21
21
  await di_1.DI.resolve(fs_1.fsService);
22
22
  this.Log.info('Generating Swagger documentation cache...');
23
23
  const cache = await di_1.DI.resolve(swagger_cache_js_1.SwaggerDocCache);
24
- for (const controller of this.Controllers) {
24
+ const controllers = await this.Controllers;
25
+ for (const controller of controllers) {
25
26
  this.Log.info(`Processing controller: ${controller.name}`);
26
27
  await cache.getCache(controller);
27
28
  }
@@ -35,7 +36,7 @@ __decorate([
35
36
  ], SwaggerCacheCommand.prototype, "Log", void 0);
36
37
  __decorate([
37
38
  (0, reflection_1.ListFromFiles)('/**/!(*.d).{ts,js}', 'system.dirs.controllers'),
38
- __metadata("design:type", Array)
39
+ __metadata("design:type", Promise)
39
40
  ], SwaggerCacheCommand.prototype, "Controllers", void 0);
40
41
  exports.SwaggerCacheCommand = SwaggerCacheCommand = __decorate([
41
42
  (0, cli_1.Command)('http:swagger:cache', 'generate swagger documentation cache from controller JSDoc comments')
@@ -1 +1 @@
1
- {"version":3,"file":"GenerateSwaggerCache.js","sourceRoot":"","sources":["../../../src/cli/GenerateSwaggerCache.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAAmD;AACnD,oDAAkD;AAClD,oCAA4C;AAC5C,oCAAwC;AACxC,oDAAoD;AAEpD,0DAAsD;AAG/C,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,gBAAU;IAO1C,KAAK,CAAC,OAAO;QAClB,MAAM,OAAE,CAAC,OAAO,CAAC,cAAS,CAAC,CAAC;QAE5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,MAAM,OAAE,CAAC,OAAO,CAAC,kCAAe,CAAC,CAAC;QAEhD,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3D,MAAM,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IACtD,CAAC;CACF,CAAA;AApBY,kDAAmB;AAEpB;IADT,IAAA,mBAAM,EAAC,cAAc,CAAC;8BACP,gBAAG;gDAAC;AAGV;IADT,IAAA,0BAAa,EAAC,oBAAoB,EAAE,yBAAyB,CAAC;8BACvC,KAAK;wDAA4B;8BAL9C,mBAAmB;IAD/B,IAAA,aAAO,EAAC,oBAAoB,EAAE,qEAAqE,CAAC;GACxF,mBAAmB,CAoB/B"}
1
+ {"version":3,"file":"GenerateSwaggerCache.js","sourceRoot":"","sources":["../../../src/cli/GenerateSwaggerCache.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAAmD;AACnD,oDAAkD;AAClD,oCAA4C;AAC5C,oCAAwC;AACxC,oDAAoD;AAEpD,0DAAsD;AAG/C,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,gBAAU;IAU1C,KAAK,CAAC,OAAO;QAClB,MAAM,OAAE,CAAC,OAAO,CAAC,cAAS,CAAC,CAAC;QAE5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,MAAM,OAAE,CAAC,OAAO,CAAC,kCAAe,CAAC,CAAC;QAEhD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;QAC3C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3D,MAAM,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IACtD,CAAC;CACF,CAAA;AAxBY,kDAAmB;AAEpB;IADT,IAAA,mBAAM,EAAC,cAAc,CAAC;8BACP,gBAAG;gDAAC;AAMV;IADT,IAAA,0BAAa,EAAC,oBAAoB,EAAE,yBAAyB,CAAC;;wDACG;8BARvD,mBAAmB;IAD/B,IAAA,aAAO,EAAC,oBAAoB,EAAE,qEAAqE,CAAC;GACxF,mBAAmB,CAwB/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"http-swagger.d.ts","sourceRoot":"","sources":["../../../src/config/http-swagger.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAiB,MAAM,+BAA+B,CAAC;AA8BzE,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;qBAsCI;gBAAE,GAAG,EAAE,MAAM,CAAC;gBAAC,WAAW,CAAC,EAAE,MAAM,CAAA;aAAE,EAAE;;;;;;;;;;CAa3D,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"http-swagger.d.ts","sourceRoot":"","sources":["../../../src/config/http-swagger.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAiB,MAAM,+BAA+B,CAAC;AAmCzE,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;qBAsCI;gBAAE,GAAG,EAAE,MAAM,CAAC;gBAAC,WAAW,CAAC,EAAE,MAAM,CAAA;aAAE,EAAE;;;;;;;;;;CAa3D,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -22,7 +22,12 @@ function swaggerUiDist() {
22
22
  break;
23
23
  dir = parent;
24
24
  }
25
- throw new Error('swagger-ui-dist package not found. Please install it as a dependency.');
25
+ // Not found (e.g. pnpm isolated layout or a bundled deploy). Do NOT throw at
26
+ // config-import time — that aborts the entire application boot over optional
27
+ // docs static assets. Return a best-effort path: the http static handler
28
+ // skips non-existent paths with a warning, and the Swagger UI falls back to
29
+ // its CDN URLs (see SwaggerController.getUI defaults).
30
+ return (0, path_1.join)(cwd(), 'node_modules', 'swagger-ui-dist');
26
31
  }
27
32
  function dir(path) {
28
33
  const inCommonJs = typeof module !== 'undefined';
@@ -1 +1 @@
1
- {"version":3,"file":"http-swagger.js","sourceRoot":"","sources":["../../../src/config/http-swagger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-swagger.js","sourceRoot":"","sources":["../../../src/config/http-swagger.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { BaseController, Json, Ok, TemplateResponse } from '@spinajs/http';
1
+ import { BaseController, Json, NotFound, TemplateResponse } from '@spinajs/http';
2
2
  import { SwaggerService } from '../swagger-service.js';
3
3
  import { ISwaggerUiConfig } from '../interfaces.js';
4
4
  /**
@@ -12,14 +12,14 @@ export declare class SwaggerController extends BaseController {
12
12
  * Returns the OpenAPI 3.0 JSON specification.
13
13
  * @returns OpenAPI specification document
14
14
  */
15
- getSpec(): Promise<Json<{
15
+ getSpec(): Promise<NotFound<{
16
16
  error: string;
17
17
  }> | Json<import("../interfaces.js").IOpenApiDocument>>;
18
18
  /**
19
19
  * Serves the Swagger UI HTML page rendered via Pug template.
20
20
  * @returns HTML page with Swagger UI
21
21
  */
22
- getUI(): Promise<Ok<{
22
+ getUI(): Promise<NotFound<{
23
23
  error: string;
24
24
  }> | TemplateResponse>;
25
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SwaggerController.d.ts","sourceRoot":"","sources":["../../../src/controllers/SwaggerController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAiB,IAAI,EAAE,EAAE,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;GAGG;AACH,qBACa,iBAAkB,SAAQ,cAAc;IAEnD,SAAS,CAAC,OAAO,EAAG,cAAc,CAAC;IAGnC,SAAS,CAAC,QAAQ,EAAG,gBAAgB,CAAC;IAEtC;;;OAGG;IAEU,OAAO;;;IAQpB;;;OAGG;IAEU,KAAK;;;CAkBnB"}
1
+ {"version":3,"file":"SwaggerController.d.ts","sourceRoot":"","sources":["../../../src/controllers/SwaggerController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAiB,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;GAGG;AACH,qBACa,iBAAkB,SAAQ,cAAc;IAEnD,SAAS,CAAC,OAAO,EAAG,cAAc,CAAC;IAGnC,SAAS,CAAC,QAAQ,EAAG,gBAAgB,CAAC;IAEtC;;;OAGG;IAEU,OAAO;;;IAQpB;;;OAGG;IAEU,KAAK;;;CAkBnB"}
@@ -25,7 +25,7 @@ let SwaggerController = class SwaggerController extends http_1.BaseController {
25
25
  */
26
26
  async getSpec() {
27
27
  if (!this.Swagger.IsEnabled) {
28
- return new http_1.Json({ error: 'Swagger documentation is disabled' });
28
+ return new http_1.NotFound({ error: 'Swagger documentation is disabled' });
29
29
  }
30
30
  return new http_1.Json(await this.Swagger.getSpec());
31
31
  }
@@ -35,7 +35,7 @@ let SwaggerController = class SwaggerController extends http_1.BaseController {
35
35
  */
36
36
  async getUI() {
37
37
  if (!this.Swagger.IsEnabled) {
38
- return new http_1.Ok({ error: 'Swagger documentation is disabled' });
38
+ return new http_1.NotFound({ error: 'Swagger documentation is disabled' });
39
39
  }
40
40
  const cfg = this.UiConfig || {};
41
41
  return new http_1.TemplateResponse({ template: 'swagger.pug', provider: '__fs_swagger_views__' }, {
@@ -1 +1 @@
1
- {"version":3,"file":"SwaggerController.js","sourceRoot":"","sources":["../../../src/controllers/SwaggerController.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oCAAyC;AACzC,0DAAgD;AAChD,wCAA0F;AAC1F,8DAAuD;AAGvD;;;GAGG;AAEI,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,qBAAc;IAOnD;;;OAGG;IAEU,AAAN,KAAK,CAAC,OAAO;QAClB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC5B,OAAO,IAAI,WAAI,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,IAAI,WAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IAEU,AAAN,KAAK,CAAC,KAAK;QAChB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC5B,OAAO,IAAI,SAAE,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,GAAG,GAA8B,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;QAE3D,OAAO,IAAI,uBAAgB,CACzB,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,sBAAsB,EAAE,EAC7D;YACE,KAAK,EAAE,GAAG,CAAC,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,mBAAmB;YAC1F,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,+DAA+D;YACrF,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,qEAAqE;YACjG,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,gFAAgF;YAC5G,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,oBAAoB;SAC7C,CACF,CAAC;IACJ,CAAC;CACF,CAAA;AA3CY,8CAAiB;AAElB;IADT,IAAA,eAAU,GAAE;8BACO,mCAAc;kDAAC;AAGzB;IADT,IAAA,sBAAM,EAAC,iBAAiB,CAAC;;mDACY;AAOzB;IADZ,IAAA,UAAG,EAAC,cAAc,CAAC;;;;gDAOnB;AAOY;IADZ,IAAA,UAAG,EAAC,GAAG,CAAC;;;;8CAkBR;4BA1CU,iBAAiB;IAD7B,IAAA,eAAQ,EAAC,MAAM,CAAC;GACJ,iBAAiB,CA2C7B"}
1
+ {"version":3,"file":"SwaggerController.js","sourceRoot":"","sources":["../../../src/controllers/SwaggerController.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oCAAyC;AACzC,0DAAgD;AAChD,wCAAgG;AAChG,8DAAuD;AAGvD;;;GAGG;AAEI,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,qBAAc;IAOnD;;;OAGG;IAEU,AAAN,KAAK,CAAC,OAAO;QAClB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC5B,OAAO,IAAI,eAAQ,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,IAAI,WAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IAEU,AAAN,KAAK,CAAC,KAAK;QAChB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC5B,OAAO,IAAI,eAAQ,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,GAAG,GAA8B,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;QAE3D,OAAO,IAAI,uBAAgB,CACzB,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,sBAAsB,EAAE,EAC7D;YACE,KAAK,EAAE,GAAG,CAAC,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,mBAAmB;YAC1F,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,+DAA+D;YACrF,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,qEAAqE;YACjG,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,gFAAgF;YAC5G,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,oBAAoB;SAC7C,CACF,CAAC;IACJ,CAAC;CACF,CAAA;AA3CY,8CAAiB;AAElB;IADT,IAAA,eAAU,GAAE;8BACO,mCAAc;kDAAC;AAGzB;IADT,IAAA,sBAAM,EAAC,iBAAiB,CAAC;;mDACY;AAOzB;IADZ,IAAA,UAAG,EAAC,cAAc,CAAC;;;;gDAOnB;AAOY;IADZ,IAAA,UAAG,EAAC,GAAG,CAAC;;;;8CAkBR;4BA1CU,iBAAiB;IAD7B,IAAA,eAAQ,EAAC,MAAM,CAAC;GACJ,iBAAiB,CA2C7B"}
@@ -85,6 +85,13 @@ export declare class OpenApiBuilder {
85
85
  * Read the FilterableColumns map from a model constructor via the orm model
86
86
  * descriptor metadata. Keeps http-swagger free of a hard @spinajs/orm dep —
87
87
  * the symbol is global (`Symbol.for('MODEL_DESCRIPTOR')`).
88
+ *
89
+ * The metadata IS the descriptor. orm keys it by class identity — one
90
+ * descriptor owned by each constructor — so there is no name indexing to do
91
+ * here. It used to be a container keyed by class name
92
+ * (`{ [class.name]: descriptor }`), which collapsed two classes sharing a
93
+ * name into one slot; reading that old shape now yields undefined and
94
+ * silently drops every operator from the docs.
88
95
  */
89
96
  private extractFilterableColumns;
90
97
  /**
@@ -115,6 +122,12 @@ export declare class OpenApiBuilder {
115
122
  * Convert a JSON Schema object to an OpenAPI schema, mapping known keywords.
116
123
  */
117
124
  private convertJsonSchema;
125
+ /**
126
+ * Enriches a DTO schema with orm-http @Relation annotations. The relation
127
+ * descriptors are read via the global symbol `Symbol.for('orm-http:relations')`
128
+ * so this package needs no dependency on orm-http.
129
+ */
130
+ private applyRelationMetadata;
118
131
  /**
119
132
  * Build an OpenAPI request body from body-type parameters.
120
133
  */
@@ -1 +1 @@
1
- {"version":3,"file":"openapi-builder.d.ts","sourceRoot":"","sources":["../../src/openapi-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,SAAS,EAAc,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,cAAc,EAAqD,MAAM,eAAe,CAAC;AAClG,OAAO,EAAiB,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EACL,gBAAgB,EAOhB,kBAAkB,EAClB,cAAc,EAEf,MAAM,iBAAiB,CAAC;AA6FzB,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,IAAI,CAAuC;IACnD,OAAO,CAAC,mBAAmB,CAA0B;IACrD,OAAO,CAAC,oBAAoB,CAA0B;IACtD,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,kBAAkB,CAA0B;IACpD,OAAO,CAAC,oBAAoB,CAAgB;IAC5C,OAAO,CAAC,mBAAmB,CAAc;IAGzC,SAAS,CAAC,eAAe,EAAG,cAAc,EAAE,CAAC;gBAEjC,MAAM,EAAE,cAAc;IA2BlC;;OAEG;IACI,aAAa,CAClB,UAAU,EAAE,SAAS,CAAC,cAAc,CAAC,EACrC,QAAQ,EAAE,kBAAkB,GAC3B,IAAI;IAgDP;;;;;;;;;OASG;IACH,OAAO,CAAC,aAAa;IAqBrB;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,aAAa;IAMrB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA8B1B;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAqBjB;;OAEG;IACI,KAAK,IAAI,gBAAgB;IAKhC;;OAEG;IACH,OAAO,CAAC,SAAS;IAuBjB;;OAEG;IACH,OAAO,CAAC,YAAY;IAoBpB;;OAEG;IACH,OAAO,CAAC,cAAc;IA4FtB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,iBAAiB;IAuCzB;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAkBhC;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;IAsC5B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAqB3B;;OAEG;IACH,OAAO,CAAC,cAAc;IA4BtB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAsCvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA8DzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgDxB;;;OAGG;IACH,OAAO,CAAC,cAAc;IA2CtB;;;;;;;;OAQG;IACH,OAAO,CAAC,wBAAwB;IAqBhC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA2B1B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAuB9B;;OAEG;IACH,OAAO,CAAC,WAAW;IAwBnB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;OAEG;IACH,OAAO,CAAC,YAAY;CAQrB"}
1
+ {"version":3,"file":"openapi-builder.d.ts","sourceRoot":"","sources":["../../src/openapi-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,SAAS,EAAc,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,cAAc,EAAqD,MAAM,eAAe,CAAC;AAClG,OAAO,EAAiB,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,EACL,gBAAgB,EAQhB,kBAAkB,EAClB,cAAc,EAEf,MAAM,iBAAiB,CAAC;AA0GzB,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,IAAI,CAAuC;IACnD,OAAO,CAAC,mBAAmB,CAA0B;IACrD,OAAO,CAAC,oBAAoB,CAA0B;IACtD,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,kBAAkB,CAA0B;IACpD,OAAO,CAAC,oBAAoB,CAAgB;IAC5C,OAAO,CAAC,mBAAmB,CAAc;IAGzC,SAAS,CAAC,eAAe,EAAG,cAAc,EAAE,CAAC;gBAEjC,MAAM,EAAE,cAAc;IA2BlC;;OAEG;IACI,aAAa,CAClB,UAAU,EAAE,SAAS,CAAC,cAAc,CAAC,EACrC,QAAQ,EAAE,kBAAkB,GAC3B,IAAI;IAoDP;;;;;;;;;OASG;IACH,OAAO,CAAC,aAAa;IAqBrB;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,aAAa;IAMrB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA8B1B;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAqBjB;;OAEG;IACI,KAAK,IAAI,gBAAgB;IAKhC;;OAEG;IACH,OAAO,CAAC,SAAS;IAuBjB;;OAEG;IACH,OAAO,CAAC,YAAY;IAoBpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAuGtB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,iBAAiB;IAuCzB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,wBAAwB;IAiBhC;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;IAsC5B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAqB3B;;OAEG;IACH,OAAO,CAAC,cAAc;IA4BtB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAwCvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA8DzB;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA+CxB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAkDtB;;;;;;;;OAQG;IACH,OAAO,CAAC,wBAAwB;IAqBhC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA2B1B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAuB9B;;OAEG;IACH,OAAO,CAAC,WAAW;IAwBnB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;OAEG;IACH,OAAO,CAAC,YAAY;CAKrB"}
@@ -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 util_1 = require("@spinajs/util");
16
17
  /**
17
18
  * Set of ParameterType values that map to internal framework params (not API params).
18
19
  * These are skipped when generating OpenAPI parameters.
@@ -52,6 +53,18 @@ const BODY_PARAMS = new Set([
52
53
  // orm-http: @AsModel — alias for FromBody (creates instance from request body)
53
54
  'AsDbModel',
54
55
  ]);
56
+ /**
57
+ * Body params that are parsed from a multipart/form upload at runtime (see
58
+ * @spinajs/http FromForm route-args). Any of these on a route means the
59
+ * request body is multipart/form-data, not application/json.
60
+ */
61
+ const MULTIPART_BODY_PARAMS = new Set([
62
+ http_1.ParameterType.FromFile, 'FromFile',
63
+ http_1.ParameterType.FromForm, 'FromForm',
64
+ http_1.ParameterType.FormField, 'FromFormField',
65
+ http_1.ParameterType.FromCSV, 'FromCSV',
66
+ http_1.ParameterType.FromJSONFile, 'FromJSONFile',
67
+ ]);
55
68
  /**
56
69
  * Mapping from ParameterType to OpenAPI 'in' location
57
70
  */
@@ -135,7 +148,11 @@ class OpenApiBuilder {
135
148
  const descriptor = controller.instance?.Descriptor;
136
149
  if (!descriptor)
137
150
  return;
138
- const basePath = descriptor.BasePath || '';
151
+ // Mirror the runtime BasePath resolution (BaseController.BasePath): when no
152
+ // @BasePath decorator is present the routes mount under the lowercased class
153
+ // name (e.g. UsersController -> /userscontroller/...). Documenting an empty
154
+ // basePath here produced wrong URLs for every undecorated controller.
155
+ const basePath = descriptor.BasePath || controller.instance.constructor.name.toLowerCase();
139
156
  const controllerName = controller.name.replace(/Controller$/, '');
140
157
  // Register tag from class documentation or controller name
141
158
  const tagName = docCache.classTags?.[0] || controllerName;
@@ -375,9 +392,21 @@ class OpenApiBuilder {
375
392
  if (bodyParams.length > 0) {
376
393
  operation.requestBody = this.buildRequestBody(bodyParams, route);
377
394
  }
378
- // Add examples to request body if available
379
- if (methodDoc?.examples && operation.requestBody) {
380
- const content = operation.requestBody.content['application/json'];
395
+ // Attach @example tags: to the request body when the route has one,
396
+ // otherwise (e.g. GET routes) to the 200 response — a bodyless route's
397
+ // examples can only describe what it returns.
398
+ if (methodDoc?.examples) {
399
+ let content;
400
+ if (operation.requestBody) {
401
+ content = operation.requestBody.content['application/json'];
402
+ }
403
+ else {
404
+ const ok = operation.responses['200'];
405
+ if (ok && !ok.$ref) {
406
+ ok.content ??= { 'application/json': {} };
407
+ content = ok.content['application/json'] ??= {};
408
+ }
409
+ }
381
410
  if (content) {
382
411
  content.examples = {};
383
412
  methodDoc.examples.forEach((ex, i) => {
@@ -449,14 +478,20 @@ class OpenApiBuilder {
449
478
  * Read the FilterableColumns map from a model constructor via the orm model
450
479
  * descriptor metadata. Keeps http-swagger free of a hard @spinajs/orm dep —
451
480
  * the symbol is global (`Symbol.for('MODEL_DESCRIPTOR')`).
481
+ *
482
+ * The metadata IS the descriptor. orm keys it by class identity — one
483
+ * descriptor owned by each constructor — so there is no name indexing to do
484
+ * here. It used to be a container keyed by class name
485
+ * (`{ [class.name]: descriptor }`), which collapsed two classes sharing a
486
+ * name into one slot; reading that old shape now yields undefined and
487
+ * silently drops every operator from the docs.
452
488
  */
453
489
  extractFilterableColumns(modelCtor) {
454
490
  const MODEL_DESCRIPTOR_SYMBOL = Symbol.for('MODEL_DESCRIPTOR');
455
- const metadata = Reflect.getMetadata(MODEL_DESCRIPTOR_SYMBOL, modelCtor);
456
- if (!metadata)
491
+ const descriptor = Reflect.getMetadata(MODEL_DESCRIPTOR_SYMBOL, modelCtor);
492
+ if (!descriptor)
457
493
  return [];
458
- const descriptor = metadata[modelCtor.name];
459
- const map = descriptor?.FilterableColumns;
494
+ const map = descriptor.FilterableColumns;
460
495
  if (!map || typeof map.entries !== 'function')
461
496
  return [];
462
497
  const result = [];
@@ -587,7 +622,9 @@ class OpenApiBuilder {
587
622
  const rt = runtimeType;
588
623
  const classSchema = Reflect.getMetadata(validation_1.SCHEMA_SYMBOL, rt) ?? (rt?.prototype ? Reflect.getMetadata(validation_1.SCHEMA_SYMBOL, rt.prototype) : undefined);
589
624
  if (classSchema) {
590
- return this.convertJsonSchema(classSchema);
625
+ const converted = this.convertJsonSchema(classSchema);
626
+ this.applyRelationMetadata(converted, rt);
627
+ return converted;
591
628
  }
592
629
  }
593
630
  }
@@ -661,12 +698,35 @@ class OpenApiBuilder {
661
698
  }
662
699
  return result;
663
700
  }
701
+ /**
702
+ * Enriches a DTO schema with orm-http @Relation annotations. The relation
703
+ * descriptors are read via the global symbol `Symbol.for('orm-http:relations')`
704
+ * so this package needs no dependency on orm-http.
705
+ */
706
+ applyRelationMetadata(schema, runtimeType) {
707
+ const RELATION_SYMBOL = Symbol.for('orm-http:relations');
708
+ const rel = (Reflect.getMetadata(RELATION_SYMBOL, runtimeType) ?? (runtimeType?.prototype ? Reflect.getMetadata(RELATION_SYMBOL, runtimeType.prototype) : undefined));
709
+ if (!rel || !schema.properties) {
710
+ return;
711
+ }
712
+ for (const [field, desc] of rel.Relations) {
713
+ const prop = schema.properties[field];
714
+ if (!prop)
715
+ continue;
716
+ const modelName = desc.target()?.name ?? 'model';
717
+ const byLabel = desc.by ?? 'primary key';
718
+ const note = `Reference to ${modelName} by ${byLabel}. Must match an existing record (404 if not found).`;
719
+ prop.description = prop.description ? `${prop.description} ${note}` : note;
720
+ prop['x-relation'] = { model: modelName, by: desc.by };
721
+ }
722
+ }
664
723
  /**
665
724
  * Build an OpenAPI request body from body-type parameters.
666
725
  */
667
726
  buildRequestBody(bodyParams, _route) {
668
- // Check if any param is a file upload
669
- const hasFile = bodyParams.some((bp) => bp.param.Type === http_1.ParameterType.FromFile || bp.param.Type === 'FromFile');
727
+ // Any file/form-parsed param means the runtime expects multipart/form-data,
728
+ // not JSON (covers FromFile, FromForm, FormField, FromCSV, FromJSONFile).
729
+ const hasFile = bodyParams.some((bp) => MULTIPART_BODY_PARAMS.has(bp.param.Type));
670
730
  const contentType = hasFile ? 'multipart/form-data' : 'application/json';
671
731
  // If there's a single body param with a model type, use it directly
672
732
  if (bodyParams.length === 1 && !hasFile) {
@@ -676,7 +736,7 @@ class OpenApiBuilder {
676
736
  required: true,
677
737
  content: {
678
738
  [contentType]: {
679
- schema: this.schemaFromParam(bp.param, bp.doc?.type),
739
+ schema: this.expandNamedSchemas(this.schemaFromParam(bp.param, bp.doc?.type)),
680
740
  },
681
741
  },
682
742
  };
@@ -685,10 +745,10 @@ class OpenApiBuilder {
685
745
  const properties = {};
686
746
  for (const bp of bodyParams) {
687
747
  const name = bp.param.Name || `param_${bp.param.Index}`;
688
- properties[name] = {
689
- ...this.schemaFromParam(bp.param, bp.doc?.type),
690
- description: bp.doc?.description,
691
- };
748
+ const expanded = this.expandNamedSchemas(this.schemaFromParam(bp.param, bp.doc?.type));
749
+ properties[name] = expanded.$ref
750
+ ? expanded
751
+ : { ...expanded, description: bp.doc?.description };
692
752
  }
693
753
  return {
694
754
  required: true,
@@ -708,7 +768,13 @@ class OpenApiBuilder {
708
768
  */
709
769
  buildResponses(methodDoc) {
710
770
  const responses = {};
711
- if (methodDoc?.returns) {
771
+ // When the JSDoc explicitly documents a non-200 success (e.g. `@response 202`)
772
+ // and there is no explicit `@returns` tag (returns carries only the
773
+ // TS-inferred schema), the operation's success status IS that 2xx — don't
774
+ // fabricate a 200 alongside it.
775
+ const hasExplicit2xx = !!methodDoc?.responses && Object.keys(methodDoc.responses).some((c) => c.startsWith('2'));
776
+ const returnsIsInferredOnly = !!methodDoc?.returns && !methodDoc.returns.type && !methodDoc.returns.description;
777
+ if (methodDoc?.returns && !(hasExplicit2xx && returnsIsInferredOnly)) {
712
778
  const schema = methodDoc.returns.type
713
779
  ? this.inferSchemaFromString(methodDoc.returns.type)
714
780
  : (methodDoc.returns.schema ?? { type: 'object' });
@@ -717,7 +783,7 @@ class OpenApiBuilder {
717
783
  content: { 'application/json': { schema: this.expandNamedSchemas(schema) } },
718
784
  };
719
785
  }
720
- else {
786
+ else if (!hasExplicit2xx) {
721
787
  responses['200'] = { description: 'Successful response' };
722
788
  }
723
789
  if (methodDoc?.responses) {
@@ -729,7 +795,7 @@ class OpenApiBuilder {
729
795
  if (resp.type) {
730
796
  responses[statusCode] = {
731
797
  description: resp.description,
732
- content: { 'application/json': { schema: this.inferSchemaFromString(resp.type) } },
798
+ content: { 'application/json': { schema: this.expandNamedSchemas(this.inferSchemaFromString(resp.type)) } },
733
799
  };
734
800
  continue;
735
801
  }
@@ -897,12 +963,8 @@ class OpenApiBuilder {
897
963
  tryParseJson(value) {
898
964
  if (!value)
899
965
  return undefined;
900
- try {
901
- return JSON.parse(value);
902
- }
903
- catch {
904
- return value;
905
- }
966
+ // parse when valid JSON, otherwise fall back to the raw string
967
+ return (0, util_1.safeParse)(value, value);
906
968
  }
907
969
  }
908
970
  exports.OpenApiBuilder = OpenApiBuilder;
@@ -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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"}
@@ -12,9 +12,27 @@ export declare class SwaggerService extends AsyncService {
12
12
  protected ControllersService: Controllers;
13
13
  protected DocCache: SwaggerDocCache;
14
14
  protected SwaggerConfig: ISwaggerConfig;
15
+ /**
16
+ * The global route prefix the runtime prepends to every controller route
17
+ * (see BaseController route registration). Documented paths must include it
18
+ * or Swagger "Try it out" hits the wrong URL. Only used as a fallback when
19
+ * an explicit swagger.basePath isn't configured.
20
+ */
21
+ protected RoutePrefix: string;
15
22
  private _spec;
23
+ /**
24
+ * In-flight build, shared so concurrent first requests don't each kick off a
25
+ * full (expensive) rebuild. Cleared once the build settles.
26
+ */
27
+ private _buildPromise;
16
28
  get IsEnabled(): boolean;
17
29
  resolve(): Promise<void>;
30
+ /**
31
+ * Drop the cached spec so the next getSpec() rebuilds it. Call after
32
+ * registering controllers at runtime (Controllers.add) so they appear in
33
+ * the documentation.
34
+ */
35
+ invalidate(): void;
18
36
  getSpec(): Promise<IOpenApiDocument | null>;
19
37
  /**
20
38
  * Rebuild the OpenAPI specification from current controllers.
@@ -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;AAElF,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,OAAO,CAAC,KAAK,CAAiC;IAE9C,IAAW,SAAS,IAAI,OAAO,CAE9B;IAEY,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,OAAO,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAUxD;;OAEG;IACU,SAAS,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAsBpD"}
1
+ {"version":3,"file":"swagger-service.d.ts","sourceRoot":"","sources":["../../src/swagger-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAyC,MAAM,aAAa,CAAC;AAElF,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;CA6BpD"}