@strapi/openapi 0.0.0-experimental.6188a65af997a4a8b190bbf104a9ba27ebf583c8 → 0.0.0-experimental.6340da17068c3bed7fb006e7bcc554c71129e282

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 (88) hide show
  1. package/README.md +76 -0
  2. package/dist/assemblers/document/factory.js +4 -4
  3. package/dist/assemblers/document/factory.js.map +1 -1
  4. package/dist/assemblers/document/factory.mjs.map +1 -1
  5. package/dist/assemblers/document/info.js.map +1 -1
  6. package/dist/assemblers/document/info.mjs.map +1 -1
  7. package/dist/assemblers/document/metadata.js.map +1 -1
  8. package/dist/assemblers/document/metadata.mjs.map +1 -1
  9. package/dist/assemblers/document/path/factory.js +4 -4
  10. package/dist/assemblers/document/path/factory.js.map +1 -1
  11. package/dist/assemblers/document/path/factory.mjs.map +1 -1
  12. package/dist/assemblers/document/path/path-item/factory.js +4 -4
  13. package/dist/assemblers/document/path/path-item/factory.js.map +1 -1
  14. package/dist/assemblers/document/path/path-item/factory.mjs.map +1 -1
  15. package/dist/assemblers/document/path/path-item/operation/body.js.map +1 -1
  16. package/dist/assemblers/document/path/path-item/operation/body.mjs.map +1 -1
  17. package/dist/assemblers/document/path/path-item/operation/factory.js.map +1 -1
  18. package/dist/assemblers/document/path/path-item/operation/factory.mjs.map +1 -1
  19. package/dist/assemblers/document/path/path-item/operation/operation-id.js.map +1 -1
  20. package/dist/assemblers/document/path/path-item/operation/operation-id.mjs.map +1 -1
  21. package/dist/assemblers/document/path/path-item/operation/operation.js.map +1 -1
  22. package/dist/assemblers/document/path/path-item/operation/operation.mjs.map +1 -1
  23. package/dist/assemblers/document/path/path-item/operation/parameters.js.map +1 -1
  24. package/dist/assemblers/document/path/path-item/operation/parameters.mjs.map +1 -1
  25. package/dist/assemblers/document/path/path-item/operation/responses.js.map +1 -1
  26. package/dist/assemblers/document/path/path-item/operation/responses.mjs.map +1 -1
  27. package/dist/assemblers/document/path/path-item/operation/tags.js.map +1 -1
  28. package/dist/assemblers/document/path/path-item/operation/tags.mjs.map +1 -1
  29. package/dist/assemblers/document/path/path-item/path-item.js.map +1 -1
  30. package/dist/assemblers/document/path/path-item/path-item.mjs.map +1 -1
  31. package/dist/assemblers/document/path/path.js.map +1 -1
  32. package/dist/assemblers/document/path/path.mjs.map +1 -1
  33. package/dist/context/factories/abstract.js.map +1 -1
  34. package/dist/context/factories/abstract.mjs.map +1 -1
  35. package/dist/context/factories/document.js.map +1 -1
  36. package/dist/context/factories/document.mjs.map +1 -1
  37. package/dist/context/factories/operation.js.map +1 -1
  38. package/dist/context/factories/operation.mjs.map +1 -1
  39. package/dist/context/factories/path-item.js.map +1 -1
  40. package/dist/context/factories/path-item.mjs.map +1 -1
  41. package/dist/context/factories/path.js.map +1 -1
  42. package/dist/context/factories/path.mjs.map +1 -1
  43. package/dist/exports.d.ts.map +1 -1
  44. package/dist/exports.js +4 -4
  45. package/dist/exports.js.map +1 -1
  46. package/dist/exports.mjs.map +1 -1
  47. package/dist/generator/generator.js.map +1 -1
  48. package/dist/generator/generator.mjs.map +1 -1
  49. package/dist/post-processor/component-writer.js +3 -2
  50. package/dist/post-processor/component-writer.js.map +1 -1
  51. package/dist/post-processor/component-writer.mjs.map +1 -1
  52. package/dist/post-processor/factory.js.map +1 -1
  53. package/dist/post-processor/factory.mjs.map +1 -1
  54. package/dist/pre-processor/factory.js.map +1 -1
  55. package/dist/pre-processor/factory.mjs.map +1 -1
  56. package/dist/registries/factory.js.map +1 -1
  57. package/dist/registries/factory.mjs.map +1 -1
  58. package/dist/routes/collector.js.map +1 -1
  59. package/dist/routes/collector.mjs.map +1 -1
  60. package/dist/routes/matcher.js.map +1 -1
  61. package/dist/routes/matcher.mjs.map +1 -1
  62. package/dist/routes/providers/abstract.js.map +1 -1
  63. package/dist/routes/providers/abstract.mjs.map +1 -1
  64. package/dist/routes/providers/admin.js.map +1 -1
  65. package/dist/routes/providers/admin.mjs.map +1 -1
  66. package/dist/routes/providers/api.js.map +1 -1
  67. package/dist/routes/providers/api.mjs.map +1 -1
  68. package/dist/routes/providers/plugin.d.ts.map +1 -1
  69. package/dist/routes/providers/plugin.js +11 -1
  70. package/dist/routes/providers/plugin.js.map +1 -1
  71. package/dist/routes/providers/plugin.mjs +11 -1
  72. package/dist/routes/providers/plugin.mjs.map +1 -1
  73. package/dist/routes/rules/is-of-type.d.ts.map +1 -1
  74. package/dist/routes/rules/is-of-type.js.map +1 -1
  75. package/dist/routes/rules/is-of-type.mjs.map +1 -1
  76. package/dist/utils/debug.d.ts.map +1 -1
  77. package/dist/utils/debug.js +5 -1
  78. package/dist/utils/debug.js.map +1 -1
  79. package/dist/utils/debug.mjs.map +1 -1
  80. package/dist/utils/timer/factory.js.map +1 -1
  81. package/dist/utils/timer/factory.mjs.map +1 -1
  82. package/dist/utils/timer/timer.js.map +1 -1
  83. package/dist/utils/timer/timer.mjs.map +1 -1
  84. package/dist/utils/zod.d.ts.map +1 -1
  85. package/dist/utils/zod.js +3 -2
  86. package/dist/utils/zod.js.map +1 -1
  87. package/dist/utils/zod.mjs.map +1 -1
  88. package/package.json +5 -4
package/README.md CHANGED
@@ -1 +1,77 @@
1
1
  # @strapi/openapi
2
+
3
+ `@strapi/openapi` provides the core OpenAPI generation pipeline used by Strapi.
4
+
5
+ ## Generate a specification
6
+
7
+ You can generate a document from the CLI:
8
+
9
+ ```bash
10
+ strapi openapi generate
11
+ ```
12
+
13
+ This command generates a `content-api` specification by default.
14
+
15
+ ## Expose `/openapi.json` from the server
16
+
17
+ Strapi can expose a generated OpenAPI document over HTTP. Both endpoints are
18
+ disabled by default; opt in per endpoint via `server.openapi`:
19
+
20
+ ```js
21
+ // config/server.js
22
+ module.exports = () => ({
23
+ openapi: {
24
+ 'content-api': {
25
+ // 'disabled' (default) | 'public'
26
+ access: 'public',
27
+ route: {
28
+ path: '/openapi.json',
29
+ },
30
+ cache: {
31
+ enabled: true,
32
+ maxAgeMs: 60_000,
33
+ filePath: '.strapi/openapi/content-api.json',
34
+ },
35
+ },
36
+ admin: {
37
+ // 'disabled' (default) | 'authenticated' ('public' is not allowed)
38
+ access: 'authenticated',
39
+ route: {
40
+ path: '/openapi.json',
41
+ },
42
+ cache: {
43
+ enabled: true,
44
+ maxAgeMs: 60_000,
45
+ filePath: '.strapi/openapi/admin.json',
46
+ },
47
+ },
48
+ },
49
+ });
50
+ ```
51
+
52
+ ### Options
53
+
54
+ - `server.openapi['content-api']`: config for the Content API OpenAPI endpoint.
55
+ - `server.openapi.admin`: config for the Admin API OpenAPI endpoint.
56
+ - `access`: controls exposure and protection in a single setting (default `disabled`). See below.
57
+ - `route.path`: endpoint subpath to register (resolved under `/api` for content-api and under `/admin` for admin by default).
58
+ - `cache.enabled`: enables file-based cache for generated output.
59
+ - `cache.maxAgeMs`: cache validity in milliseconds.
60
+ - `cache.filePath`: output file path for cached spec (absolute or app-root relative).
61
+
62
+ ### Access control
63
+
64
+ A single `access` value per endpoint controls both whether the endpoint exists and how it is protected.
65
+ Access is governed by Strapi's existing auth, not by a bespoke access surface:
66
+
67
+ - `disabled` (default): the endpoint is not registered.
68
+ - `public` (**content-api only**): no authentication — anyone can read the spec.
69
+ - `authenticated` (**admin only**): requires an authenticated admin (any role). Granular
70
+ per-permission RBAC is intentionally left for a later iteration.
71
+
72
+ The content-api endpoint is only available as public for now. The admin endpoint is never public.
73
+ Unsupported access values throw at startup.
74
+
75
+ > **Security note:** a `public` content-api spec describes your entire Content API surface — including
76
+ > content types that are not publicly readable — to anyone. If you need a gated spec, use the admin
77
+ > endpoint with `authenticated`. Review who can reach each endpoint before enabling it.
@@ -3,10 +3,10 @@
3
3
  require('debug');
4
4
  require('node:crypto');
5
5
  require('zod/v4');
6
- var path$1 = require('../../context/factories/path.js');
6
+ var path = require('../../context/factories/path.js');
7
7
  var info = require('./info.js');
8
8
  var metadata = require('./metadata.js');
9
- var path = require('./path/path.js');
9
+ var path$1 = require('./path/path.js');
10
10
  var factory = require('./path/factory.js');
11
11
  require('./path/path-item/path-item.js');
12
12
  require('./path/path-item/operation/operation.js');
@@ -28,9 +28,9 @@ class DocumentAssemblerFactory {
28
28
  _createMetadataAssembler() {
29
29
  return new metadata.DocumentMetadataAssembler();
30
30
  }
31
- _createPathsAssembler(assemblerFactory = new factory.PathAssemblerFactory(), contextFactory = new path$1.PathContextFactory()) {
31
+ _createPathsAssembler(assemblerFactory = new factory.PathAssemblerFactory(), contextFactory = new path.PathContextFactory()) {
32
32
  const assemblers = assemblerFactory.createAll();
33
- return new path.DocumentPathsAssembler(assemblers, contextFactory);
33
+ return new path$1.DocumentPathsAssembler(assemblers, contextFactory);
34
34
  }
35
35
  }
36
36
 
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sources":["../../../src/assemblers/document/factory.ts"],"sourcesContent":["import { PathContextFactory } from '../../context';\n\nimport type { Assembler } from '..';\n\nimport { DocumentInfoAssembler } from './info';\nimport { DocumentMetadataAssembler } from './metadata';\nimport { DocumentPathsAssembler, PathAssemblerFactory } from './path';\n\nexport class DocumentAssemblerFactory {\n createAll(): Assembler.Document[] {\n return [\n this._createMetadataAssembler(),\n this._createInfoAssembler(),\n this._createPathsAssembler(),\n ];\n }\n\n private _createInfoAssembler() {\n return new DocumentInfoAssembler();\n }\n\n private _createMetadataAssembler() {\n return new DocumentMetadataAssembler();\n }\n\n private _createPathsAssembler(\n assemblerFactory: PathAssemblerFactory = new PathAssemblerFactory(),\n contextFactory: PathContextFactory = new PathContextFactory()\n ) {\n const assemblers = assemblerFactory.createAll();\n\n return new DocumentPathsAssembler(assemblers, contextFactory);\n }\n}\n"],"names":["DocumentAssemblerFactory","createAll","_createMetadataAssembler","_createInfoAssembler","_createPathsAssembler","DocumentInfoAssembler","DocumentMetadataAssembler","assemblerFactory","PathAssemblerFactory","contextFactory","PathContextFactory","assemblers","DocumentPathsAssembler"],"mappings":";;;;;;;;;;;;;;;;AAQO,MAAMA,wBAAAA,CAAAA;IACXC,SAAkC,GAAA;QAChC,OAAO;AACL,YAAA,IAAI,CAACC,wBAAwB,EAAA;AAC7B,YAAA,IAAI,CAACC,oBAAoB,EAAA;AACzB,YAAA,IAAI,CAACC,qBAAqB;AAC3B,SAAA;AACH;IAEQD,oBAAuB,GAAA;AAC7B,QAAA,OAAO,IAAIE,0BAAAA,EAAAA;AACb;IAEQH,wBAA2B,GAAA;AACjC,QAAA,OAAO,IAAII,kCAAAA,EAAAA;AACb;AAEQF,IAAAA,qBAAAA,CACNG,mBAAyC,IAAIC,4BAAAA,EAAsB,EACnEC,cAAqC,GAAA,IAAIC,2BAAoB,EAC7D;QACA,MAAMC,UAAAA,GAAaJ,iBAAiBN,SAAS,EAAA;QAE7C,OAAO,IAAIW,4BAAuBD,UAAYF,EAAAA,cAAAA,CAAAA;AAChD;AACF;;;;"}
1
+ {"version":3,"file":"factory.js","sources":["../../../src/assemblers/document/factory.ts"],"sourcesContent":["import { PathContextFactory } from '../../context';\n\nimport type { Assembler } from '..';\n\nimport { DocumentInfoAssembler } from './info';\nimport { DocumentMetadataAssembler } from './metadata';\nimport { DocumentPathsAssembler, PathAssemblerFactory } from './path';\n\nexport class DocumentAssemblerFactory {\n createAll(): Assembler.Document[] {\n return [\n this._createMetadataAssembler(),\n this._createInfoAssembler(),\n this._createPathsAssembler(),\n ];\n }\n\n private _createInfoAssembler() {\n return new DocumentInfoAssembler();\n }\n\n private _createMetadataAssembler() {\n return new DocumentMetadataAssembler();\n }\n\n private _createPathsAssembler(\n assemblerFactory: PathAssemblerFactory = new PathAssemblerFactory(),\n contextFactory: PathContextFactory = new PathContextFactory()\n ) {\n const assemblers = assemblerFactory.createAll();\n\n return new DocumentPathsAssembler(assemblers, contextFactory);\n }\n}\n"],"names":["DocumentAssemblerFactory","createAll","_createMetadataAssembler","_createInfoAssembler","_createPathsAssembler","DocumentInfoAssembler","DocumentMetadataAssembler","assemblerFactory","PathAssemblerFactory","contextFactory","PathContextFactory","assemblers","DocumentPathsAssembler"],"mappings":";;;;;;;;;;;;;;;;AAQO,MAAMA,wBAAAA,CAAAA;IACXC,SAAAA,GAAkC;QAChC,OAAO;AACL,YAAA,IAAI,CAACC,wBAAwB,EAAA;AAC7B,YAAA,IAAI,CAACC,oBAAoB,EAAA;AACzB,YAAA,IAAI,CAACC,qBAAqB;AAC3B,SAAA;AACH,IAAA;IAEQD,oBAAAA,GAAuB;AAC7B,QAAA,OAAO,IAAIE,0BAAAA,EAAAA;AACb,IAAA;IAEQH,wBAAAA,GAA2B;AACjC,QAAA,OAAO,IAAII,kCAAAA,EAAAA;AACb,IAAA;AAEQF,IAAAA,qBAAAA,CACNG,mBAAyC,IAAIC,4BAAAA,EAAsB,EACnEC,cAAAA,GAAqC,IAAIC,yBAAoB,EAC7D;QACA,MAAMC,UAAAA,GAAaJ,iBAAiBN,SAAS,EAAA;QAE7C,OAAO,IAAIW,8BAAuBD,UAAAA,EAAYF,cAAAA,CAAAA;AAChD,IAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"factory.mjs","sources":["../../../src/assemblers/document/factory.ts"],"sourcesContent":["import { PathContextFactory } from '../../context';\n\nimport type { Assembler } from '..';\n\nimport { DocumentInfoAssembler } from './info';\nimport { DocumentMetadataAssembler } from './metadata';\nimport { DocumentPathsAssembler, PathAssemblerFactory } from './path';\n\nexport class DocumentAssemblerFactory {\n createAll(): Assembler.Document[] {\n return [\n this._createMetadataAssembler(),\n this._createInfoAssembler(),\n this._createPathsAssembler(),\n ];\n }\n\n private _createInfoAssembler() {\n return new DocumentInfoAssembler();\n }\n\n private _createMetadataAssembler() {\n return new DocumentMetadataAssembler();\n }\n\n private _createPathsAssembler(\n assemblerFactory: PathAssemblerFactory = new PathAssemblerFactory(),\n contextFactory: PathContextFactory = new PathContextFactory()\n ) {\n const assemblers = assemblerFactory.createAll();\n\n return new DocumentPathsAssembler(assemblers, contextFactory);\n }\n}\n"],"names":["DocumentAssemblerFactory","createAll","_createMetadataAssembler","_createInfoAssembler","_createPathsAssembler","DocumentInfoAssembler","DocumentMetadataAssembler","assemblerFactory","PathAssemblerFactory","contextFactory","PathContextFactory","assemblers","DocumentPathsAssembler"],"mappings":";;;;;;;;;;;;;;AAQO,MAAMA,wBAAAA,CAAAA;IACXC,SAAkC,GAAA;QAChC,OAAO;AACL,YAAA,IAAI,CAACC,wBAAwB,EAAA;AAC7B,YAAA,IAAI,CAACC,oBAAoB,EAAA;AACzB,YAAA,IAAI,CAACC,qBAAqB;AAC3B,SAAA;AACH;IAEQD,oBAAuB,GAAA;AAC7B,QAAA,OAAO,IAAIE,qBAAAA,EAAAA;AACb;IAEQH,wBAA2B,GAAA;AACjC,QAAA,OAAO,IAAII,yBAAAA,EAAAA;AACb;AAEQF,IAAAA,qBAAAA,CACNG,mBAAyC,IAAIC,oBAAAA,EAAsB,EACnEC,cAAqC,GAAA,IAAIC,oBAAoB,EAC7D;QACA,MAAMC,UAAAA,GAAaJ,iBAAiBN,SAAS,EAAA;QAE7C,OAAO,IAAIW,uBAAuBD,UAAYF,EAAAA,cAAAA,CAAAA;AAChD;AACF;;;;"}
1
+ {"version":3,"file":"factory.mjs","sources":["../../../src/assemblers/document/factory.ts"],"sourcesContent":["import { PathContextFactory } from '../../context';\n\nimport type { Assembler } from '..';\n\nimport { DocumentInfoAssembler } from './info';\nimport { DocumentMetadataAssembler } from './metadata';\nimport { DocumentPathsAssembler, PathAssemblerFactory } from './path';\n\nexport class DocumentAssemblerFactory {\n createAll(): Assembler.Document[] {\n return [\n this._createMetadataAssembler(),\n this._createInfoAssembler(),\n this._createPathsAssembler(),\n ];\n }\n\n private _createInfoAssembler() {\n return new DocumentInfoAssembler();\n }\n\n private _createMetadataAssembler() {\n return new DocumentMetadataAssembler();\n }\n\n private _createPathsAssembler(\n assemblerFactory: PathAssemblerFactory = new PathAssemblerFactory(),\n contextFactory: PathContextFactory = new PathContextFactory()\n ) {\n const assemblers = assemblerFactory.createAll();\n\n return new DocumentPathsAssembler(assemblers, contextFactory);\n }\n}\n"],"names":["DocumentAssemblerFactory","createAll","_createMetadataAssembler","_createInfoAssembler","_createPathsAssembler","DocumentInfoAssembler","DocumentMetadataAssembler","assemblerFactory","PathAssemblerFactory","contextFactory","PathContextFactory","assemblers","DocumentPathsAssembler"],"mappings":";;;;;;;;;;;;;;AAQO,MAAMA,wBAAAA,CAAAA;IACXC,SAAAA,GAAkC;QAChC,OAAO;AACL,YAAA,IAAI,CAACC,wBAAwB,EAAA;AAC7B,YAAA,IAAI,CAACC,oBAAoB,EAAA;AACzB,YAAA,IAAI,CAACC,qBAAqB;AAC3B,SAAA;AACH,IAAA;IAEQD,oBAAAA,GAAuB;AAC7B,QAAA,OAAO,IAAIE,qBAAAA,EAAAA;AACb,IAAA;IAEQH,wBAAAA,GAA2B;AACjC,QAAA,OAAO,IAAII,yBAAAA,EAAAA;AACb,IAAA;AAEQF,IAAAA,qBAAAA,CACNG,mBAAyC,IAAIC,oBAAAA,EAAsB,EACnEC,cAAAA,GAAqC,IAAIC,oBAAoB,EAC7D;QACA,MAAMC,UAAAA,GAAaJ,iBAAiBN,SAAS,EAAA;QAE7C,OAAO,IAAIW,uBAAuBD,UAAAA,EAAYF,cAAAA,CAAAA;AAChD,IAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sources":["../../../src/assemblers/document/info.ts"],"sourcesContent":["import type { OpenAPIV3_1 } from 'openapi-types';\n\nimport type { DocumentContext } from '../../types';\n\nimport { createDebugger } from '../../utils';\n\nimport type { Assembler } from '..';\n\ninterface StrapiInfoConfig {\n name: string;\n version: string;\n}\n\nconst debug = createDebugger('assembler:info');\n\nexport class DocumentInfoAssembler implements Assembler.Document {\n assemble(context: DocumentContext): void {\n const { name, version } = context.strapi.config.get<StrapiInfoConfig>('info');\n\n debug(`assembling document's info for %O...`, { name, version });\n\n const info: OpenAPIV3_1.InfoObject = {\n title: this._title(name),\n description: this._description(name, version),\n version,\n };\n\n debug(`document's info assembled: %O`, info);\n\n context.output.data.info = info;\n }\n\n private _title(name: string) {\n return `${name}`;\n }\n\n private _description(name: string, version: string) {\n return `API documentation for ${name} v${version}`;\n }\n}\n"],"names":["debug","createDebugger","DocumentInfoAssembler","assemble","context","name","version","strapi","config","get","info","title","_title","description","_description","output","data"],"mappings":";;;;;;AAaA,MAAMA,QAAQC,sBAAe,CAAA,gBAAA,CAAA;AAEtB,MAAMC,qBAAAA,CAAAA;AACXC,IAAAA,QAAAA,CAASC,OAAwB,EAAQ;AACvC,QAAA,MAAM,EAAEC,IAAI,EAAEC,OAAO,EAAE,GAAGF,OAAQG,CAAAA,MAAM,CAACC,MAAM,CAACC,GAAG,CAAmB,MAAA,CAAA;QAEtET,KAAM,CAAA,CAAC,oCAAoC,CAAC,EAAE;AAAEK,YAAAA,IAAAA;AAAMC,YAAAA;AAAQ,SAAA,CAAA;AAE9D,QAAA,MAAMI,IAA+B,GAAA;YACnCC,KAAO,EAAA,IAAI,CAACC,MAAM,CAACP,IAAAA,CAAAA;AACnBQ,YAAAA,WAAAA,EAAa,IAAI,CAACC,YAAY,CAACT,IAAMC,EAAAA,OAAAA,CAAAA;AACrCA,YAAAA;AACF,SAAA;QAEAN,KAAM,CAAA,CAAC,6BAA6B,CAAC,EAAEU,IAAAA,CAAAA;AAEvCN,QAAAA,OAAAA,CAAQW,MAAM,CAACC,IAAI,CAACN,IAAI,GAAGA,IAAAA;AAC7B;AAEQE,IAAAA,MAAAA,CAAOP,IAAY,EAAE;QAC3B,OAAO,CAAC,EAAEA,IAAAA,CAAK,CAAC;AAClB;IAEQS,YAAaT,CAAAA,IAAY,EAAEC,OAAe,EAAE;AAClD,QAAA,OAAO,CAAC,sBAAsB,EAAED,KAAK,EAAE,EAAEC,QAAQ,CAAC;AACpD;AACF;;;;"}
1
+ {"version":3,"file":"info.js","sources":["../../../src/assemblers/document/info.ts"],"sourcesContent":["import type { OpenAPIV3_1 } from 'openapi-types';\n\nimport type { DocumentContext } from '../../types';\n\nimport { createDebugger } from '../../utils';\n\nimport type { Assembler } from '..';\n\ninterface StrapiInfoConfig {\n name: string;\n version: string;\n}\n\nconst debug = createDebugger('assembler:info');\n\nexport class DocumentInfoAssembler implements Assembler.Document {\n assemble(context: DocumentContext): void {\n const { name, version } = context.strapi.config.get<StrapiInfoConfig>('info');\n\n debug(`assembling document's info for %O...`, { name, version });\n\n const info: OpenAPIV3_1.InfoObject = {\n title: this._title(name),\n description: this._description(name, version),\n version,\n };\n\n debug(`document's info assembled: %O`, info);\n\n context.output.data.info = info;\n }\n\n private _title(name: string) {\n return `${name}`;\n }\n\n private _description(name: string, version: string) {\n return `API documentation for ${name} v${version}`;\n }\n}\n"],"names":["debug","createDebugger","DocumentInfoAssembler","assemble","context","name","version","strapi","config","get","info","title","_title","description","_description","output","data"],"mappings":";;;;;;AAaA,MAAMA,QAAQC,sBAAAA,CAAe,gBAAA,CAAA;AAEtB,MAAMC,qBAAAA,CAAAA;AACXC,IAAAA,QAAAA,CAASC,OAAwB,EAAQ;AACvC,QAAA,MAAM,EAAEC,IAAI,EAAEC,OAAO,EAAE,GAAGF,OAAAA,CAAQG,MAAM,CAACC,MAAM,CAACC,GAAG,CAAmB,MAAA,CAAA;QAEtET,KAAAA,CAAM,CAAC,oCAAoC,CAAC,EAAE;AAAEK,YAAAA,IAAAA;AAAMC,YAAAA;AAAQ,SAAA,CAAA;AAE9D,QAAA,MAAMI,IAAAA,GAA+B;YACnCC,KAAAA,EAAO,IAAI,CAACC,MAAM,CAACP,IAAAA,CAAAA;AACnBQ,YAAAA,WAAAA,EAAa,IAAI,CAACC,YAAY,CAACT,IAAAA,EAAMC,OAAAA,CAAAA;AACrCA,YAAAA;AACF,SAAA;QAEAN,KAAAA,CAAM,CAAC,6BAA6B,CAAC,EAAEU,IAAAA,CAAAA;AAEvCN,QAAAA,OAAAA,CAAQW,MAAM,CAACC,IAAI,CAACN,IAAI,GAAGA,IAAAA;AAC7B,IAAA;AAEQE,IAAAA,MAAAA,CAAOP,IAAY,EAAE;AAC3B,QAAA,OAAO,GAAGA,IAAAA,CAAAA,CAAM;AAClB,IAAA;IAEQS,YAAAA,CAAaT,IAAY,EAAEC,OAAe,EAAE;AAClD,QAAA,OAAO,CAAC,sBAAsB,EAAED,IAAAA,CAAK,EAAE,EAAEC,OAAAA,CAAAA,CAAS;AACpD,IAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"info.mjs","sources":["../../../src/assemblers/document/info.ts"],"sourcesContent":["import type { OpenAPIV3_1 } from 'openapi-types';\n\nimport type { DocumentContext } from '../../types';\n\nimport { createDebugger } from '../../utils';\n\nimport type { Assembler } from '..';\n\ninterface StrapiInfoConfig {\n name: string;\n version: string;\n}\n\nconst debug = createDebugger('assembler:info');\n\nexport class DocumentInfoAssembler implements Assembler.Document {\n assemble(context: DocumentContext): void {\n const { name, version } = context.strapi.config.get<StrapiInfoConfig>('info');\n\n debug(`assembling document's info for %O...`, { name, version });\n\n const info: OpenAPIV3_1.InfoObject = {\n title: this._title(name),\n description: this._description(name, version),\n version,\n };\n\n debug(`document's info assembled: %O`, info);\n\n context.output.data.info = info;\n }\n\n private _title(name: string) {\n return `${name}`;\n }\n\n private _description(name: string, version: string) {\n return `API documentation for ${name} v${version}`;\n }\n}\n"],"names":["debug","createDebugger","DocumentInfoAssembler","assemble","context","name","version","strapi","config","get","info","title","_title","description","_description","output","data"],"mappings":";;;;AAaA,MAAMA,QAAQC,cAAe,CAAA,gBAAA,CAAA;AAEtB,MAAMC,qBAAAA,CAAAA;AACXC,IAAAA,QAAAA,CAASC,OAAwB,EAAQ;AACvC,QAAA,MAAM,EAAEC,IAAI,EAAEC,OAAO,EAAE,GAAGF,OAAQG,CAAAA,MAAM,CAACC,MAAM,CAACC,GAAG,CAAmB,MAAA,CAAA;QAEtET,KAAM,CAAA,CAAC,oCAAoC,CAAC,EAAE;AAAEK,YAAAA,IAAAA;AAAMC,YAAAA;AAAQ,SAAA,CAAA;AAE9D,QAAA,MAAMI,IAA+B,GAAA;YACnCC,KAAO,EAAA,IAAI,CAACC,MAAM,CAACP,IAAAA,CAAAA;AACnBQ,YAAAA,WAAAA,EAAa,IAAI,CAACC,YAAY,CAACT,IAAMC,EAAAA,OAAAA,CAAAA;AACrCA,YAAAA;AACF,SAAA;QAEAN,KAAM,CAAA,CAAC,6BAA6B,CAAC,EAAEU,IAAAA,CAAAA;AAEvCN,QAAAA,OAAAA,CAAQW,MAAM,CAACC,IAAI,CAACN,IAAI,GAAGA,IAAAA;AAC7B;AAEQE,IAAAA,MAAAA,CAAOP,IAAY,EAAE;QAC3B,OAAO,CAAC,EAAEA,IAAAA,CAAK,CAAC;AAClB;IAEQS,YAAaT,CAAAA,IAAY,EAAEC,OAAe,EAAE;AAClD,QAAA,OAAO,CAAC,sBAAsB,EAAED,KAAK,EAAE,EAAEC,QAAQ,CAAC;AACpD;AACF;;;;"}
1
+ {"version":3,"file":"info.mjs","sources":["../../../src/assemblers/document/info.ts"],"sourcesContent":["import type { OpenAPIV3_1 } from 'openapi-types';\n\nimport type { DocumentContext } from '../../types';\n\nimport { createDebugger } from '../../utils';\n\nimport type { Assembler } from '..';\n\ninterface StrapiInfoConfig {\n name: string;\n version: string;\n}\n\nconst debug = createDebugger('assembler:info');\n\nexport class DocumentInfoAssembler implements Assembler.Document {\n assemble(context: DocumentContext): void {\n const { name, version } = context.strapi.config.get<StrapiInfoConfig>('info');\n\n debug(`assembling document's info for %O...`, { name, version });\n\n const info: OpenAPIV3_1.InfoObject = {\n title: this._title(name),\n description: this._description(name, version),\n version,\n };\n\n debug(`document's info assembled: %O`, info);\n\n context.output.data.info = info;\n }\n\n private _title(name: string) {\n return `${name}`;\n }\n\n private _description(name: string, version: string) {\n return `API documentation for ${name} v${version}`;\n }\n}\n"],"names":["debug","createDebugger","DocumentInfoAssembler","assemble","context","name","version","strapi","config","get","info","title","_title","description","_description","output","data"],"mappings":";;;;AAaA,MAAMA,QAAQC,cAAAA,CAAe,gBAAA,CAAA;AAEtB,MAAMC,qBAAAA,CAAAA;AACXC,IAAAA,QAAAA,CAASC,OAAwB,EAAQ;AACvC,QAAA,MAAM,EAAEC,IAAI,EAAEC,OAAO,EAAE,GAAGF,OAAAA,CAAQG,MAAM,CAACC,MAAM,CAACC,GAAG,CAAmB,MAAA,CAAA;QAEtET,KAAAA,CAAM,CAAC,oCAAoC,CAAC,EAAE;AAAEK,YAAAA,IAAAA;AAAMC,YAAAA;AAAQ,SAAA,CAAA;AAE9D,QAAA,MAAMI,IAAAA,GAA+B;YACnCC,KAAAA,EAAO,IAAI,CAACC,MAAM,CAACP,IAAAA,CAAAA;AACnBQ,YAAAA,WAAAA,EAAa,IAAI,CAACC,YAAY,CAACT,IAAAA,EAAMC,OAAAA,CAAAA;AACrCA,YAAAA;AACF,SAAA;QAEAN,KAAAA,CAAM,CAAC,6BAA6B,CAAC,EAAEU,IAAAA,CAAAA;AAEvCN,QAAAA,OAAAA,CAAQW,MAAM,CAACC,IAAI,CAACN,IAAI,GAAGA,IAAAA;AAC7B,IAAA;AAEQE,IAAAA,MAAAA,CAAOP,IAAY,EAAE;AAC3B,QAAA,OAAO,GAAGA,IAAAA,CAAAA,CAAM;AAClB,IAAA;IAEQS,YAAAA,CAAaT,IAAY,EAAEC,OAAe,EAAE;AAClD,QAAA,OAAO,CAAC,sBAAsB,EAAED,IAAAA,CAAK,EAAE,EAAEC,OAAAA,CAAAA,CAAS;AACpD,IAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sources":["../../../src/assemblers/document/metadata.ts"],"sourcesContent":["import type { DocumentContext } from '../../types';\n\nimport { createDebugger } from '../../utils';\n\nimport type { Assembler } from '..';\n\nconst debug = createDebugger('assembler:metadata');\n\nexport class DocumentMetadataAssembler implements Assembler.Document {\n assemble(context: DocumentContext): void {\n const { strapi } = context;\n\n const strapiVersion = strapi.config.get<string>('info.strapi');\n\n debug(`assembling document's metadata for %O...`, { strapiVersion });\n\n const metadata = new Map<string, unknown>()\n .set('openapi', '3.1.0')\n .set('x-powered-by', 'strapi')\n .set('x-strapi-version', strapiVersion);\n\n const metadataObject = Object.fromEntries(metadata);\n\n debug(`document's metadata assembled: %O`, metadataObject);\n\n Object.assign(context.output.data, metadataObject);\n }\n}\n"],"names":["debug","createDebugger","DocumentMetadataAssembler","assemble","context","strapi","strapiVersion","config","get","metadata","Map","set","metadataObject","Object","fromEntries","assign","output","data"],"mappings":";;;;;;AAMA,MAAMA,QAAQC,sBAAe,CAAA,oBAAA,CAAA;AAEtB,MAAMC,yBAAAA,CAAAA;AACXC,IAAAA,QAAAA,CAASC,OAAwB,EAAQ;QACvC,MAAM,EAAEC,MAAM,EAAE,GAAGD,OAAAA;AAEnB,QAAA,MAAME,aAAgBD,GAAAA,MAAAA,CAAOE,MAAM,CAACC,GAAG,CAAS,aAAA,CAAA;QAEhDR,KAAM,CAAA,CAAC,wCAAwC,CAAC,EAAE;AAAEM,YAAAA;AAAc,SAAA,CAAA;AAElE,QAAA,MAAMG,QAAW,GAAA,IAAIC,GAClBC,EAAAA,CAAAA,GAAG,CAAC,SAAA,EAAW,OACfA,CAAAA,CAAAA,GAAG,CAAC,cAAA,EAAgB,QACpBA,CAAAA,CAAAA,GAAG,CAAC,kBAAoBL,EAAAA,aAAAA,CAAAA;QAE3B,MAAMM,cAAAA,GAAiBC,MAAOC,CAAAA,WAAW,CAACL,QAAAA,CAAAA;QAE1CT,KAAM,CAAA,CAAC,iCAAiC,CAAC,EAAEY,cAAAA,CAAAA;AAE3CC,QAAAA,MAAAA,CAAOE,MAAM,CAACX,OAAAA,CAAQY,MAAM,CAACC,IAAI,EAAEL,cAAAA,CAAAA;AACrC;AACF;;;;"}
1
+ {"version":3,"file":"metadata.js","sources":["../../../src/assemblers/document/metadata.ts"],"sourcesContent":["import type { DocumentContext } from '../../types';\n\nimport { createDebugger } from '../../utils';\n\nimport type { Assembler } from '..';\n\nconst debug = createDebugger('assembler:metadata');\n\nexport class DocumentMetadataAssembler implements Assembler.Document {\n assemble(context: DocumentContext): void {\n const { strapi } = context;\n\n const strapiVersion = strapi.config.get<string>('info.strapi');\n\n debug(`assembling document's metadata for %O...`, { strapiVersion });\n\n const metadata = new Map<string, unknown>()\n .set('openapi', '3.1.0')\n .set('x-powered-by', 'strapi')\n .set('x-strapi-version', strapiVersion);\n\n const metadataObject = Object.fromEntries(metadata);\n\n debug(`document's metadata assembled: %O`, metadataObject);\n\n Object.assign(context.output.data, metadataObject);\n }\n}\n"],"names":["debug","createDebugger","DocumentMetadataAssembler","assemble","context","strapi","strapiVersion","config","get","metadata","Map","set","metadataObject","Object","fromEntries","assign","output","data"],"mappings":";;;;;;AAMA,MAAMA,QAAQC,sBAAAA,CAAe,oBAAA,CAAA;AAEtB,MAAMC,yBAAAA,CAAAA;AACXC,IAAAA,QAAAA,CAASC,OAAwB,EAAQ;QACvC,MAAM,EAAEC,MAAM,EAAE,GAAGD,OAAAA;AAEnB,QAAA,MAAME,aAAAA,GAAgBD,MAAAA,CAAOE,MAAM,CAACC,GAAG,CAAS,aAAA,CAAA;QAEhDR,KAAAA,CAAM,CAAC,wCAAwC,CAAC,EAAE;AAAEM,YAAAA;AAAc,SAAA,CAAA;AAElE,QAAA,MAAMG,QAAAA,GAAW,IAAIC,GAAAA,EAAAA,CAClBC,GAAG,CAAC,SAAA,EAAW,OAAA,CAAA,CACfA,GAAG,CAAC,cAAA,EAAgB,QAAA,CAAA,CACpBA,GAAG,CAAC,kBAAA,EAAoBL,aAAAA,CAAAA;QAE3B,MAAMM,cAAAA,GAAiBC,MAAAA,CAAOC,WAAW,CAACL,QAAAA,CAAAA;QAE1CT,KAAAA,CAAM,CAAC,iCAAiC,CAAC,EAAEY,cAAAA,CAAAA;AAE3CC,QAAAA,MAAAA,CAAOE,MAAM,CAACX,OAAAA,CAAQY,MAAM,CAACC,IAAI,EAAEL,cAAAA,CAAAA;AACrC,IAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.mjs","sources":["../../../src/assemblers/document/metadata.ts"],"sourcesContent":["import type { DocumentContext } from '../../types';\n\nimport { createDebugger } from '../../utils';\n\nimport type { Assembler } from '..';\n\nconst debug = createDebugger('assembler:metadata');\n\nexport class DocumentMetadataAssembler implements Assembler.Document {\n assemble(context: DocumentContext): void {\n const { strapi } = context;\n\n const strapiVersion = strapi.config.get<string>('info.strapi');\n\n debug(`assembling document's metadata for %O...`, { strapiVersion });\n\n const metadata = new Map<string, unknown>()\n .set('openapi', '3.1.0')\n .set('x-powered-by', 'strapi')\n .set('x-strapi-version', strapiVersion);\n\n const metadataObject = Object.fromEntries(metadata);\n\n debug(`document's metadata assembled: %O`, metadataObject);\n\n Object.assign(context.output.data, metadataObject);\n }\n}\n"],"names":["debug","createDebugger","DocumentMetadataAssembler","assemble","context","strapi","strapiVersion","config","get","metadata","Map","set","metadataObject","Object","fromEntries","assign","output","data"],"mappings":";;;;AAMA,MAAMA,QAAQC,cAAe,CAAA,oBAAA,CAAA;AAEtB,MAAMC,yBAAAA,CAAAA;AACXC,IAAAA,QAAAA,CAASC,OAAwB,EAAQ;QACvC,MAAM,EAAEC,MAAM,EAAE,GAAGD,OAAAA;AAEnB,QAAA,MAAME,aAAgBD,GAAAA,MAAAA,CAAOE,MAAM,CAACC,GAAG,CAAS,aAAA,CAAA;QAEhDR,KAAM,CAAA,CAAC,wCAAwC,CAAC,EAAE;AAAEM,YAAAA;AAAc,SAAA,CAAA;AAElE,QAAA,MAAMG,QAAW,GAAA,IAAIC,GAClBC,EAAAA,CAAAA,GAAG,CAAC,SAAA,EAAW,OACfA,CAAAA,CAAAA,GAAG,CAAC,cAAA,EAAgB,QACpBA,CAAAA,CAAAA,GAAG,CAAC,kBAAoBL,EAAAA,aAAAA,CAAAA;QAE3B,MAAMM,cAAAA,GAAiBC,MAAOC,CAAAA,WAAW,CAACL,QAAAA,CAAAA;QAE1CT,KAAM,CAAA,CAAC,iCAAiC,CAAC,EAAEY,cAAAA,CAAAA;AAE3CC,QAAAA,MAAAA,CAAOE,MAAM,CAACX,OAAAA,CAAQY,MAAM,CAACC,IAAI,EAAEL,cAAAA,CAAAA;AACrC;AACF;;;;"}
1
+ {"version":3,"file":"metadata.mjs","sources":["../../../src/assemblers/document/metadata.ts"],"sourcesContent":["import type { DocumentContext } from '../../types';\n\nimport { createDebugger } from '../../utils';\n\nimport type { Assembler } from '..';\n\nconst debug = createDebugger('assembler:metadata');\n\nexport class DocumentMetadataAssembler implements Assembler.Document {\n assemble(context: DocumentContext): void {\n const { strapi } = context;\n\n const strapiVersion = strapi.config.get<string>('info.strapi');\n\n debug(`assembling document's metadata for %O...`, { strapiVersion });\n\n const metadata = new Map<string, unknown>()\n .set('openapi', '3.1.0')\n .set('x-powered-by', 'strapi')\n .set('x-strapi-version', strapiVersion);\n\n const metadataObject = Object.fromEntries(metadata);\n\n debug(`document's metadata assembled: %O`, metadataObject);\n\n Object.assign(context.output.data, metadataObject);\n }\n}\n"],"names":["debug","createDebugger","DocumentMetadataAssembler","assemble","context","strapi","strapiVersion","config","get","metadata","Map","set","metadataObject","Object","fromEntries","assign","output","data"],"mappings":";;;;AAMA,MAAMA,QAAQC,cAAAA,CAAe,oBAAA,CAAA;AAEtB,MAAMC,yBAAAA,CAAAA;AACXC,IAAAA,QAAAA,CAASC,OAAwB,EAAQ;QACvC,MAAM,EAAEC,MAAM,EAAE,GAAGD,OAAAA;AAEnB,QAAA,MAAME,aAAAA,GAAgBD,MAAAA,CAAOE,MAAM,CAACC,GAAG,CAAS,aAAA,CAAA;QAEhDR,KAAAA,CAAM,CAAC,wCAAwC,CAAC,EAAE;AAAEM,YAAAA;AAAc,SAAA,CAAA;AAElE,QAAA,MAAMG,QAAAA,GAAW,IAAIC,GAAAA,EAAAA,CAClBC,GAAG,CAAC,SAAA,EAAW,OAAA,CAAA,CACfA,GAAG,CAAC,cAAA,EAAgB,QAAA,CAAA,CACpBA,GAAG,CAAC,kBAAA,EAAoBL,aAAAA,CAAAA;QAE3B,MAAMM,cAAAA,GAAiBC,MAAAA,CAAOC,WAAW,CAACL,QAAAA,CAAAA;QAE1CT,KAAAA,CAAM,CAAC,iCAAiC,CAAC,EAAEY,cAAAA,CAAAA;AAE3CC,QAAAA,MAAAA,CAAOE,MAAM,CAACX,OAAAA,CAAQY,MAAM,CAACC,IAAI,EAAEL,cAAAA,CAAAA;AACrC,IAAA;AACF;;;;"}
@@ -3,8 +3,8 @@
3
3
  require('debug');
4
4
  require('node:crypto');
5
5
  require('zod/v4');
6
- var pathItem$1 = require('../../../context/factories/path-item.js');
7
- var pathItem = require('./path-item/path-item.js');
6
+ var pathItem = require('../../../context/factories/path-item.js');
7
+ var pathItem$1 = require('./path-item/path-item.js');
8
8
  var factory = require('./path-item/factory.js');
9
9
  require('./path-item/operation/operation.js');
10
10
  require('./path-item/operation/operation-id.js');
@@ -17,9 +17,9 @@ class PathAssemblerFactory {
17
17
  this._createPathItemAssembler()
18
18
  ];
19
19
  }
20
- _createPathItemAssembler(assemblerFactory = new factory.PathItemAssemblerFactory(), contextFactory = new pathItem$1.PathItemContextFactory()) {
20
+ _createPathItemAssembler(assemblerFactory = new factory.PathItemAssemblerFactory(), contextFactory = new pathItem.PathItemContextFactory()) {
21
21
  const assemblers = assemblerFactory.createAll();
22
- return new pathItem.PathItemAssembler(assemblers, contextFactory);
22
+ return new pathItem$1.PathItemAssembler(assemblers, contextFactory);
23
23
  }
24
24
  }
25
25
 
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sources":["../../../../src/assemblers/document/path/factory.ts"],"sourcesContent":["import { PathItemContextFactory } from '../../../context';\n\nimport type { Assembler } from '../..';\n\nimport { PathItemAssembler, PathItemAssemblerFactory } from './path-item';\n\nexport class PathAssemblerFactory {\n createAll(): Assembler.Path[] {\n return [this._createPathItemAssembler()];\n }\n\n private _createPathItemAssembler(\n assemblerFactory: PathItemAssemblerFactory = new PathItemAssemblerFactory(),\n contextFactory: PathItemContextFactory = new PathItemContextFactory()\n ) {\n const assemblers = assemblerFactory.createAll();\n\n return new PathItemAssembler(assemblers, contextFactory);\n }\n}\n"],"names":["PathAssemblerFactory","createAll","_createPathItemAssembler","assemblerFactory","PathItemAssemblerFactory","contextFactory","PathItemContextFactory","assemblers","PathItemAssembler"],"mappings":";;;;;;;;;;;;;AAMO,MAAMA,oBAAAA,CAAAA;IACXC,SAA8B,GAAA;QAC5B,OAAO;AAAC,YAAA,IAAI,CAACC,wBAAwB;AAAG,SAAA;AAC1C;AAEQA,IAAAA,wBAAAA,CACNC,mBAA6C,IAAIC,gCAAAA,EAA0B,EAC3EC,cAAyC,GAAA,IAAIC,mCAAwB,EACrE;QACA,MAAMC,UAAAA,GAAaJ,iBAAiBF,SAAS,EAAA;QAE7C,OAAO,IAAIO,2BAAkBD,UAAYF,EAAAA,cAAAA,CAAAA;AAC3C;AACF;;;;"}
1
+ {"version":3,"file":"factory.js","sources":["../../../../src/assemblers/document/path/factory.ts"],"sourcesContent":["import { PathItemContextFactory } from '../../../context';\n\nimport type { Assembler } from '../..';\n\nimport { PathItemAssembler, PathItemAssemblerFactory } from './path-item';\n\nexport class PathAssemblerFactory {\n createAll(): Assembler.Path[] {\n return [this._createPathItemAssembler()];\n }\n\n private _createPathItemAssembler(\n assemblerFactory: PathItemAssemblerFactory = new PathItemAssemblerFactory(),\n contextFactory: PathItemContextFactory = new PathItemContextFactory()\n ) {\n const assemblers = assemblerFactory.createAll();\n\n return new PathItemAssembler(assemblers, contextFactory);\n }\n}\n"],"names":["PathAssemblerFactory","createAll","_createPathItemAssembler","assemblerFactory","PathItemAssemblerFactory","contextFactory","PathItemContextFactory","assemblers","PathItemAssembler"],"mappings":";;;;;;;;;;;;;AAMO,MAAMA,oBAAAA,CAAAA;IACXC,SAAAA,GAA8B;QAC5B,OAAO;AAAC,YAAA,IAAI,CAACC,wBAAwB;AAAG,SAAA;AAC1C,IAAA;AAEQA,IAAAA,wBAAAA,CACNC,mBAA6C,IAAIC,gCAAAA,EAA0B,EAC3EC,cAAAA,GAAyC,IAAIC,iCAAwB,EACrE;QACA,MAAMC,UAAAA,GAAaJ,iBAAiBF,SAAS,EAAA;QAE7C,OAAO,IAAIO,6BAAkBD,UAAAA,EAAYF,cAAAA,CAAAA;AAC3C,IAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"factory.mjs","sources":["../../../../src/assemblers/document/path/factory.ts"],"sourcesContent":["import { PathItemContextFactory } from '../../../context';\n\nimport type { Assembler } from '../..';\n\nimport { PathItemAssembler, PathItemAssemblerFactory } from './path-item';\n\nexport class PathAssemblerFactory {\n createAll(): Assembler.Path[] {\n return [this._createPathItemAssembler()];\n }\n\n private _createPathItemAssembler(\n assemblerFactory: PathItemAssemblerFactory = new PathItemAssemblerFactory(),\n contextFactory: PathItemContextFactory = new PathItemContextFactory()\n ) {\n const assemblers = assemblerFactory.createAll();\n\n return new PathItemAssembler(assemblers, contextFactory);\n }\n}\n"],"names":["PathAssemblerFactory","createAll","_createPathItemAssembler","assemblerFactory","PathItemAssemblerFactory","contextFactory","PathItemContextFactory","assemblers","PathItemAssembler"],"mappings":";;;;;;;;;;;AAMO,MAAMA,oBAAAA,CAAAA;IACXC,SAA8B,GAAA;QAC5B,OAAO;AAAC,YAAA,IAAI,CAACC,wBAAwB;AAAG,SAAA;AAC1C;AAEQA,IAAAA,wBAAAA,CACNC,mBAA6C,IAAIC,wBAAAA,EAA0B,EAC3EC,cAAyC,GAAA,IAAIC,wBAAwB,EACrE;QACA,MAAMC,UAAAA,GAAaJ,iBAAiBF,SAAS,EAAA;QAE7C,OAAO,IAAIO,kBAAkBD,UAAYF,EAAAA,cAAAA,CAAAA;AAC3C;AACF;;;;"}
1
+ {"version":3,"file":"factory.mjs","sources":["../../../../src/assemblers/document/path/factory.ts"],"sourcesContent":["import { PathItemContextFactory } from '../../../context';\n\nimport type { Assembler } from '../..';\n\nimport { PathItemAssembler, PathItemAssemblerFactory } from './path-item';\n\nexport class PathAssemblerFactory {\n createAll(): Assembler.Path[] {\n return [this._createPathItemAssembler()];\n }\n\n private _createPathItemAssembler(\n assemblerFactory: PathItemAssemblerFactory = new PathItemAssemblerFactory(),\n contextFactory: PathItemContextFactory = new PathItemContextFactory()\n ) {\n const assemblers = assemblerFactory.createAll();\n\n return new PathItemAssembler(assemblers, contextFactory);\n }\n}\n"],"names":["PathAssemblerFactory","createAll","_createPathItemAssembler","assemblerFactory","PathItemAssemblerFactory","contextFactory","PathItemContextFactory","assemblers","PathItemAssembler"],"mappings":";;;;;;;;;;;AAMO,MAAMA,oBAAAA,CAAAA;IACXC,SAAAA,GAA8B;QAC5B,OAAO;AAAC,YAAA,IAAI,CAACC,wBAAwB;AAAG,SAAA;AAC1C,IAAA;AAEQA,IAAAA,wBAAAA,CACNC,mBAA6C,IAAIC,wBAAAA,EAA0B,EAC3EC,cAAAA,GAAyC,IAAIC,wBAAwB,EACrE;QACA,MAAMC,UAAAA,GAAaJ,iBAAiBF,SAAS,EAAA;QAE7C,OAAO,IAAIO,kBAAkBD,UAAAA,EAAYF,cAAAA,CAAAA;AAC3C,IAAA;AACF;;;;"}
@@ -3,8 +3,8 @@
3
3
  require('debug');
4
4
  require('node:crypto');
5
5
  require('zod/v4');
6
- var operation$1 = require('../../../../context/factories/operation.js');
7
- var operation = require('./operation/operation.js');
6
+ var operation = require('../../../../context/factories/operation.js');
7
+ var operation$1 = require('./operation/operation.js');
8
8
  var factory = require('./operation/factory.js');
9
9
  require('./operation/parameters.js');
10
10
  require('./operation/operation-id.js');
@@ -16,9 +16,9 @@ class PathItemAssemblerFactory {
16
16
  this._createOperationAssembler()
17
17
  ];
18
18
  }
19
- _createOperationAssembler(assemblerFactory = new factory.OperationAssemblerFactory(), contextFactory = new operation$1.OperationContextFactory()) {
19
+ _createOperationAssembler(assemblerFactory = new factory.OperationAssemblerFactory(), contextFactory = new operation.OperationContextFactory()) {
20
20
  const assemblers = assemblerFactory.createAll();
21
- return new operation.OperationAssembler(assemblers, contextFactory);
21
+ return new operation$1.OperationAssembler(assemblers, contextFactory);
22
22
  }
23
23
  }
24
24
 
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sources":["../../../../../src/assemblers/document/path/path-item/factory.ts"],"sourcesContent":["import { OperationContextFactory } from '../../../../context';\nimport { OperationAssembler, OperationAssemblerFactory } from './operation';\n\nimport type { Assembler } from '../../..';\n\nexport class PathItemAssemblerFactory {\n createAll(): Assembler.PathItem[] {\n return [this._createOperationAssembler()];\n }\n\n private _createOperationAssembler(\n assemblerFactory: OperationAssemblerFactory = new OperationAssemblerFactory(),\n contextFactory: OperationContextFactory = new OperationContextFactory()\n ) {\n const assemblers = assemblerFactory.createAll();\n\n return new OperationAssembler(assemblers, contextFactory);\n }\n}\n"],"names":["PathItemAssemblerFactory","createAll","_createOperationAssembler","assemblerFactory","OperationAssemblerFactory","contextFactory","OperationContextFactory","assemblers","OperationAssembler"],"mappings":";;;;;;;;;;;;AAKO,MAAMA,wBAAAA,CAAAA;IACXC,SAAkC,GAAA;QAChC,OAAO;AAAC,YAAA,IAAI,CAACC,yBAAyB;AAAG,SAAA;AAC3C;AAEQA,IAAAA,yBAAAA,CACNC,mBAA8C,IAAIC,iCAAAA,EAA2B,EAC7EC,cAA0C,GAAA,IAAIC,qCAAyB,EACvE;QACA,MAAMC,UAAAA,GAAaJ,iBAAiBF,SAAS,EAAA;QAE7C,OAAO,IAAIO,6BAAmBD,UAAYF,EAAAA,cAAAA,CAAAA;AAC5C;AACF;;;;"}
1
+ {"version":3,"file":"factory.js","sources":["../../../../../src/assemblers/document/path/path-item/factory.ts"],"sourcesContent":["import { OperationContextFactory } from '../../../../context';\nimport { OperationAssembler, OperationAssemblerFactory } from './operation';\n\nimport type { Assembler } from '../../..';\n\nexport class PathItemAssemblerFactory {\n createAll(): Assembler.PathItem[] {\n return [this._createOperationAssembler()];\n }\n\n private _createOperationAssembler(\n assemblerFactory: OperationAssemblerFactory = new OperationAssemblerFactory(),\n contextFactory: OperationContextFactory = new OperationContextFactory()\n ) {\n const assemblers = assemblerFactory.createAll();\n\n return new OperationAssembler(assemblers, contextFactory);\n }\n}\n"],"names":["PathItemAssemblerFactory","createAll","_createOperationAssembler","assemblerFactory","OperationAssemblerFactory","contextFactory","OperationContextFactory","assemblers","OperationAssembler"],"mappings":";;;;;;;;;;;;AAKO,MAAMA,wBAAAA,CAAAA;IACXC,SAAAA,GAAkC;QAChC,OAAO;AAAC,YAAA,IAAI,CAACC,yBAAyB;AAAG,SAAA;AAC3C,IAAA;AAEQA,IAAAA,yBAAAA,CACNC,mBAA8C,IAAIC,iCAAAA,EAA2B,EAC7EC,cAAAA,GAA0C,IAAIC,mCAAyB,EACvE;QACA,MAAMC,UAAAA,GAAaJ,iBAAiBF,SAAS,EAAA;QAE7C,OAAO,IAAIO,+BAAmBD,UAAAA,EAAYF,cAAAA,CAAAA;AAC5C,IAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"factory.mjs","sources":["../../../../../src/assemblers/document/path/path-item/factory.ts"],"sourcesContent":["import { OperationContextFactory } from '../../../../context';\nimport { OperationAssembler, OperationAssemblerFactory } from './operation';\n\nimport type { Assembler } from '../../..';\n\nexport class PathItemAssemblerFactory {\n createAll(): Assembler.PathItem[] {\n return [this._createOperationAssembler()];\n }\n\n private _createOperationAssembler(\n assemblerFactory: OperationAssemblerFactory = new OperationAssemblerFactory(),\n contextFactory: OperationContextFactory = new OperationContextFactory()\n ) {\n const assemblers = assemblerFactory.createAll();\n\n return new OperationAssembler(assemblers, contextFactory);\n }\n}\n"],"names":["PathItemAssemblerFactory","createAll","_createOperationAssembler","assemblerFactory","OperationAssemblerFactory","contextFactory","OperationContextFactory","assemblers","OperationAssembler"],"mappings":";;;;;;;;;;AAKO,MAAMA,wBAAAA,CAAAA;IACXC,SAAkC,GAAA;QAChC,OAAO;AAAC,YAAA,IAAI,CAACC,yBAAyB;AAAG,SAAA;AAC3C;AAEQA,IAAAA,yBAAAA,CACNC,mBAA8C,IAAIC,yBAAAA,EAA2B,EAC7EC,cAA0C,GAAA,IAAIC,yBAAyB,EACvE;QACA,MAAMC,UAAAA,GAAaJ,iBAAiBF,SAAS,EAAA;QAE7C,OAAO,IAAIO,mBAAmBD,UAAYF,EAAAA,cAAAA,CAAAA;AAC5C;AACF;;;;"}
1
+ {"version":3,"file":"factory.mjs","sources":["../../../../../src/assemblers/document/path/path-item/factory.ts"],"sourcesContent":["import { OperationContextFactory } from '../../../../context';\nimport { OperationAssembler, OperationAssemblerFactory } from './operation';\n\nimport type { Assembler } from '../../..';\n\nexport class PathItemAssemblerFactory {\n createAll(): Assembler.PathItem[] {\n return [this._createOperationAssembler()];\n }\n\n private _createOperationAssembler(\n assemblerFactory: OperationAssemblerFactory = new OperationAssemblerFactory(),\n contextFactory: OperationContextFactory = new OperationContextFactory()\n ) {\n const assemblers = assemblerFactory.createAll();\n\n return new OperationAssembler(assemblers, contextFactory);\n }\n}\n"],"names":["PathItemAssemblerFactory","createAll","_createOperationAssembler","assemblerFactory","OperationAssemblerFactory","contextFactory","OperationContextFactory","assemblers","OperationAssembler"],"mappings":";;;;;;;;;;AAKO,MAAMA,wBAAAA,CAAAA;IACXC,SAAAA,GAAkC;QAChC,OAAO;AAAC,YAAA,IAAI,CAACC,yBAAyB;AAAG,SAAA;AAC3C,IAAA;AAEQA,IAAAA,yBAAAA,CACNC,mBAA8C,IAAIC,yBAAAA,EAA2B,EAC7EC,cAAAA,GAA0C,IAAIC,yBAAyB,EACvE;QACA,MAAMC,UAAAA,GAAaJ,iBAAiBF,SAAS,EAAA;QAE7C,OAAO,IAAIO,mBAAmBD,UAAAA,EAAYF,cAAAA,CAAAA;AAC5C,IAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"body.js","sources":["../../../../../../src/assemblers/document/path/path-item/operation/body.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport type { OpenAPIV3_1 } from 'openapi-types';\n\nimport type { OperationContext } from '../../../../../types';\nimport type { Assembler } from '../../../..';\n\nimport { zodToOpenAPI } from '../../../../../utils';\n\nexport class BodyAssembler implements Assembler.Operation {\n assemble(context: OperationContext, route: Core.Route): void {\n const { output } = context;\n const { body } = route.request ?? {};\n\n // If no `body` property is defined, we don't need to do anything\n if (!body) {\n return;\n }\n\n const content: Record<string, OpenAPIV3_1.MediaTypeObject> = {};\n\n for (const [media, zodSchema] of Object.entries(body)) {\n content[media] = {\n schema: zodToOpenAPI(zodSchema) as any,\n };\n }\n\n output.data.requestBody = { content };\n }\n}\n"],"names":["BodyAssembler","assemble","context","route","output","body","request","content","media","zodSchema","Object","entries","schema","zodToOpenAPI","data","requestBody"],"mappings":";;;;;AAQO,MAAMA,aAAAA,CAAAA;IACXC,QAASC,CAAAA,OAAyB,EAAEC,KAAiB,EAAQ;QAC3D,MAAM,EAAEC,MAAM,EAAE,GAAGF,OAAAA;AACnB,QAAA,MAAM,EAAEG,IAAI,EAAE,GAAGF,KAAMG,CAAAA,OAAO,IAAI,EAAC;;AAGnC,QAAA,IAAI,CAACD,IAAM,EAAA;AACT,YAAA;AACF;AAEA,QAAA,MAAME,UAAuD,EAAC;QAE9D,KAAK,MAAM,CAACC,KAAOC,EAAAA,SAAAA,CAAU,IAAIC,MAAOC,CAAAA,OAAO,CAACN,IAAO,CAAA,CAAA;YACrDE,OAAO,CAACC,MAAM,GAAG;AACfI,gBAAAA,MAAAA,EAAQC,gBAAaJ,CAAAA,SAAAA;AACvB,aAAA;AACF;QAEAL,MAAOU,CAAAA,IAAI,CAACC,WAAW,GAAG;AAAER,YAAAA;AAAQ,SAAA;AACtC;AACF;;;;"}
1
+ {"version":3,"file":"body.js","sources":["../../../../../../src/assemblers/document/path/path-item/operation/body.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport type { OpenAPIV3_1 } from 'openapi-types';\n\nimport type { OperationContext } from '../../../../../types';\nimport type { Assembler } from '../../../..';\n\nimport { zodToOpenAPI } from '../../../../../utils';\n\nexport class BodyAssembler implements Assembler.Operation {\n assemble(context: OperationContext, route: Core.Route): void {\n const { output } = context;\n const { body } = route.request ?? {};\n\n // If no `body` property is defined, we don't need to do anything\n if (!body) {\n return;\n }\n\n const content: Record<string, OpenAPIV3_1.MediaTypeObject> = {};\n\n for (const [media, zodSchema] of Object.entries(body)) {\n content[media] = {\n schema: zodToOpenAPI(zodSchema) as any,\n };\n }\n\n output.data.requestBody = { content };\n }\n}\n"],"names":["BodyAssembler","assemble","context","route","output","body","request","content","media","zodSchema","Object","entries","schema","zodToOpenAPI","data","requestBody"],"mappings":";;;;;AAQO,MAAMA,aAAAA,CAAAA;IACXC,QAAAA,CAASC,OAAyB,EAAEC,KAAiB,EAAQ;QAC3D,MAAM,EAAEC,MAAM,EAAE,GAAGF,OAAAA;AACnB,QAAA,MAAM,EAAEG,IAAI,EAAE,GAAGF,KAAAA,CAAMG,OAAO,IAAI,EAAC;;AAGnC,QAAA,IAAI,CAACD,IAAAA,EAAM;AACT,YAAA;AACF,QAAA;AAEA,QAAA,MAAME,UAAuD,EAAC;QAE9D,KAAK,MAAM,CAACC,KAAAA,EAAOC,SAAAA,CAAU,IAAIC,MAAAA,CAAOC,OAAO,CAACN,IAAAA,CAAAA,CAAO;YACrDE,OAAO,CAACC,MAAM,GAAG;AACfI,gBAAAA,MAAAA,EAAQC,gBAAAA,CAAaJ,SAAAA;AACvB,aAAA;AACF,QAAA;QAEAL,MAAAA,CAAOU,IAAI,CAACC,WAAW,GAAG;AAAER,YAAAA;AAAQ,SAAA;AACtC,IAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"body.mjs","sources":["../../../../../../src/assemblers/document/path/path-item/operation/body.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport type { OpenAPIV3_1 } from 'openapi-types';\n\nimport type { OperationContext } from '../../../../../types';\nimport type { Assembler } from '../../../..';\n\nimport { zodToOpenAPI } from '../../../../../utils';\n\nexport class BodyAssembler implements Assembler.Operation {\n assemble(context: OperationContext, route: Core.Route): void {\n const { output } = context;\n const { body } = route.request ?? {};\n\n // If no `body` property is defined, we don't need to do anything\n if (!body) {\n return;\n }\n\n const content: Record<string, OpenAPIV3_1.MediaTypeObject> = {};\n\n for (const [media, zodSchema] of Object.entries(body)) {\n content[media] = {\n schema: zodToOpenAPI(zodSchema) as any,\n };\n }\n\n output.data.requestBody = { content };\n }\n}\n"],"names":["BodyAssembler","assemble","context","route","output","body","request","content","media","zodSchema","Object","entries","schema","zodToOpenAPI","data","requestBody"],"mappings":";;;AAQO,MAAMA,aAAAA,CAAAA;IACXC,QAASC,CAAAA,OAAyB,EAAEC,KAAiB,EAAQ;QAC3D,MAAM,EAAEC,MAAM,EAAE,GAAGF,OAAAA;AACnB,QAAA,MAAM,EAAEG,IAAI,EAAE,GAAGF,KAAMG,CAAAA,OAAO,IAAI,EAAC;;AAGnC,QAAA,IAAI,CAACD,IAAM,EAAA;AACT,YAAA;AACF;AAEA,QAAA,MAAME,UAAuD,EAAC;QAE9D,KAAK,MAAM,CAACC,KAAOC,EAAAA,SAAAA,CAAU,IAAIC,MAAOC,CAAAA,OAAO,CAACN,IAAO,CAAA,CAAA;YACrDE,OAAO,CAACC,MAAM,GAAG;AACfI,gBAAAA,MAAAA,EAAQC,YAAaJ,CAAAA,SAAAA;AACvB,aAAA;AACF;QAEAL,MAAOU,CAAAA,IAAI,CAACC,WAAW,GAAG;AAAER,YAAAA;AAAQ,SAAA;AACtC;AACF;;;;"}
1
+ {"version":3,"file":"body.mjs","sources":["../../../../../../src/assemblers/document/path/path-item/operation/body.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport type { OpenAPIV3_1 } from 'openapi-types';\n\nimport type { OperationContext } from '../../../../../types';\nimport type { Assembler } from '../../../..';\n\nimport { zodToOpenAPI } from '../../../../../utils';\n\nexport class BodyAssembler implements Assembler.Operation {\n assemble(context: OperationContext, route: Core.Route): void {\n const { output } = context;\n const { body } = route.request ?? {};\n\n // If no `body` property is defined, we don't need to do anything\n if (!body) {\n return;\n }\n\n const content: Record<string, OpenAPIV3_1.MediaTypeObject> = {};\n\n for (const [media, zodSchema] of Object.entries(body)) {\n content[media] = {\n schema: zodToOpenAPI(zodSchema) as any,\n };\n }\n\n output.data.requestBody = { content };\n }\n}\n"],"names":["BodyAssembler","assemble","context","route","output","body","request","content","media","zodSchema","Object","entries","schema","zodToOpenAPI","data","requestBody"],"mappings":";;;AAQO,MAAMA,aAAAA,CAAAA;IACXC,QAAAA,CAASC,OAAyB,EAAEC,KAAiB,EAAQ;QAC3D,MAAM,EAAEC,MAAM,EAAE,GAAGF,OAAAA;AACnB,QAAA,MAAM,EAAEG,IAAI,EAAE,GAAGF,KAAAA,CAAMG,OAAO,IAAI,EAAC;;AAGnC,QAAA,IAAI,CAACD,IAAAA,EAAM;AACT,YAAA;AACF,QAAA;AAEA,QAAA,MAAME,UAAuD,EAAC;QAE9D,KAAK,MAAM,CAACC,KAAAA,EAAOC,SAAAA,CAAU,IAAIC,MAAAA,CAAOC,OAAO,CAACN,IAAAA,CAAAA,CAAO;YACrDE,OAAO,CAACC,MAAM,GAAG;AACfI,gBAAAA,MAAAA,EAAQC,YAAAA,CAAaJ,SAAAA;AACvB,aAAA;AACF,QAAA;QAEAL,MAAAA,CAAOU,IAAI,CAACC,WAAW,GAAG;AAAER,YAAAA;AAAQ,SAAA;AACtC,IAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sources":["../../../../../../src/assemblers/document/path/path-item/operation/factory.ts"],"sourcesContent":["import type { Assembler } from '../../../..';\n\nimport { OperationIDAssembler } from './operation-id';\nimport { OperationParametersAssembler } from './parameters';\nimport { OperationResponsesAssembler } from './responses';\nimport { OperationTagsAssembler } from './tags';\nimport { BodyAssembler } from './body';\n\nexport class OperationAssemblerFactory {\n createAll(): Assembler.Operation[] {\n return [\n this._createOperationIDAssembler(),\n this._createParametersAssembler(),\n this._createResponsesAssembler(),\n this._createTagsAssembler(),\n this._createBodyAssembler(),\n ];\n }\n\n private _createOperationIDAssembler() {\n return new OperationIDAssembler();\n }\n\n private _createParametersAssembler() {\n return new OperationParametersAssembler();\n }\n\n private _createResponsesAssembler() {\n return new OperationResponsesAssembler();\n }\n\n private _createTagsAssembler() {\n return new OperationTagsAssembler();\n }\n\n private _createBodyAssembler() {\n return new BodyAssembler();\n }\n}\n"],"names":["OperationAssemblerFactory","createAll","_createOperationIDAssembler","_createParametersAssembler","_createResponsesAssembler","_createTagsAssembler","_createBodyAssembler","OperationIDAssembler","OperationParametersAssembler","OperationResponsesAssembler","OperationTagsAssembler","BodyAssembler"],"mappings":";;;;;;;;AAQO,MAAMA,yBAAAA,CAAAA;IACXC,SAAmC,GAAA;QACjC,OAAO;AACL,YAAA,IAAI,CAACC,2BAA2B,EAAA;AAChC,YAAA,IAAI,CAACC,0BAA0B,EAAA;AAC/B,YAAA,IAAI,CAACC,yBAAyB,EAAA;AAC9B,YAAA,IAAI,CAACC,oBAAoB,EAAA;AACzB,YAAA,IAAI,CAACC,oBAAoB;AAC1B,SAAA;AACH;IAEQJ,2BAA8B,GAAA;AACpC,QAAA,OAAO,IAAIK,gCAAAA,EAAAA;AACb;IAEQJ,0BAA6B,GAAA;AACnC,QAAA,OAAO,IAAIK,uCAAAA,EAAAA;AACb;IAEQJ,yBAA4B,GAAA;AAClC,QAAA,OAAO,IAAIK,qCAAAA,EAAAA;AACb;IAEQJ,oBAAuB,GAAA;AAC7B,QAAA,OAAO,IAAIK,2BAAAA,EAAAA;AACb;IAEQJ,oBAAuB,GAAA;AAC7B,QAAA,OAAO,IAAIK,kBAAAA,EAAAA;AACb;AACF;;;;"}
1
+ {"version":3,"file":"factory.js","sources":["../../../../../../src/assemblers/document/path/path-item/operation/factory.ts"],"sourcesContent":["import type { Assembler } from '../../../..';\n\nimport { OperationIDAssembler } from './operation-id';\nimport { OperationParametersAssembler } from './parameters';\nimport { OperationResponsesAssembler } from './responses';\nimport { OperationTagsAssembler } from './tags';\nimport { BodyAssembler } from './body';\n\nexport class OperationAssemblerFactory {\n createAll(): Assembler.Operation[] {\n return [\n this._createOperationIDAssembler(),\n this._createParametersAssembler(),\n this._createResponsesAssembler(),\n this._createTagsAssembler(),\n this._createBodyAssembler(),\n ];\n }\n\n private _createOperationIDAssembler() {\n return new OperationIDAssembler();\n }\n\n private _createParametersAssembler() {\n return new OperationParametersAssembler();\n }\n\n private _createResponsesAssembler() {\n return new OperationResponsesAssembler();\n }\n\n private _createTagsAssembler() {\n return new OperationTagsAssembler();\n }\n\n private _createBodyAssembler() {\n return new BodyAssembler();\n }\n}\n"],"names":["OperationAssemblerFactory","createAll","_createOperationIDAssembler","_createParametersAssembler","_createResponsesAssembler","_createTagsAssembler","_createBodyAssembler","OperationIDAssembler","OperationParametersAssembler","OperationResponsesAssembler","OperationTagsAssembler","BodyAssembler"],"mappings":";;;;;;;;AAQO,MAAMA,yBAAAA,CAAAA;IACXC,SAAAA,GAAmC;QACjC,OAAO;AACL,YAAA,IAAI,CAACC,2BAA2B,EAAA;AAChC,YAAA,IAAI,CAACC,0BAA0B,EAAA;AAC/B,YAAA,IAAI,CAACC,yBAAyB,EAAA;AAC9B,YAAA,IAAI,CAACC,oBAAoB,EAAA;AACzB,YAAA,IAAI,CAACC,oBAAoB;AAC1B,SAAA;AACH,IAAA;IAEQJ,2BAAAA,GAA8B;AACpC,QAAA,OAAO,IAAIK,gCAAAA,EAAAA;AACb,IAAA;IAEQJ,0BAAAA,GAA6B;AACnC,QAAA,OAAO,IAAIK,uCAAAA,EAAAA;AACb,IAAA;IAEQJ,yBAAAA,GAA4B;AAClC,QAAA,OAAO,IAAIK,qCAAAA,EAAAA;AACb,IAAA;IAEQJ,oBAAAA,GAAuB;AAC7B,QAAA,OAAO,IAAIK,2BAAAA,EAAAA;AACb,IAAA;IAEQJ,oBAAAA,GAAuB;AAC7B,QAAA,OAAO,IAAIK,kBAAAA,EAAAA;AACb,IAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"factory.mjs","sources":["../../../../../../src/assemblers/document/path/path-item/operation/factory.ts"],"sourcesContent":["import type { Assembler } from '../../../..';\n\nimport { OperationIDAssembler } from './operation-id';\nimport { OperationParametersAssembler } from './parameters';\nimport { OperationResponsesAssembler } from './responses';\nimport { OperationTagsAssembler } from './tags';\nimport { BodyAssembler } from './body';\n\nexport class OperationAssemblerFactory {\n createAll(): Assembler.Operation[] {\n return [\n this._createOperationIDAssembler(),\n this._createParametersAssembler(),\n this._createResponsesAssembler(),\n this._createTagsAssembler(),\n this._createBodyAssembler(),\n ];\n }\n\n private _createOperationIDAssembler() {\n return new OperationIDAssembler();\n }\n\n private _createParametersAssembler() {\n return new OperationParametersAssembler();\n }\n\n private _createResponsesAssembler() {\n return new OperationResponsesAssembler();\n }\n\n private _createTagsAssembler() {\n return new OperationTagsAssembler();\n }\n\n private _createBodyAssembler() {\n return new BodyAssembler();\n }\n}\n"],"names":["OperationAssemblerFactory","createAll","_createOperationIDAssembler","_createParametersAssembler","_createResponsesAssembler","_createTagsAssembler","_createBodyAssembler","OperationIDAssembler","OperationParametersAssembler","OperationResponsesAssembler","OperationTagsAssembler","BodyAssembler"],"mappings":";;;;;;AAQO,MAAMA,yBAAAA,CAAAA;IACXC,SAAmC,GAAA;QACjC,OAAO;AACL,YAAA,IAAI,CAACC,2BAA2B,EAAA;AAChC,YAAA,IAAI,CAACC,0BAA0B,EAAA;AAC/B,YAAA,IAAI,CAACC,yBAAyB,EAAA;AAC9B,YAAA,IAAI,CAACC,oBAAoB,EAAA;AACzB,YAAA,IAAI,CAACC,oBAAoB;AAC1B,SAAA;AACH;IAEQJ,2BAA8B,GAAA;AACpC,QAAA,OAAO,IAAIK,oBAAAA,EAAAA;AACb;IAEQJ,0BAA6B,GAAA;AACnC,QAAA,OAAO,IAAIK,4BAAAA,EAAAA;AACb;IAEQJ,yBAA4B,GAAA;AAClC,QAAA,OAAO,IAAIK,2BAAAA,EAAAA;AACb;IAEQJ,oBAAuB,GAAA;AAC7B,QAAA,OAAO,IAAIK,sBAAAA,EAAAA;AACb;IAEQJ,oBAAuB,GAAA;AAC7B,QAAA,OAAO,IAAIK,aAAAA,EAAAA;AACb;AACF;;;;"}
1
+ {"version":3,"file":"factory.mjs","sources":["../../../../../../src/assemblers/document/path/path-item/operation/factory.ts"],"sourcesContent":["import type { Assembler } from '../../../..';\n\nimport { OperationIDAssembler } from './operation-id';\nimport { OperationParametersAssembler } from './parameters';\nimport { OperationResponsesAssembler } from './responses';\nimport { OperationTagsAssembler } from './tags';\nimport { BodyAssembler } from './body';\n\nexport class OperationAssemblerFactory {\n createAll(): Assembler.Operation[] {\n return [\n this._createOperationIDAssembler(),\n this._createParametersAssembler(),\n this._createResponsesAssembler(),\n this._createTagsAssembler(),\n this._createBodyAssembler(),\n ];\n }\n\n private _createOperationIDAssembler() {\n return new OperationIDAssembler();\n }\n\n private _createParametersAssembler() {\n return new OperationParametersAssembler();\n }\n\n private _createResponsesAssembler() {\n return new OperationResponsesAssembler();\n }\n\n private _createTagsAssembler() {\n return new OperationTagsAssembler();\n }\n\n private _createBodyAssembler() {\n return new BodyAssembler();\n }\n}\n"],"names":["OperationAssemblerFactory","createAll","_createOperationIDAssembler","_createParametersAssembler","_createResponsesAssembler","_createTagsAssembler","_createBodyAssembler","OperationIDAssembler","OperationParametersAssembler","OperationResponsesAssembler","OperationTagsAssembler","BodyAssembler"],"mappings":";;;;;;AAQO,MAAMA,yBAAAA,CAAAA;IACXC,SAAAA,GAAmC;QACjC,OAAO;AACL,YAAA,IAAI,CAACC,2BAA2B,EAAA;AAChC,YAAA,IAAI,CAACC,0BAA0B,EAAA;AAC/B,YAAA,IAAI,CAACC,yBAAyB,EAAA;AAC9B,YAAA,IAAI,CAACC,oBAAoB,EAAA;AACzB,YAAA,IAAI,CAACC,oBAAoB;AAC1B,SAAA;AACH,IAAA;IAEQJ,2BAAAA,GAA8B;AACpC,QAAA,OAAO,IAAIK,oBAAAA,EAAAA;AACb,IAAA;IAEQJ,0BAAAA,GAA6B;AACnC,QAAA,OAAO,IAAIK,4BAAAA,EAAAA;AACb,IAAA;IAEQJ,yBAAAA,GAA4B;AAClC,QAAA,OAAO,IAAIK,2BAAAA,EAAAA;AACb,IAAA;IAEQJ,oBAAAA,GAAuB;AAC7B,QAAA,OAAO,IAAIK,sBAAAA,EAAAA;AACb,IAAA;IAEQJ,oBAAAA,GAAuB;AAC7B,QAAA,OAAO,IAAIK,aAAAA,EAAAA;AACb,IAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"operation-id.js","sources":["../../../../../../src/assemblers/document/path/path-item/operation/operation-id.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nimport { REGEX_STRAPI_PATH_PARAMS } from '../../../../../constants';\n\nimport type { OperationContext } from '../../../../../types';\nimport { createDebugger } from '../../../../../utils';\nimport type { Assembler } from '../../../..';\n\nconst debug = createDebugger('assembler:operation-id');\n\nexport class OperationIDAssembler implements Assembler.Operation {\n assemble(context: OperationContext, route: Core.Route): void {\n const { path, method, info } = route;\n\n const origin = info.apiName ?? info.pluginName;\n\n const [operationId] = ['']\n // 'origin/' or ''\n .map(this._maybeAppendOrigin(origin))\n // 'origin/get' or 'get'\n .map(this._appendMethod(method))\n // 'origin/get/entity_by_id' or 'get/entity_by_id'\n .map(this._maybeAppendPath(path));\n\n debug('assembled an operation ID for %o %o: %o', method, path, operationId);\n\n context.output.data.operationId = operationId;\n }\n\n private _maybeAppendOrigin(origin?: string) {\n return () => (origin ? `${origin}/` : '');\n }\n\n private _appendMethod(method: string) {\n return (operationId: string) => `${operationId}${method.toLowerCase()}`;\n }\n\n private _maybeAppendPath(path: string) {\n const pathParts = path.split('/').filter(Boolean);\n\n return (operationId: string) => {\n if (!pathParts.length) {\n return operationId;\n }\n\n // Make sure to add a trailing slash after the method name\n let appendix = '/';\n\n const formatPart = (str: string) => (/[_/]$/.test(appendix) ? str : `_${str}`);\n\n pathParts.forEach((part) => {\n const match = REGEX_STRAPI_PATH_PARAMS.exec(part);\n\n appendix += match\n ? // Parameter\n formatPart(`by_${match[1]}`)\n : // Regular path segment\n formatPart(part.replaceAll(/\\W/g, '_'));\n });\n\n return `${operationId}${appendix}`;\n };\n }\n}\n"],"names":["debug","createDebugger","OperationIDAssembler","assemble","context","route","path","method","info","origin","apiName","pluginName","operationId","map","_maybeAppendOrigin","_appendMethod","_maybeAppendPath","output","data","toLowerCase","pathParts","split","filter","Boolean","length","appendix","formatPart","str","test","forEach","part","match","REGEX_STRAPI_PATH_PARAMS","exec","replaceAll"],"mappings":";;;;;;;AAQA,MAAMA,QAAQC,sBAAe,CAAA,wBAAA,CAAA;AAEtB,MAAMC,oBAAAA,CAAAA;IACXC,QAASC,CAAAA,OAAyB,EAAEC,KAAiB,EAAQ;AAC3D,QAAA,MAAM,EAAEC,IAAI,EAAEC,MAAM,EAAEC,IAAI,EAAE,GAAGH,KAAAA;AAE/B,QAAA,MAAMI,MAASD,GAAAA,IAAAA,CAAKE,OAAO,IAAIF,KAAKG,UAAU;QAE9C,MAAM,CAACC,YAAY,GAAG;AAAC,YAAA;AAAG,SACxB;AACCC,SAAAA,GAAG,CAAC,IAAI,CAACC,kBAAkB,CAACL,QAC7B;AACCI,SAAAA,GAAG,CAAC,IAAI,CAACE,aAAa,CAACR,QACxB;AACCM,SAAAA,GAAG,CAAC,IAAI,CAACG,gBAAgB,CAACV,IAAAA,CAAAA,CAAAA;QAE7BN,KAAM,CAAA,yCAAA,EAA2CO,QAAQD,IAAMM,EAAAA,WAAAA,CAAAA;AAE/DR,QAAAA,OAAAA,CAAQa,MAAM,CAACC,IAAI,CAACN,WAAW,GAAGA,WAAAA;AACpC;AAEQE,IAAAA,kBAAAA,CAAmBL,MAAe,EAAE;AAC1C,QAAA,OAAO,IAAOA,MAAS,GAAA,CAAC,EAAEA,MAAO,CAAA,CAAC,CAAC,GAAG,EAAA;AACxC;AAEQM,IAAAA,aAAAA,CAAcR,MAAc,EAAE;QACpC,OAAO,CAACK,cAAwB,CAAC,EAAEA,YAAY,EAAEL,MAAAA,CAAOY,WAAW,EAAA,CAAG,CAAC;AACzE;AAEQH,IAAAA,gBAAAA,CAAiBV,IAAY,EAAE;AACrC,QAAA,MAAMc,YAAYd,IAAKe,CAAAA,KAAK,CAAC,GAAA,CAAA,CAAKC,MAAM,CAACC,OAAAA,CAAAA;AAEzC,QAAA,OAAO,CAACX,WAAAA,GAAAA;YACN,IAAI,CAACQ,SAAUI,CAAAA,MAAM,EAAE;gBACrB,OAAOZ,WAAAA;AACT;;AAGA,YAAA,IAAIa,QAAW,GAAA,GAAA;AAEf,YAAA,MAAMC,UAAa,GAAA,CAACC,GAAiB,GAAA,OAAA,CAAQC,IAAI,CAACH,QAAYE,CAAAA,GAAAA,GAAAA,GAAM,CAAC,CAAC,EAAEA,GAAAA,CAAI,CAAC;YAE7EP,SAAUS,CAAAA,OAAO,CAAC,CAACC,IAAAA,GAAAA;gBACjB,MAAMC,KAAAA,GAAQC,kCAAyBC,CAAAA,IAAI,CAACH,IAAAA,CAAAA;AAE5CL,gBAAAA,QAAAA,IAAYM,KAERL,GAAAA,UAAAA,CAAW,CAAC,GAAG,EAAEK,KAAK,CAAC,CAAE,CAAA,CAAC,CAAC,CAE3BL,GAAAA,UAAAA,CAAWI,IAAKI,CAAAA,UAAU,CAAC,KAAO,EAAA,GAAA,CAAA,CAAA;AACxC,aAAA,CAAA;AAEA,YAAA,OAAO,CAAC,EAAEtB,WAAY,CAAA,EAAEa,SAAS,CAAC;AACpC,SAAA;AACF;AACF;;;;"}
1
+ {"version":3,"file":"operation-id.js","sources":["../../../../../../src/assemblers/document/path/path-item/operation/operation-id.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nimport { REGEX_STRAPI_PATH_PARAMS } from '../../../../../constants';\n\nimport type { OperationContext } from '../../../../../types';\nimport { createDebugger } from '../../../../../utils';\nimport type { Assembler } from '../../../..';\n\nconst debug = createDebugger('assembler:operation-id');\n\nexport class OperationIDAssembler implements Assembler.Operation {\n assemble(context: OperationContext, route: Core.Route): void {\n const { path, method, info } = route;\n\n const origin = info.apiName ?? info.pluginName;\n\n const [operationId] = ['']\n // 'origin/' or ''\n .map(this._maybeAppendOrigin(origin))\n // 'origin/get' or 'get'\n .map(this._appendMethod(method))\n // 'origin/get/entity_by_id' or 'get/entity_by_id'\n .map(this._maybeAppendPath(path));\n\n debug('assembled an operation ID for %o %o: %o', method, path, operationId);\n\n context.output.data.operationId = operationId;\n }\n\n private _maybeAppendOrigin(origin?: string) {\n return () => (origin ? `${origin}/` : '');\n }\n\n private _appendMethod(method: string) {\n return (operationId: string) => `${operationId}${method.toLowerCase()}`;\n }\n\n private _maybeAppendPath(path: string) {\n const pathParts = path.split('/').filter(Boolean);\n\n return (operationId: string) => {\n if (!pathParts.length) {\n return operationId;\n }\n\n // Make sure to add a trailing slash after the method name\n let appendix = '/';\n\n const formatPart = (str: string) => (/[_/]$/.test(appendix) ? str : `_${str}`);\n\n pathParts.forEach((part) => {\n const match = REGEX_STRAPI_PATH_PARAMS.exec(part);\n\n appendix += match\n ? // Parameter\n formatPart(`by_${match[1]}`)\n : // Regular path segment\n formatPart(part.replaceAll(/\\W/g, '_'));\n });\n\n return `${operationId}${appendix}`;\n };\n }\n}\n"],"names":["debug","createDebugger","OperationIDAssembler","assemble","context","route","path","method","info","origin","apiName","pluginName","operationId","map","_maybeAppendOrigin","_appendMethod","_maybeAppendPath","output","data","toLowerCase","pathParts","split","filter","Boolean","length","appendix","formatPart","str","test","forEach","part","match","REGEX_STRAPI_PATH_PARAMS","exec","replaceAll"],"mappings":";;;;;;;AAQA,MAAMA,QAAQC,sBAAAA,CAAe,wBAAA,CAAA;AAEtB,MAAMC,oBAAAA,CAAAA;IACXC,QAAAA,CAASC,OAAyB,EAAEC,KAAiB,EAAQ;AAC3D,QAAA,MAAM,EAAEC,IAAI,EAAEC,MAAM,EAAEC,IAAI,EAAE,GAAGH,KAAAA;AAE/B,QAAA,MAAMI,MAAAA,GAASD,IAAAA,CAAKE,OAAO,IAAIF,KAAKG,UAAU;QAE9C,MAAM,CAACC,YAAY,GAAG;AAAC,YAAA;AAAG,SACxB;AACCC,SAAAA,GAAG,CAAC,IAAI,CAACC,kBAAkB,CAACL,QAC7B;AACCI,SAAAA,GAAG,CAAC,IAAI,CAACE,aAAa,CAACR,QACxB;AACCM,SAAAA,GAAG,CAAC,IAAI,CAACG,gBAAgB,CAACV,IAAAA,CAAAA,CAAAA;QAE7BN,KAAAA,CAAM,yCAAA,EAA2CO,QAAQD,IAAAA,EAAMM,WAAAA,CAAAA;AAE/DR,QAAAA,OAAAA,CAAQa,MAAM,CAACC,IAAI,CAACN,WAAW,GAAGA,WAAAA;AACpC,IAAA;AAEQE,IAAAA,kBAAAA,CAAmBL,MAAe,EAAE;AAC1C,QAAA,OAAO,IAAOA,MAAAA,GAAS,CAAA,EAAGA,MAAAA,CAAO,CAAC,CAAC,GAAG,EAAA;AACxC,IAAA;AAEQM,IAAAA,aAAAA,CAAcR,MAAc,EAAE;AACpC,QAAA,OAAO,CAACK,WAAAA,GAAwB,CAAA,EAAGA,WAAAA,CAAAA,EAAcL,MAAAA,CAAOY,WAAW,EAAA,CAAA,CAAI;AACzE,IAAA;AAEQH,IAAAA,gBAAAA,CAAiBV,IAAY,EAAE;AACrC,QAAA,MAAMc,YAAYd,IAAAA,CAAKe,KAAK,CAAC,GAAA,CAAA,CAAKC,MAAM,CAACC,OAAAA,CAAAA;AAEzC,QAAA,OAAO,CAACX,WAAAA,GAAAA;YACN,IAAI,CAACQ,SAAAA,CAAUI,MAAM,EAAE;gBACrB,OAAOZ,WAAAA;AACT,YAAA;;AAGA,YAAA,IAAIa,QAAAA,GAAW,GAAA;YAEf,MAAMC,UAAAA,GAAa,CAACC,GAAAA,GAAiB,OAAA,CAAQC,IAAI,CAACH,QAAAA,CAAAA,GAAYE,GAAAA,GAAM,CAAC,CAAC,EAAEA,GAAAA,CAAAA,CAAK;YAE7EP,SAAAA,CAAUS,OAAO,CAAC,CAACC,IAAAA,GAAAA;gBACjB,MAAMC,KAAAA,GAAQC,kCAAAA,CAAyBC,IAAI,CAACH,IAAAA,CAAAA;AAE5CL,gBAAAA,QAAAA,IAAYM,KAAAA,GAERL,UAAAA,CAAW,CAAC,GAAG,EAAEK,KAAK,CAAC,CAAA,CAAE,CAAA,CAAE,CAAA,GAE3BL,UAAAA,CAAWI,IAAAA,CAAKI,UAAU,CAAC,KAAA,EAAO,GAAA,CAAA,CAAA;AACxC,YAAA,CAAA,CAAA;YAEA,OAAO,CAAA,EAAGtB,cAAca,QAAAA,CAAAA,CAAU;AACpC,QAAA,CAAA;AACF,IAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"operation-id.mjs","sources":["../../../../../../src/assemblers/document/path/path-item/operation/operation-id.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nimport { REGEX_STRAPI_PATH_PARAMS } from '../../../../../constants';\n\nimport type { OperationContext } from '../../../../../types';\nimport { createDebugger } from '../../../../../utils';\nimport type { Assembler } from '../../../..';\n\nconst debug = createDebugger('assembler:operation-id');\n\nexport class OperationIDAssembler implements Assembler.Operation {\n assemble(context: OperationContext, route: Core.Route): void {\n const { path, method, info } = route;\n\n const origin = info.apiName ?? info.pluginName;\n\n const [operationId] = ['']\n // 'origin/' or ''\n .map(this._maybeAppendOrigin(origin))\n // 'origin/get' or 'get'\n .map(this._appendMethod(method))\n // 'origin/get/entity_by_id' or 'get/entity_by_id'\n .map(this._maybeAppendPath(path));\n\n debug('assembled an operation ID for %o %o: %o', method, path, operationId);\n\n context.output.data.operationId = operationId;\n }\n\n private _maybeAppendOrigin(origin?: string) {\n return () => (origin ? `${origin}/` : '');\n }\n\n private _appendMethod(method: string) {\n return (operationId: string) => `${operationId}${method.toLowerCase()}`;\n }\n\n private _maybeAppendPath(path: string) {\n const pathParts = path.split('/').filter(Boolean);\n\n return (operationId: string) => {\n if (!pathParts.length) {\n return operationId;\n }\n\n // Make sure to add a trailing slash after the method name\n let appendix = '/';\n\n const formatPart = (str: string) => (/[_/]$/.test(appendix) ? str : `_${str}`);\n\n pathParts.forEach((part) => {\n const match = REGEX_STRAPI_PATH_PARAMS.exec(part);\n\n appendix += match\n ? // Parameter\n formatPart(`by_${match[1]}`)\n : // Regular path segment\n formatPart(part.replaceAll(/\\W/g, '_'));\n });\n\n return `${operationId}${appendix}`;\n };\n }\n}\n"],"names":["debug","createDebugger","OperationIDAssembler","assemble","context","route","path","method","info","origin","apiName","pluginName","operationId","map","_maybeAppendOrigin","_appendMethod","_maybeAppendPath","output","data","toLowerCase","pathParts","split","filter","Boolean","length","appendix","formatPart","str","test","forEach","part","match","REGEX_STRAPI_PATH_PARAMS","exec","replaceAll"],"mappings":";;;;;AAQA,MAAMA,QAAQC,cAAe,CAAA,wBAAA,CAAA;AAEtB,MAAMC,oBAAAA,CAAAA;IACXC,QAASC,CAAAA,OAAyB,EAAEC,KAAiB,EAAQ;AAC3D,QAAA,MAAM,EAAEC,IAAI,EAAEC,MAAM,EAAEC,IAAI,EAAE,GAAGH,KAAAA;AAE/B,QAAA,MAAMI,MAASD,GAAAA,IAAAA,CAAKE,OAAO,IAAIF,KAAKG,UAAU;QAE9C,MAAM,CAACC,YAAY,GAAG;AAAC,YAAA;AAAG,SACxB;AACCC,SAAAA,GAAG,CAAC,IAAI,CAACC,kBAAkB,CAACL,QAC7B;AACCI,SAAAA,GAAG,CAAC,IAAI,CAACE,aAAa,CAACR,QACxB;AACCM,SAAAA,GAAG,CAAC,IAAI,CAACG,gBAAgB,CAACV,IAAAA,CAAAA,CAAAA;QAE7BN,KAAM,CAAA,yCAAA,EAA2CO,QAAQD,IAAMM,EAAAA,WAAAA,CAAAA;AAE/DR,QAAAA,OAAAA,CAAQa,MAAM,CAACC,IAAI,CAACN,WAAW,GAAGA,WAAAA;AACpC;AAEQE,IAAAA,kBAAAA,CAAmBL,MAAe,EAAE;AAC1C,QAAA,OAAO,IAAOA,MAAS,GAAA,CAAC,EAAEA,MAAO,CAAA,CAAC,CAAC,GAAG,EAAA;AACxC;AAEQM,IAAAA,aAAAA,CAAcR,MAAc,EAAE;QACpC,OAAO,CAACK,cAAwB,CAAC,EAAEA,YAAY,EAAEL,MAAAA,CAAOY,WAAW,EAAA,CAAG,CAAC;AACzE;AAEQH,IAAAA,gBAAAA,CAAiBV,IAAY,EAAE;AACrC,QAAA,MAAMc,YAAYd,IAAKe,CAAAA,KAAK,CAAC,GAAA,CAAA,CAAKC,MAAM,CAACC,OAAAA,CAAAA;AAEzC,QAAA,OAAO,CAACX,WAAAA,GAAAA;YACN,IAAI,CAACQ,SAAUI,CAAAA,MAAM,EAAE;gBACrB,OAAOZ,WAAAA;AACT;;AAGA,YAAA,IAAIa,QAAW,GAAA,GAAA;AAEf,YAAA,MAAMC,UAAa,GAAA,CAACC,GAAiB,GAAA,OAAA,CAAQC,IAAI,CAACH,QAAYE,CAAAA,GAAAA,GAAAA,GAAM,CAAC,CAAC,EAAEA,GAAAA,CAAI,CAAC;YAE7EP,SAAUS,CAAAA,OAAO,CAAC,CAACC,IAAAA,GAAAA;gBACjB,MAAMC,KAAAA,GAAQC,wBAAyBC,CAAAA,IAAI,CAACH,IAAAA,CAAAA;AAE5CL,gBAAAA,QAAAA,IAAYM,KAERL,GAAAA,UAAAA,CAAW,CAAC,GAAG,EAAEK,KAAK,CAAC,CAAE,CAAA,CAAC,CAAC,CAE3BL,GAAAA,UAAAA,CAAWI,IAAKI,CAAAA,UAAU,CAAC,KAAO,EAAA,GAAA,CAAA,CAAA;AACxC,aAAA,CAAA;AAEA,YAAA,OAAO,CAAC,EAAEtB,WAAY,CAAA,EAAEa,SAAS,CAAC;AACpC,SAAA;AACF;AACF;;;;"}
1
+ {"version":3,"file":"operation-id.mjs","sources":["../../../../../../src/assemblers/document/path/path-item/operation/operation-id.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nimport { REGEX_STRAPI_PATH_PARAMS } from '../../../../../constants';\n\nimport type { OperationContext } from '../../../../../types';\nimport { createDebugger } from '../../../../../utils';\nimport type { Assembler } from '../../../..';\n\nconst debug = createDebugger('assembler:operation-id');\n\nexport class OperationIDAssembler implements Assembler.Operation {\n assemble(context: OperationContext, route: Core.Route): void {\n const { path, method, info } = route;\n\n const origin = info.apiName ?? info.pluginName;\n\n const [operationId] = ['']\n // 'origin/' or ''\n .map(this._maybeAppendOrigin(origin))\n // 'origin/get' or 'get'\n .map(this._appendMethod(method))\n // 'origin/get/entity_by_id' or 'get/entity_by_id'\n .map(this._maybeAppendPath(path));\n\n debug('assembled an operation ID for %o %o: %o', method, path, operationId);\n\n context.output.data.operationId = operationId;\n }\n\n private _maybeAppendOrigin(origin?: string) {\n return () => (origin ? `${origin}/` : '');\n }\n\n private _appendMethod(method: string) {\n return (operationId: string) => `${operationId}${method.toLowerCase()}`;\n }\n\n private _maybeAppendPath(path: string) {\n const pathParts = path.split('/').filter(Boolean);\n\n return (operationId: string) => {\n if (!pathParts.length) {\n return operationId;\n }\n\n // Make sure to add a trailing slash after the method name\n let appendix = '/';\n\n const formatPart = (str: string) => (/[_/]$/.test(appendix) ? str : `_${str}`);\n\n pathParts.forEach((part) => {\n const match = REGEX_STRAPI_PATH_PARAMS.exec(part);\n\n appendix += match\n ? // Parameter\n formatPart(`by_${match[1]}`)\n : // Regular path segment\n formatPart(part.replaceAll(/\\W/g, '_'));\n });\n\n return `${operationId}${appendix}`;\n };\n }\n}\n"],"names":["debug","createDebugger","OperationIDAssembler","assemble","context","route","path","method","info","origin","apiName","pluginName","operationId","map","_maybeAppendOrigin","_appendMethod","_maybeAppendPath","output","data","toLowerCase","pathParts","split","filter","Boolean","length","appendix","formatPart","str","test","forEach","part","match","REGEX_STRAPI_PATH_PARAMS","exec","replaceAll"],"mappings":";;;;;AAQA,MAAMA,QAAQC,cAAAA,CAAe,wBAAA,CAAA;AAEtB,MAAMC,oBAAAA,CAAAA;IACXC,QAAAA,CAASC,OAAyB,EAAEC,KAAiB,EAAQ;AAC3D,QAAA,MAAM,EAAEC,IAAI,EAAEC,MAAM,EAAEC,IAAI,EAAE,GAAGH,KAAAA;AAE/B,QAAA,MAAMI,MAAAA,GAASD,IAAAA,CAAKE,OAAO,IAAIF,KAAKG,UAAU;QAE9C,MAAM,CAACC,YAAY,GAAG;AAAC,YAAA;AAAG,SACxB;AACCC,SAAAA,GAAG,CAAC,IAAI,CAACC,kBAAkB,CAACL,QAC7B;AACCI,SAAAA,GAAG,CAAC,IAAI,CAACE,aAAa,CAACR,QACxB;AACCM,SAAAA,GAAG,CAAC,IAAI,CAACG,gBAAgB,CAACV,IAAAA,CAAAA,CAAAA;QAE7BN,KAAAA,CAAM,yCAAA,EAA2CO,QAAQD,IAAAA,EAAMM,WAAAA,CAAAA;AAE/DR,QAAAA,OAAAA,CAAQa,MAAM,CAACC,IAAI,CAACN,WAAW,GAAGA,WAAAA;AACpC,IAAA;AAEQE,IAAAA,kBAAAA,CAAmBL,MAAe,EAAE;AAC1C,QAAA,OAAO,IAAOA,MAAAA,GAAS,CAAA,EAAGA,MAAAA,CAAO,CAAC,CAAC,GAAG,EAAA;AACxC,IAAA;AAEQM,IAAAA,aAAAA,CAAcR,MAAc,EAAE;AACpC,QAAA,OAAO,CAACK,WAAAA,GAAwB,CAAA,EAAGA,WAAAA,CAAAA,EAAcL,MAAAA,CAAOY,WAAW,EAAA,CAAA,CAAI;AACzE,IAAA;AAEQH,IAAAA,gBAAAA,CAAiBV,IAAY,EAAE;AACrC,QAAA,MAAMc,YAAYd,IAAAA,CAAKe,KAAK,CAAC,GAAA,CAAA,CAAKC,MAAM,CAACC,OAAAA,CAAAA;AAEzC,QAAA,OAAO,CAACX,WAAAA,GAAAA;YACN,IAAI,CAACQ,SAAAA,CAAUI,MAAM,EAAE;gBACrB,OAAOZ,WAAAA;AACT,YAAA;;AAGA,YAAA,IAAIa,QAAAA,GAAW,GAAA;YAEf,MAAMC,UAAAA,GAAa,CAACC,GAAAA,GAAiB,OAAA,CAAQC,IAAI,CAACH,QAAAA,CAAAA,GAAYE,GAAAA,GAAM,CAAC,CAAC,EAAEA,GAAAA,CAAAA,CAAK;YAE7EP,SAAAA,CAAUS,OAAO,CAAC,CAACC,IAAAA,GAAAA;gBACjB,MAAMC,KAAAA,GAAQC,wBAAAA,CAAyBC,IAAI,CAACH,IAAAA,CAAAA;AAE5CL,gBAAAA,QAAAA,IAAYM,KAAAA,GAERL,UAAAA,CAAW,CAAC,GAAG,EAAEK,KAAK,CAAC,CAAA,CAAE,CAAA,CAAE,CAAA,GAE3BL,UAAAA,CAAWI,IAAAA,CAAKI,UAAU,CAAC,KAAA,EAAO,GAAA,CAAA,CAAA;AACxC,YAAA,CAAA,CAAA;YAEA,OAAO,CAAA,EAAGtB,cAAca,QAAAA,CAAAA,CAAU;AACpC,QAAA,CAAA;AACF,IAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"operation.js","sources":["../../../../../../src/assemblers/document/path/path-item/operation/operation.ts"],"sourcesContent":["import { OpenAPIV3_1, OpenAPIV3 } from 'openapi-types';\n\nimport type { Core } from '@strapi/types';\n\nimport { OperationContextFactory } from '../../../../../context';\nimport { createDebugger } from '../../../../../utils';\n\nimport type { PathItemContext } from '../../../../../types';\n\nimport type { Assembler } from '../../../..';\n\nconst debug = createDebugger('assembler:operation');\n\nexport class OperationAssembler implements Assembler.PathItem {\n private readonly _assemblers: Assembler.Operation[];\n\n private readonly _contextFactory: OperationContextFactory;\n\n constructor(\n assemblers: Assembler.Operation[],\n contextFactory: OperationContextFactory = new OperationContextFactory()\n ) {\n this._assemblers = assemblers;\n this._contextFactory = contextFactory;\n }\n\n assemble(context: PathItemContext, path: string, routes: Core.Route[]): void {\n const { output, ...defaultContextProps } = context;\n\n for (const route of routes) {\n const { method } = route;\n\n const methodIndex = method.toLowerCase();\n const operationContext = this._contextFactory.create(defaultContextProps);\n\n this._validateHTTPIndex(methodIndex);\n\n debug('assembling operation object for %o %o...', method, path);\n\n for (const assembler of this._assemblers) {\n debug('running assembler: %s...', assembler.constructor.name);\n\n assembler.assemble(operationContext, route);\n }\n\n const { data: operationObject } = operationContext.output;\n\n this._validateOperationObject(operationObject);\n\n debug('assembled operation object for %o %o', method, path);\n\n Object.assign(output.data, { [methodIndex]: operationObject });\n }\n }\n\n private _validateOperationObject(\n operation: Partial<OpenAPIV3_1.OperationObject>\n ): asserts operation is OpenAPIV3_1.OperationObject {\n if (!('responses' in operation)) {\n throw new Error('Invalid operation object: missing \"responses\" property');\n }\n }\n\n private _validateHTTPIndex(method: string): asserts method is OpenAPIV3_1.HttpMethods {\n // HttpMethods is exported as an enum in OpenAPIV3 and as a type only in OpenAPIV3_1\n const allowedMethods = Object.values<string>(OpenAPIV3.HttpMethods);\n const isAllowedMethod = allowedMethods.includes(method);\n\n if (!isAllowedMethod) {\n throw new Error(`Invalid HTTP method object: ${method}. Expected one of ${allowedMethods}`);\n }\n }\n}\n"],"names":["debug","createDebugger","OperationAssembler","assemble","context","path","routes","output","defaultContextProps","route","method","methodIndex","toLowerCase","operationContext","_contextFactory","create","_validateHTTPIndex","assembler","_assemblers","constructor","name","data","operationObject","_validateOperationObject","Object","assign","operation","Error","allowedMethods","values","OpenAPIV3","HttpMethods","isAllowedMethod","includes","assemblers","contextFactory","OperationContextFactory"],"mappings":";;;;;;;;AAWA,MAAMA,QAAQC,sBAAe,CAAA,qBAAA,CAAA;AAEtB,MAAMC,kBAAAA,CAAAA;AAaXC,IAAAA,QAAAA,CAASC,OAAwB,EAAEC,IAAY,EAAEC,MAAoB,EAAQ;AAC3E,QAAA,MAAM,EAAEC,MAAM,EAAE,GAAGC,qBAAqB,GAAGJ,OAAAA;QAE3C,KAAK,MAAMK,SAASH,MAAQ,CAAA;YAC1B,MAAM,EAAEI,MAAM,EAAE,GAAGD,KAAAA;YAEnB,MAAME,WAAAA,GAAcD,OAAOE,WAAW,EAAA;AACtC,YAAA,MAAMC,mBAAmB,IAAI,CAACC,eAAe,CAACC,MAAM,CAACP,mBAAAA,CAAAA;YAErD,IAAI,CAACQ,kBAAkB,CAACL,WAAAA,CAAAA;AAExBX,YAAAA,KAAAA,CAAM,4CAA4CU,MAAQL,EAAAA,IAAAA,CAAAA;AAE1D,YAAA,KAAK,MAAMY,SAAAA,IAAa,IAAI,CAACC,WAAW,CAAE;AACxClB,gBAAAA,KAAAA,CAAM,0BAA4BiB,EAAAA,SAAAA,CAAUE,WAAW,CAACC,IAAI,CAAA;gBAE5DH,SAAUd,CAAAA,QAAQ,CAACU,gBAAkBJ,EAAAA,KAAAA,CAAAA;AACvC;AAEA,YAAA,MAAM,EAAEY,IAAMC,EAAAA,eAAe,EAAE,GAAGT,iBAAiBN,MAAM;YAEzD,IAAI,CAACgB,wBAAwB,CAACD,eAAAA,CAAAA;AAE9BtB,YAAAA,KAAAA,CAAM,wCAAwCU,MAAQL,EAAAA,IAAAA,CAAAA;AAEtDmB,YAAAA,MAAAA,CAAOC,MAAM,CAAClB,MAAOc,CAAAA,IAAI,EAAE;AAAE,gBAAA,CAACV,cAAcW;AAAgB,aAAA,CAAA;AAC9D;AACF;AAEQC,IAAAA,wBAAAA,CACNG,SAA+C,EACG;AAClD,QAAA,IAAI,EAAE,WAAeA,IAAAA,SAAQ,CAAI,EAAA;AAC/B,YAAA,MAAM,IAAIC,KAAM,CAAA,wDAAA,CAAA;AAClB;AACF;AAEQX,IAAAA,kBAAAA,CAAmBN,MAAc,EAA6C;;AAEpF,QAAA,MAAMkB,cAAiBJ,GAAAA,MAAAA,CAAOK,MAAM,CAASC,uBAAUC,WAAW,CAAA;QAClE,MAAMC,eAAAA,GAAkBJ,cAAeK,CAAAA,QAAQ,CAACvB,MAAAA,CAAAA;AAEhD,QAAA,IAAI,CAACsB,eAAiB,EAAA;YACpB,MAAM,IAAIL,MAAM,CAAC,4BAA4B,EAAEjB,MAAO,CAAA,kBAAkB,EAAEkB,cAAAA,CAAe,CAAC,CAAA;AAC5F;AACF;AArDAT,IAAAA,WAAAA,CACEe,UAAiC,EACjCC,cAA0C,GAAA,IAAIC,mCAAyB,CACvE;QACA,IAAI,CAAClB,WAAW,GAAGgB,UAAAA;QACnB,IAAI,CAACpB,eAAe,GAAGqB,cAAAA;AACzB;AAgDF;;;;"}
1
+ {"version":3,"file":"operation.js","sources":["../../../../../../src/assemblers/document/path/path-item/operation/operation.ts"],"sourcesContent":["import { OpenAPIV3_1, OpenAPIV3 } from 'openapi-types';\n\nimport type { Core } from '@strapi/types';\n\nimport { OperationContextFactory } from '../../../../../context';\nimport { createDebugger } from '../../../../../utils';\n\nimport type { PathItemContext } from '../../../../../types';\n\nimport type { Assembler } from '../../../..';\n\nconst debug = createDebugger('assembler:operation');\n\nexport class OperationAssembler implements Assembler.PathItem {\n private readonly _assemblers: Assembler.Operation[];\n\n private readonly _contextFactory: OperationContextFactory;\n\n constructor(\n assemblers: Assembler.Operation[],\n contextFactory: OperationContextFactory = new OperationContextFactory()\n ) {\n this._assemblers = assemblers;\n this._contextFactory = contextFactory;\n }\n\n assemble(context: PathItemContext, path: string, routes: Core.Route[]): void {\n const { output, ...defaultContextProps } = context;\n\n for (const route of routes) {\n const { method } = route;\n\n const methodIndex = method.toLowerCase();\n const operationContext = this._contextFactory.create(defaultContextProps);\n\n this._validateHTTPIndex(methodIndex);\n\n debug('assembling operation object for %o %o...', method, path);\n\n for (const assembler of this._assemblers) {\n debug('running assembler: %s...', assembler.constructor.name);\n\n assembler.assemble(operationContext, route);\n }\n\n const { data: operationObject } = operationContext.output;\n\n this._validateOperationObject(operationObject);\n\n debug('assembled operation object for %o %o', method, path);\n\n Object.assign(output.data, { [methodIndex]: operationObject });\n }\n }\n\n private _validateOperationObject(\n operation: Partial<OpenAPIV3_1.OperationObject>\n ): asserts operation is OpenAPIV3_1.OperationObject {\n if (!('responses' in operation)) {\n throw new Error('Invalid operation object: missing \"responses\" property');\n }\n }\n\n private _validateHTTPIndex(method: string): asserts method is OpenAPIV3_1.HttpMethods {\n // HttpMethods is exported as an enum in OpenAPIV3 and as a type only in OpenAPIV3_1\n const allowedMethods = Object.values<string>(OpenAPIV3.HttpMethods);\n const isAllowedMethod = allowedMethods.includes(method);\n\n if (!isAllowedMethod) {\n throw new Error(`Invalid HTTP method object: ${method}. Expected one of ${allowedMethods}`);\n }\n }\n}\n"],"names":["debug","createDebugger","OperationAssembler","assemble","context","path","routes","output","defaultContextProps","route","method","methodIndex","toLowerCase","operationContext","_contextFactory","create","_validateHTTPIndex","assembler","_assemblers","name","data","operationObject","_validateOperationObject","Object","assign","operation","Error","allowedMethods","values","OpenAPIV3","HttpMethods","isAllowedMethod","includes","assemblers","contextFactory","OperationContextFactory"],"mappings":";;;;;;;;AAWA,MAAMA,QAAQC,sBAAAA,CAAe,qBAAA,CAAA;AAEtB,MAAMC,kBAAAA,CAAAA;AAaXC,IAAAA,QAAAA,CAASC,OAAwB,EAAEC,IAAY,EAAEC,MAAoB,EAAQ;AAC3E,QAAA,MAAM,EAAEC,MAAM,EAAE,GAAGC,qBAAqB,GAAGJ,OAAAA;QAE3C,KAAK,MAAMK,SAASH,MAAAA,CAAQ;YAC1B,MAAM,EAAEI,MAAM,EAAE,GAAGD,KAAAA;YAEnB,MAAME,WAAAA,GAAcD,OAAOE,WAAW,EAAA;AACtC,YAAA,MAAMC,mBAAmB,IAAI,CAACC,eAAe,CAACC,MAAM,CAACP,mBAAAA,CAAAA;YAErD,IAAI,CAACQ,kBAAkB,CAACL,WAAAA,CAAAA;AAExBX,YAAAA,KAAAA,CAAM,4CAA4CU,MAAAA,EAAQL,IAAAA,CAAAA;AAE1D,YAAA,KAAK,MAAMY,SAAAA,IAAa,IAAI,CAACC,WAAW,CAAE;AACxClB,gBAAAA,KAAAA,CAAM,0BAAA,EAA4BiB,SAAAA,CAAU,WAAW,CAACE,IAAI,CAAA;gBAE5DF,SAAAA,CAAUd,QAAQ,CAACU,gBAAAA,EAAkBJ,KAAAA,CAAAA;AACvC,YAAA;AAEA,YAAA,MAAM,EAAEW,IAAAA,EAAMC,eAAe,EAAE,GAAGR,iBAAiBN,MAAM;YAEzD,IAAI,CAACe,wBAAwB,CAACD,eAAAA,CAAAA;AAE9BrB,YAAAA,KAAAA,CAAM,wCAAwCU,MAAAA,EAAQL,IAAAA,CAAAA;AAEtDkB,YAAAA,MAAAA,CAAOC,MAAM,CAACjB,MAAAA,CAAOa,IAAI,EAAE;AAAE,gBAAA,CAACT,cAAcU;AAAgB,aAAA,CAAA;AAC9D,QAAA;AACF,IAAA;AAEQC,IAAAA,wBAAAA,CACNG,SAA+C,EACG;AAClD,QAAA,IAAI,EAAE,WAAA,IAAeA,SAAQ,CAAA,EAAI;AAC/B,YAAA,MAAM,IAAIC,KAAAA,CAAM,wDAAA,CAAA;AAClB,QAAA;AACF,IAAA;AAEQV,IAAAA,kBAAAA,CAAmBN,MAAc,EAA6C;;AAEpF,QAAA,MAAMiB,cAAAA,GAAiBJ,MAAAA,CAAOK,MAAM,CAASC,uBAAUC,WAAW,CAAA;QAClE,MAAMC,eAAAA,GAAkBJ,cAAAA,CAAeK,QAAQ,CAACtB,MAAAA,CAAAA;AAEhD,QAAA,IAAI,CAACqB,eAAAA,EAAiB;YACpB,MAAM,IAAIL,MAAM,CAAC,4BAA4B,EAAEhB,MAAAA,CAAO,kBAAkB,EAAEiB,cAAAA,CAAAA,CAAgB,CAAA;AAC5F,QAAA;AACF,IAAA;AArDA,IAAA,WAAA,CACEM,UAAiC,EACjCC,cAAAA,GAA0C,IAAIC,mCAAyB,CACvE;QACA,IAAI,CAACjB,WAAW,GAAGe,UAAAA;QACnB,IAAI,CAACnB,eAAe,GAAGoB,cAAAA;AACzB,IAAA;AAgDF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"operation.mjs","sources":["../../../../../../src/assemblers/document/path/path-item/operation/operation.ts"],"sourcesContent":["import { OpenAPIV3_1, OpenAPIV3 } from 'openapi-types';\n\nimport type { Core } from '@strapi/types';\n\nimport { OperationContextFactory } from '../../../../../context';\nimport { createDebugger } from '../../../../../utils';\n\nimport type { PathItemContext } from '../../../../../types';\n\nimport type { Assembler } from '../../../..';\n\nconst debug = createDebugger('assembler:operation');\n\nexport class OperationAssembler implements Assembler.PathItem {\n private readonly _assemblers: Assembler.Operation[];\n\n private readonly _contextFactory: OperationContextFactory;\n\n constructor(\n assemblers: Assembler.Operation[],\n contextFactory: OperationContextFactory = new OperationContextFactory()\n ) {\n this._assemblers = assemblers;\n this._contextFactory = contextFactory;\n }\n\n assemble(context: PathItemContext, path: string, routes: Core.Route[]): void {\n const { output, ...defaultContextProps } = context;\n\n for (const route of routes) {\n const { method } = route;\n\n const methodIndex = method.toLowerCase();\n const operationContext = this._contextFactory.create(defaultContextProps);\n\n this._validateHTTPIndex(methodIndex);\n\n debug('assembling operation object for %o %o...', method, path);\n\n for (const assembler of this._assemblers) {\n debug('running assembler: %s...', assembler.constructor.name);\n\n assembler.assemble(operationContext, route);\n }\n\n const { data: operationObject } = operationContext.output;\n\n this._validateOperationObject(operationObject);\n\n debug('assembled operation object for %o %o', method, path);\n\n Object.assign(output.data, { [methodIndex]: operationObject });\n }\n }\n\n private _validateOperationObject(\n operation: Partial<OpenAPIV3_1.OperationObject>\n ): asserts operation is OpenAPIV3_1.OperationObject {\n if (!('responses' in operation)) {\n throw new Error('Invalid operation object: missing \"responses\" property');\n }\n }\n\n private _validateHTTPIndex(method: string): asserts method is OpenAPIV3_1.HttpMethods {\n // HttpMethods is exported as an enum in OpenAPIV3 and as a type only in OpenAPIV3_1\n const allowedMethods = Object.values<string>(OpenAPIV3.HttpMethods);\n const isAllowedMethod = allowedMethods.includes(method);\n\n if (!isAllowedMethod) {\n throw new Error(`Invalid HTTP method object: ${method}. Expected one of ${allowedMethods}`);\n }\n }\n}\n"],"names":["debug","createDebugger","OperationAssembler","assemble","context","path","routes","output","defaultContextProps","route","method","methodIndex","toLowerCase","operationContext","_contextFactory","create","_validateHTTPIndex","assembler","_assemblers","constructor","name","data","operationObject","_validateOperationObject","Object","assign","operation","Error","allowedMethods","values","OpenAPIV3","HttpMethods","isAllowedMethod","includes","assemblers","contextFactory","OperationContextFactory"],"mappings":";;;;;;AAWA,MAAMA,QAAQC,cAAe,CAAA,qBAAA,CAAA;AAEtB,MAAMC,kBAAAA,CAAAA;AAaXC,IAAAA,QAAAA,CAASC,OAAwB,EAAEC,IAAY,EAAEC,MAAoB,EAAQ;AAC3E,QAAA,MAAM,EAAEC,MAAM,EAAE,GAAGC,qBAAqB,GAAGJ,OAAAA;QAE3C,KAAK,MAAMK,SAASH,MAAQ,CAAA;YAC1B,MAAM,EAAEI,MAAM,EAAE,GAAGD,KAAAA;YAEnB,MAAME,WAAAA,GAAcD,OAAOE,WAAW,EAAA;AACtC,YAAA,MAAMC,mBAAmB,IAAI,CAACC,eAAe,CAACC,MAAM,CAACP,mBAAAA,CAAAA;YAErD,IAAI,CAACQ,kBAAkB,CAACL,WAAAA,CAAAA;AAExBX,YAAAA,KAAAA,CAAM,4CAA4CU,MAAQL,EAAAA,IAAAA,CAAAA;AAE1D,YAAA,KAAK,MAAMY,SAAAA,IAAa,IAAI,CAACC,WAAW,CAAE;AACxClB,gBAAAA,KAAAA,CAAM,0BAA4BiB,EAAAA,SAAAA,CAAUE,WAAW,CAACC,IAAI,CAAA;gBAE5DH,SAAUd,CAAAA,QAAQ,CAACU,gBAAkBJ,EAAAA,KAAAA,CAAAA;AACvC;AAEA,YAAA,MAAM,EAAEY,IAAMC,EAAAA,eAAe,EAAE,GAAGT,iBAAiBN,MAAM;YAEzD,IAAI,CAACgB,wBAAwB,CAACD,eAAAA,CAAAA;AAE9BtB,YAAAA,KAAAA,CAAM,wCAAwCU,MAAQL,EAAAA,IAAAA,CAAAA;AAEtDmB,YAAAA,MAAAA,CAAOC,MAAM,CAAClB,MAAOc,CAAAA,IAAI,EAAE;AAAE,gBAAA,CAACV,cAAcW;AAAgB,aAAA,CAAA;AAC9D;AACF;AAEQC,IAAAA,wBAAAA,CACNG,SAA+C,EACG;AAClD,QAAA,IAAI,EAAE,WAAeA,IAAAA,SAAQ,CAAI,EAAA;AAC/B,YAAA,MAAM,IAAIC,KAAM,CAAA,wDAAA,CAAA;AAClB;AACF;AAEQX,IAAAA,kBAAAA,CAAmBN,MAAc,EAA6C;;AAEpF,QAAA,MAAMkB,cAAiBJ,GAAAA,MAAAA,CAAOK,MAAM,CAASC,UAAUC,WAAW,CAAA;QAClE,MAAMC,eAAAA,GAAkBJ,cAAeK,CAAAA,QAAQ,CAACvB,MAAAA,CAAAA;AAEhD,QAAA,IAAI,CAACsB,eAAiB,EAAA;YACpB,MAAM,IAAIL,MAAM,CAAC,4BAA4B,EAAEjB,MAAO,CAAA,kBAAkB,EAAEkB,cAAAA,CAAe,CAAC,CAAA;AAC5F;AACF;AArDAT,IAAAA,WAAAA,CACEe,UAAiC,EACjCC,cAA0C,GAAA,IAAIC,yBAAyB,CACvE;QACA,IAAI,CAAClB,WAAW,GAAGgB,UAAAA;QACnB,IAAI,CAACpB,eAAe,GAAGqB,cAAAA;AACzB;AAgDF;;;;"}
1
+ {"version":3,"file":"operation.mjs","sources":["../../../../../../src/assemblers/document/path/path-item/operation/operation.ts"],"sourcesContent":["import { OpenAPIV3_1, OpenAPIV3 } from 'openapi-types';\n\nimport type { Core } from '@strapi/types';\n\nimport { OperationContextFactory } from '../../../../../context';\nimport { createDebugger } from '../../../../../utils';\n\nimport type { PathItemContext } from '../../../../../types';\n\nimport type { Assembler } from '../../../..';\n\nconst debug = createDebugger('assembler:operation');\n\nexport class OperationAssembler implements Assembler.PathItem {\n private readonly _assemblers: Assembler.Operation[];\n\n private readonly _contextFactory: OperationContextFactory;\n\n constructor(\n assemblers: Assembler.Operation[],\n contextFactory: OperationContextFactory = new OperationContextFactory()\n ) {\n this._assemblers = assemblers;\n this._contextFactory = contextFactory;\n }\n\n assemble(context: PathItemContext, path: string, routes: Core.Route[]): void {\n const { output, ...defaultContextProps } = context;\n\n for (const route of routes) {\n const { method } = route;\n\n const methodIndex = method.toLowerCase();\n const operationContext = this._contextFactory.create(defaultContextProps);\n\n this._validateHTTPIndex(methodIndex);\n\n debug('assembling operation object for %o %o...', method, path);\n\n for (const assembler of this._assemblers) {\n debug('running assembler: %s...', assembler.constructor.name);\n\n assembler.assemble(operationContext, route);\n }\n\n const { data: operationObject } = operationContext.output;\n\n this._validateOperationObject(operationObject);\n\n debug('assembled operation object for %o %o', method, path);\n\n Object.assign(output.data, { [methodIndex]: operationObject });\n }\n }\n\n private _validateOperationObject(\n operation: Partial<OpenAPIV3_1.OperationObject>\n ): asserts operation is OpenAPIV3_1.OperationObject {\n if (!('responses' in operation)) {\n throw new Error('Invalid operation object: missing \"responses\" property');\n }\n }\n\n private _validateHTTPIndex(method: string): asserts method is OpenAPIV3_1.HttpMethods {\n // HttpMethods is exported as an enum in OpenAPIV3 and as a type only in OpenAPIV3_1\n const allowedMethods = Object.values<string>(OpenAPIV3.HttpMethods);\n const isAllowedMethod = allowedMethods.includes(method);\n\n if (!isAllowedMethod) {\n throw new Error(`Invalid HTTP method object: ${method}. Expected one of ${allowedMethods}`);\n }\n }\n}\n"],"names":["debug","createDebugger","OperationAssembler","assemble","context","path","routes","output","defaultContextProps","route","method","methodIndex","toLowerCase","operationContext","_contextFactory","create","_validateHTTPIndex","assembler","_assemblers","name","data","operationObject","_validateOperationObject","Object","assign","operation","Error","allowedMethods","values","OpenAPIV3","HttpMethods","isAllowedMethod","includes","assemblers","contextFactory","OperationContextFactory"],"mappings":";;;;;;AAWA,MAAMA,QAAQC,cAAAA,CAAe,qBAAA,CAAA;AAEtB,MAAMC,kBAAAA,CAAAA;AAaXC,IAAAA,QAAAA,CAASC,OAAwB,EAAEC,IAAY,EAAEC,MAAoB,EAAQ;AAC3E,QAAA,MAAM,EAAEC,MAAM,EAAE,GAAGC,qBAAqB,GAAGJ,OAAAA;QAE3C,KAAK,MAAMK,SAASH,MAAAA,CAAQ;YAC1B,MAAM,EAAEI,MAAM,EAAE,GAAGD,KAAAA;YAEnB,MAAME,WAAAA,GAAcD,OAAOE,WAAW,EAAA;AACtC,YAAA,MAAMC,mBAAmB,IAAI,CAACC,eAAe,CAACC,MAAM,CAACP,mBAAAA,CAAAA;YAErD,IAAI,CAACQ,kBAAkB,CAACL,WAAAA,CAAAA;AAExBX,YAAAA,KAAAA,CAAM,4CAA4CU,MAAAA,EAAQL,IAAAA,CAAAA;AAE1D,YAAA,KAAK,MAAMY,SAAAA,IAAa,IAAI,CAACC,WAAW,CAAE;AACxClB,gBAAAA,KAAAA,CAAM,0BAAA,EAA4BiB,SAAAA,CAAU,WAAW,CAACE,IAAI,CAAA;gBAE5DF,SAAAA,CAAUd,QAAQ,CAACU,gBAAAA,EAAkBJ,KAAAA,CAAAA;AACvC,YAAA;AAEA,YAAA,MAAM,EAAEW,IAAAA,EAAMC,eAAe,EAAE,GAAGR,iBAAiBN,MAAM;YAEzD,IAAI,CAACe,wBAAwB,CAACD,eAAAA,CAAAA;AAE9BrB,YAAAA,KAAAA,CAAM,wCAAwCU,MAAAA,EAAQL,IAAAA,CAAAA;AAEtDkB,YAAAA,MAAAA,CAAOC,MAAM,CAACjB,MAAAA,CAAOa,IAAI,EAAE;AAAE,gBAAA,CAACT,cAAcU;AAAgB,aAAA,CAAA;AAC9D,QAAA;AACF,IAAA;AAEQC,IAAAA,wBAAAA,CACNG,SAA+C,EACG;AAClD,QAAA,IAAI,EAAE,WAAA,IAAeA,SAAQ,CAAA,EAAI;AAC/B,YAAA,MAAM,IAAIC,KAAAA,CAAM,wDAAA,CAAA;AAClB,QAAA;AACF,IAAA;AAEQV,IAAAA,kBAAAA,CAAmBN,MAAc,EAA6C;;AAEpF,QAAA,MAAMiB,cAAAA,GAAiBJ,MAAAA,CAAOK,MAAM,CAASC,UAAUC,WAAW,CAAA;QAClE,MAAMC,eAAAA,GAAkBJ,cAAAA,CAAeK,QAAQ,CAACtB,MAAAA,CAAAA;AAEhD,QAAA,IAAI,CAACqB,eAAAA,EAAiB;YACpB,MAAM,IAAIL,MAAM,CAAC,4BAA4B,EAAEhB,MAAAA,CAAO,kBAAkB,EAAEiB,cAAAA,CAAAA,CAAgB,CAAA;AAC5F,QAAA;AACF,IAAA;AArDA,IAAA,WAAA,CACEM,UAAiC,EACjCC,cAAAA,GAA0C,IAAIC,yBAAyB,CACvE;QACA,IAAI,CAACjB,WAAW,GAAGe,UAAAA;QACnB,IAAI,CAACnB,eAAe,GAAGoB,cAAAA;AACzB,IAAA;AAgDF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"parameters.js","sources":["../../../../../../src/assemblers/document/path/path-item/operation/parameters.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport type { OpenAPIV3_1 } from 'openapi-types';\nimport type { Assembler } from '../../../..';\n\nimport type { OperationContext } from '../../../../../types';\nimport { createDebugger, zodToOpenAPI } from '../../../../../utils';\n\nconst debug = createDebugger('assembler:parameters');\n\ntype PathParameterObject = OpenAPIV3_1.ParameterObject & { in: 'path' };\ntype QueryParameterObject = OpenAPIV3_1.ParameterObject & { in: 'query' };\n\nexport class OperationParametersAssembler implements Assembler.Operation {\n assemble(context: OperationContext, route: Core.Route): void {\n debug('assembling parameters for %o %o...', route.method, route.path);\n\n const pathParameters = this._getPathParameters(route);\n debug('found %o path parameters', pathParameters.length);\n\n const queryParameters = this._getQueryParameters(route);\n debug('found %o query parameters', queryParameters.length);\n\n const parameters = [...pathParameters, ...queryParameters];\n debug('assembled %o parameters for %o %o', parameters.length, route.method, route.path);\n\n context.output.data.parameters = parameters;\n }\n\n private _getPathParameters(route: Core.Route): PathParameterObject[] {\n const { params } = route.request ?? {};\n\n // TODO: Allow auto inference (from path) if enabled through configuration\n if (!params) {\n return [];\n }\n\n const pathParams: PathParameterObject[] = [];\n\n for (const [name, zodSchema] of Object.entries(params)) {\n const required = !zodSchema.isOptional();\n const schema = zodToOpenAPI(zodSchema) as any;\n\n pathParams.push({ name, in: 'path', required, schema });\n }\n\n return pathParams;\n }\n\n private _getQueryParameters(route: Core.Route): QueryParameterObject[] {\n const { query } = route.request ?? {};\n\n if (!query) {\n return [];\n }\n\n const queryParams: QueryParameterObject[] = [];\n\n for (const [name, zodSchema] of Object.entries(query)) {\n const required = !zodSchema.isOptional();\n const schema = zodToOpenAPI(zodSchema) as any;\n const param: QueryParameterObject = { name, in: 'query', required, schema };\n\n // In Strapi, query params are always interpreted as query strings, which isn't supported by the specification\n // TODO: Make that configurable somehow\n Object.assign(param, { 'x-strapi-serialize': 'querystring' });\n\n queryParams.push(param);\n }\n\n return queryParams;\n }\n}\n"],"names":["debug","createDebugger","OperationParametersAssembler","assemble","context","route","method","path","pathParameters","_getPathParameters","length","queryParameters","_getQueryParameters","parameters","output","data","params","request","pathParams","name","zodSchema","Object","entries","required","isOptional","schema","zodToOpenAPI","push","in","query","queryParams","param","assign"],"mappings":";;;;;AAOA,MAAMA,QAAQC,sBAAe,CAAA,sBAAA,CAAA;AAKtB,MAAMC,4BAAAA,CAAAA;IACXC,QAASC,CAAAA,OAAyB,EAAEC,KAAiB,EAAQ;AAC3DL,QAAAA,KAAAA,CAAM,oCAAsCK,EAAAA,KAAAA,CAAMC,MAAM,EAAED,MAAME,IAAI,CAAA;AAEpE,QAAA,MAAMC,cAAiB,GAAA,IAAI,CAACC,kBAAkB,CAACJ,KAAAA,CAAAA;QAC/CL,KAAM,CAAA,0BAAA,EAA4BQ,eAAeE,MAAM,CAAA;AAEvD,QAAA,MAAMC,eAAkB,GAAA,IAAI,CAACC,mBAAmB,CAACP,KAAAA,CAAAA;QACjDL,KAAM,CAAA,2BAAA,EAA6BW,gBAAgBD,MAAM,CAAA;AAEzD,QAAA,MAAMG,UAAa,GAAA;AAAIL,YAAAA,GAAAA,cAAAA;AAAmBG,YAAAA,GAAAA;AAAgB,SAAA;QAC1DX,KAAM,CAAA,mCAAA,EAAqCa,WAAWH,MAAM,EAAEL,MAAMC,MAAM,EAAED,MAAME,IAAI,CAAA;AAEtFH,QAAAA,OAAAA,CAAQU,MAAM,CAACC,IAAI,CAACF,UAAU,GAAGA,UAAAA;AACnC;AAEQJ,IAAAA,kBAAAA,CAAmBJ,KAAiB,EAAyB;AACnE,QAAA,MAAM,EAAEW,MAAM,EAAE,GAAGX,KAAMY,CAAAA,OAAO,IAAI,EAAC;;AAGrC,QAAA,IAAI,CAACD,MAAQ,EAAA;AACX,YAAA,OAAO,EAAE;AACX;AAEA,QAAA,MAAME,aAAoC,EAAE;QAE5C,KAAK,MAAM,CAACC,IAAMC,EAAAA,SAAAA,CAAU,IAAIC,MAAOC,CAAAA,OAAO,CAACN,MAAS,CAAA,CAAA;YACtD,MAAMO,QAAAA,GAAW,CAACH,SAAAA,CAAUI,UAAU,EAAA;AACtC,YAAA,MAAMC,SAASC,gBAAaN,CAAAA,SAAAA,CAAAA;AAE5BF,YAAAA,UAAAA,CAAWS,IAAI,CAAC;AAAER,gBAAAA,IAAAA;gBAAMS,EAAI,EAAA,MAAA;AAAQL,gBAAAA,QAAAA;AAAUE,gBAAAA;AAAO,aAAA,CAAA;AACvD;QAEA,OAAOP,UAAAA;AACT;AAEQN,IAAAA,mBAAAA,CAAoBP,KAAiB,EAA0B;AACrE,QAAA,MAAM,EAAEwB,KAAK,EAAE,GAAGxB,KAAMY,CAAAA,OAAO,IAAI,EAAC;AAEpC,QAAA,IAAI,CAACY,KAAO,EAAA;AACV,YAAA,OAAO,EAAE;AACX;AAEA,QAAA,MAAMC,cAAsC,EAAE;QAE9C,KAAK,MAAM,CAACX,IAAMC,EAAAA,SAAAA,CAAU,IAAIC,MAAOC,CAAAA,OAAO,CAACO,KAAQ,CAAA,CAAA;YACrD,MAAMN,QAAAA,GAAW,CAACH,SAAAA,CAAUI,UAAU,EAAA;AACtC,YAAA,MAAMC,SAASC,gBAAaN,CAAAA,SAAAA,CAAAA;AAC5B,YAAA,MAAMW,KAA8B,GAAA;AAAEZ,gBAAAA,IAAAA;gBAAMS,EAAI,EAAA,OAAA;AAASL,gBAAAA,QAAAA;AAAUE,gBAAAA;AAAO,aAAA;;;YAI1EJ,MAAOW,CAAAA,MAAM,CAACD,KAAO,EAAA;gBAAE,oBAAsB,EAAA;AAAc,aAAA,CAAA;AAE3DD,YAAAA,WAAAA,CAAYH,IAAI,CAACI,KAAAA,CAAAA;AACnB;QAEA,OAAOD,WAAAA;AACT;AACF;;;;"}
1
+ {"version":3,"file":"parameters.js","sources":["../../../../../../src/assemblers/document/path/path-item/operation/parameters.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport type { OpenAPIV3_1 } from 'openapi-types';\nimport type { Assembler } from '../../../..';\n\nimport type { OperationContext } from '../../../../../types';\nimport { createDebugger, zodToOpenAPI } from '../../../../../utils';\n\nconst debug = createDebugger('assembler:parameters');\n\ntype PathParameterObject = OpenAPIV3_1.ParameterObject & { in: 'path' };\ntype QueryParameterObject = OpenAPIV3_1.ParameterObject & { in: 'query' };\n\nexport class OperationParametersAssembler implements Assembler.Operation {\n assemble(context: OperationContext, route: Core.Route): void {\n debug('assembling parameters for %o %o...', route.method, route.path);\n\n const pathParameters = this._getPathParameters(route);\n debug('found %o path parameters', pathParameters.length);\n\n const queryParameters = this._getQueryParameters(route);\n debug('found %o query parameters', queryParameters.length);\n\n const parameters = [...pathParameters, ...queryParameters];\n debug('assembled %o parameters for %o %o', parameters.length, route.method, route.path);\n\n context.output.data.parameters = parameters;\n }\n\n private _getPathParameters(route: Core.Route): PathParameterObject[] {\n const { params } = route.request ?? {};\n\n // TODO: Allow auto inference (from path) if enabled through configuration\n if (!params) {\n return [];\n }\n\n const pathParams: PathParameterObject[] = [];\n\n for (const [name, zodSchema] of Object.entries(params)) {\n const required = !zodSchema.isOptional();\n const schema = zodToOpenAPI(zodSchema) as any;\n\n pathParams.push({ name, in: 'path', required, schema });\n }\n\n return pathParams;\n }\n\n private _getQueryParameters(route: Core.Route): QueryParameterObject[] {\n const { query } = route.request ?? {};\n\n if (!query) {\n return [];\n }\n\n const queryParams: QueryParameterObject[] = [];\n\n for (const [name, zodSchema] of Object.entries(query)) {\n const required = !zodSchema.isOptional();\n const schema = zodToOpenAPI(zodSchema) as any;\n const param: QueryParameterObject = { name, in: 'query', required, schema };\n\n // In Strapi, query params are always interpreted as query strings, which isn't supported by the specification\n // TODO: Make that configurable somehow\n Object.assign(param, { 'x-strapi-serialize': 'querystring' });\n\n queryParams.push(param);\n }\n\n return queryParams;\n }\n}\n"],"names":["debug","createDebugger","OperationParametersAssembler","assemble","context","route","method","path","pathParameters","_getPathParameters","length","queryParameters","_getQueryParameters","parameters","output","data","params","request","pathParams","name","zodSchema","Object","entries","required","isOptional","schema","zodToOpenAPI","push","in","query","queryParams","param","assign"],"mappings":";;;;;AAOA,MAAMA,QAAQC,sBAAAA,CAAe,sBAAA,CAAA;AAKtB,MAAMC,4BAAAA,CAAAA;IACXC,QAAAA,CAASC,OAAyB,EAAEC,KAAiB,EAAQ;AAC3DL,QAAAA,KAAAA,CAAM,oCAAA,EAAsCK,KAAAA,CAAMC,MAAM,EAAED,MAAME,IAAI,CAAA;AAEpE,QAAA,MAAMC,cAAAA,GAAiB,IAAI,CAACC,kBAAkB,CAACJ,KAAAA,CAAAA;QAC/CL,KAAAA,CAAM,0BAAA,EAA4BQ,eAAeE,MAAM,CAAA;AAEvD,QAAA,MAAMC,eAAAA,GAAkB,IAAI,CAACC,mBAAmB,CAACP,KAAAA,CAAAA;QACjDL,KAAAA,CAAM,2BAAA,EAA6BW,gBAAgBD,MAAM,CAAA;AAEzD,QAAA,MAAMG,UAAAA,GAAa;AAAIL,YAAAA,GAAAA,cAAAA;AAAmBG,YAAAA,GAAAA;AAAgB,SAAA;QAC1DX,KAAAA,CAAM,mCAAA,EAAqCa,WAAWH,MAAM,EAAEL,MAAMC,MAAM,EAAED,MAAME,IAAI,CAAA;AAEtFH,QAAAA,OAAAA,CAAQU,MAAM,CAACC,IAAI,CAACF,UAAU,GAAGA,UAAAA;AACnC,IAAA;AAEQJ,IAAAA,kBAAAA,CAAmBJ,KAAiB,EAAyB;AACnE,QAAA,MAAM,EAAEW,MAAM,EAAE,GAAGX,KAAAA,CAAMY,OAAO,IAAI,EAAC;;AAGrC,QAAA,IAAI,CAACD,MAAAA,EAAQ;AACX,YAAA,OAAO,EAAE;AACX,QAAA;AAEA,QAAA,MAAME,aAAoC,EAAE;QAE5C,KAAK,MAAM,CAACC,IAAAA,EAAMC,SAAAA,CAAU,IAAIC,MAAAA,CAAOC,OAAO,CAACN,MAAAA,CAAAA,CAAS;YACtD,MAAMO,QAAAA,GAAW,CAACH,SAAAA,CAAUI,UAAU,EAAA;AACtC,YAAA,MAAMC,SAASC,gBAAAA,CAAaN,SAAAA,CAAAA;AAE5BF,YAAAA,UAAAA,CAAWS,IAAI,CAAC;AAAER,gBAAAA,IAAAA;gBAAMS,EAAAA,EAAI,MAAA;AAAQL,gBAAAA,QAAAA;AAAUE,gBAAAA;AAAO,aAAA,CAAA;AACvD,QAAA;QAEA,OAAOP,UAAAA;AACT,IAAA;AAEQN,IAAAA,mBAAAA,CAAoBP,KAAiB,EAA0B;AACrE,QAAA,MAAM,EAAEwB,KAAK,EAAE,GAAGxB,KAAAA,CAAMY,OAAO,IAAI,EAAC;AAEpC,QAAA,IAAI,CAACY,KAAAA,EAAO;AACV,YAAA,OAAO,EAAE;AACX,QAAA;AAEA,QAAA,MAAMC,cAAsC,EAAE;QAE9C,KAAK,MAAM,CAACX,IAAAA,EAAMC,SAAAA,CAAU,IAAIC,MAAAA,CAAOC,OAAO,CAACO,KAAAA,CAAAA,CAAQ;YACrD,MAAMN,QAAAA,GAAW,CAACH,SAAAA,CAAUI,UAAU,EAAA;AACtC,YAAA,MAAMC,SAASC,gBAAAA,CAAaN,SAAAA,CAAAA;AAC5B,YAAA,MAAMW,KAAAA,GAA8B;AAAEZ,gBAAAA,IAAAA;gBAAMS,EAAAA,EAAI,OAAA;AAASL,gBAAAA,QAAAA;AAAUE,gBAAAA;AAAO,aAAA;;;YAI1EJ,MAAAA,CAAOW,MAAM,CAACD,KAAAA,EAAO;gBAAE,oBAAA,EAAsB;AAAc,aAAA,CAAA;AAE3DD,YAAAA,WAAAA,CAAYH,IAAI,CAACI,KAAAA,CAAAA;AACnB,QAAA;QAEA,OAAOD,WAAAA;AACT,IAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"parameters.mjs","sources":["../../../../../../src/assemblers/document/path/path-item/operation/parameters.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport type { OpenAPIV3_1 } from 'openapi-types';\nimport type { Assembler } from '../../../..';\n\nimport type { OperationContext } from '../../../../../types';\nimport { createDebugger, zodToOpenAPI } from '../../../../../utils';\n\nconst debug = createDebugger('assembler:parameters');\n\ntype PathParameterObject = OpenAPIV3_1.ParameterObject & { in: 'path' };\ntype QueryParameterObject = OpenAPIV3_1.ParameterObject & { in: 'query' };\n\nexport class OperationParametersAssembler implements Assembler.Operation {\n assemble(context: OperationContext, route: Core.Route): void {\n debug('assembling parameters for %o %o...', route.method, route.path);\n\n const pathParameters = this._getPathParameters(route);\n debug('found %o path parameters', pathParameters.length);\n\n const queryParameters = this._getQueryParameters(route);\n debug('found %o query parameters', queryParameters.length);\n\n const parameters = [...pathParameters, ...queryParameters];\n debug('assembled %o parameters for %o %o', parameters.length, route.method, route.path);\n\n context.output.data.parameters = parameters;\n }\n\n private _getPathParameters(route: Core.Route): PathParameterObject[] {\n const { params } = route.request ?? {};\n\n // TODO: Allow auto inference (from path) if enabled through configuration\n if (!params) {\n return [];\n }\n\n const pathParams: PathParameterObject[] = [];\n\n for (const [name, zodSchema] of Object.entries(params)) {\n const required = !zodSchema.isOptional();\n const schema = zodToOpenAPI(zodSchema) as any;\n\n pathParams.push({ name, in: 'path', required, schema });\n }\n\n return pathParams;\n }\n\n private _getQueryParameters(route: Core.Route): QueryParameterObject[] {\n const { query } = route.request ?? {};\n\n if (!query) {\n return [];\n }\n\n const queryParams: QueryParameterObject[] = [];\n\n for (const [name, zodSchema] of Object.entries(query)) {\n const required = !zodSchema.isOptional();\n const schema = zodToOpenAPI(zodSchema) as any;\n const param: QueryParameterObject = { name, in: 'query', required, schema };\n\n // In Strapi, query params are always interpreted as query strings, which isn't supported by the specification\n // TODO: Make that configurable somehow\n Object.assign(param, { 'x-strapi-serialize': 'querystring' });\n\n queryParams.push(param);\n }\n\n return queryParams;\n }\n}\n"],"names":["debug","createDebugger","OperationParametersAssembler","assemble","context","route","method","path","pathParameters","_getPathParameters","length","queryParameters","_getQueryParameters","parameters","output","data","params","request","pathParams","name","zodSchema","Object","entries","required","isOptional","schema","zodToOpenAPI","push","in","query","queryParams","param","assign"],"mappings":";;;AAOA,MAAMA,QAAQC,cAAe,CAAA,sBAAA,CAAA;AAKtB,MAAMC,4BAAAA,CAAAA;IACXC,QAASC,CAAAA,OAAyB,EAAEC,KAAiB,EAAQ;AAC3DL,QAAAA,KAAAA,CAAM,oCAAsCK,EAAAA,KAAAA,CAAMC,MAAM,EAAED,MAAME,IAAI,CAAA;AAEpE,QAAA,MAAMC,cAAiB,GAAA,IAAI,CAACC,kBAAkB,CAACJ,KAAAA,CAAAA;QAC/CL,KAAM,CAAA,0BAAA,EAA4BQ,eAAeE,MAAM,CAAA;AAEvD,QAAA,MAAMC,eAAkB,GAAA,IAAI,CAACC,mBAAmB,CAACP,KAAAA,CAAAA;QACjDL,KAAM,CAAA,2BAAA,EAA6BW,gBAAgBD,MAAM,CAAA;AAEzD,QAAA,MAAMG,UAAa,GAAA;AAAIL,YAAAA,GAAAA,cAAAA;AAAmBG,YAAAA,GAAAA;AAAgB,SAAA;QAC1DX,KAAM,CAAA,mCAAA,EAAqCa,WAAWH,MAAM,EAAEL,MAAMC,MAAM,EAAED,MAAME,IAAI,CAAA;AAEtFH,QAAAA,OAAAA,CAAQU,MAAM,CAACC,IAAI,CAACF,UAAU,GAAGA,UAAAA;AACnC;AAEQJ,IAAAA,kBAAAA,CAAmBJ,KAAiB,EAAyB;AACnE,QAAA,MAAM,EAAEW,MAAM,EAAE,GAAGX,KAAMY,CAAAA,OAAO,IAAI,EAAC;;AAGrC,QAAA,IAAI,CAACD,MAAQ,EAAA;AACX,YAAA,OAAO,EAAE;AACX;AAEA,QAAA,MAAME,aAAoC,EAAE;QAE5C,KAAK,MAAM,CAACC,IAAMC,EAAAA,SAAAA,CAAU,IAAIC,MAAOC,CAAAA,OAAO,CAACN,MAAS,CAAA,CAAA;YACtD,MAAMO,QAAAA,GAAW,CAACH,SAAAA,CAAUI,UAAU,EAAA;AACtC,YAAA,MAAMC,SAASC,YAAaN,CAAAA,SAAAA,CAAAA;AAE5BF,YAAAA,UAAAA,CAAWS,IAAI,CAAC;AAAER,gBAAAA,IAAAA;gBAAMS,EAAI,EAAA,MAAA;AAAQL,gBAAAA,QAAAA;AAAUE,gBAAAA;AAAO,aAAA,CAAA;AACvD;QAEA,OAAOP,UAAAA;AACT;AAEQN,IAAAA,mBAAAA,CAAoBP,KAAiB,EAA0B;AACrE,QAAA,MAAM,EAAEwB,KAAK,EAAE,GAAGxB,KAAMY,CAAAA,OAAO,IAAI,EAAC;AAEpC,QAAA,IAAI,CAACY,KAAO,EAAA;AACV,YAAA,OAAO,EAAE;AACX;AAEA,QAAA,MAAMC,cAAsC,EAAE;QAE9C,KAAK,MAAM,CAACX,IAAMC,EAAAA,SAAAA,CAAU,IAAIC,MAAOC,CAAAA,OAAO,CAACO,KAAQ,CAAA,CAAA;YACrD,MAAMN,QAAAA,GAAW,CAACH,SAAAA,CAAUI,UAAU,EAAA;AACtC,YAAA,MAAMC,SAASC,YAAaN,CAAAA,SAAAA,CAAAA;AAC5B,YAAA,MAAMW,KAA8B,GAAA;AAAEZ,gBAAAA,IAAAA;gBAAMS,EAAI,EAAA,OAAA;AAASL,gBAAAA,QAAAA;AAAUE,gBAAAA;AAAO,aAAA;;;YAI1EJ,MAAOW,CAAAA,MAAM,CAACD,KAAO,EAAA;gBAAE,oBAAsB,EAAA;AAAc,aAAA,CAAA;AAE3DD,YAAAA,WAAAA,CAAYH,IAAI,CAACI,KAAAA,CAAAA;AACnB;QAEA,OAAOD,WAAAA;AACT;AACF;;;;"}
1
+ {"version":3,"file":"parameters.mjs","sources":["../../../../../../src/assemblers/document/path/path-item/operation/parameters.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport type { OpenAPIV3_1 } from 'openapi-types';\nimport type { Assembler } from '../../../..';\n\nimport type { OperationContext } from '../../../../../types';\nimport { createDebugger, zodToOpenAPI } from '../../../../../utils';\n\nconst debug = createDebugger('assembler:parameters');\n\ntype PathParameterObject = OpenAPIV3_1.ParameterObject & { in: 'path' };\ntype QueryParameterObject = OpenAPIV3_1.ParameterObject & { in: 'query' };\n\nexport class OperationParametersAssembler implements Assembler.Operation {\n assemble(context: OperationContext, route: Core.Route): void {\n debug('assembling parameters for %o %o...', route.method, route.path);\n\n const pathParameters = this._getPathParameters(route);\n debug('found %o path parameters', pathParameters.length);\n\n const queryParameters = this._getQueryParameters(route);\n debug('found %o query parameters', queryParameters.length);\n\n const parameters = [...pathParameters, ...queryParameters];\n debug('assembled %o parameters for %o %o', parameters.length, route.method, route.path);\n\n context.output.data.parameters = parameters;\n }\n\n private _getPathParameters(route: Core.Route): PathParameterObject[] {\n const { params } = route.request ?? {};\n\n // TODO: Allow auto inference (from path) if enabled through configuration\n if (!params) {\n return [];\n }\n\n const pathParams: PathParameterObject[] = [];\n\n for (const [name, zodSchema] of Object.entries(params)) {\n const required = !zodSchema.isOptional();\n const schema = zodToOpenAPI(zodSchema) as any;\n\n pathParams.push({ name, in: 'path', required, schema });\n }\n\n return pathParams;\n }\n\n private _getQueryParameters(route: Core.Route): QueryParameterObject[] {\n const { query } = route.request ?? {};\n\n if (!query) {\n return [];\n }\n\n const queryParams: QueryParameterObject[] = [];\n\n for (const [name, zodSchema] of Object.entries(query)) {\n const required = !zodSchema.isOptional();\n const schema = zodToOpenAPI(zodSchema) as any;\n const param: QueryParameterObject = { name, in: 'query', required, schema };\n\n // In Strapi, query params are always interpreted as query strings, which isn't supported by the specification\n // TODO: Make that configurable somehow\n Object.assign(param, { 'x-strapi-serialize': 'querystring' });\n\n queryParams.push(param);\n }\n\n return queryParams;\n }\n}\n"],"names":["debug","createDebugger","OperationParametersAssembler","assemble","context","route","method","path","pathParameters","_getPathParameters","length","queryParameters","_getQueryParameters","parameters","output","data","params","request","pathParams","name","zodSchema","Object","entries","required","isOptional","schema","zodToOpenAPI","push","in","query","queryParams","param","assign"],"mappings":";;;AAOA,MAAMA,QAAQC,cAAAA,CAAe,sBAAA,CAAA;AAKtB,MAAMC,4BAAAA,CAAAA;IACXC,QAAAA,CAASC,OAAyB,EAAEC,KAAiB,EAAQ;AAC3DL,QAAAA,KAAAA,CAAM,oCAAA,EAAsCK,KAAAA,CAAMC,MAAM,EAAED,MAAME,IAAI,CAAA;AAEpE,QAAA,MAAMC,cAAAA,GAAiB,IAAI,CAACC,kBAAkB,CAACJ,KAAAA,CAAAA;QAC/CL,KAAAA,CAAM,0BAAA,EAA4BQ,eAAeE,MAAM,CAAA;AAEvD,QAAA,MAAMC,eAAAA,GAAkB,IAAI,CAACC,mBAAmB,CAACP,KAAAA,CAAAA;QACjDL,KAAAA,CAAM,2BAAA,EAA6BW,gBAAgBD,MAAM,CAAA;AAEzD,QAAA,MAAMG,UAAAA,GAAa;AAAIL,YAAAA,GAAAA,cAAAA;AAAmBG,YAAAA,GAAAA;AAAgB,SAAA;QAC1DX,KAAAA,CAAM,mCAAA,EAAqCa,WAAWH,MAAM,EAAEL,MAAMC,MAAM,EAAED,MAAME,IAAI,CAAA;AAEtFH,QAAAA,OAAAA,CAAQU,MAAM,CAACC,IAAI,CAACF,UAAU,GAAGA,UAAAA;AACnC,IAAA;AAEQJ,IAAAA,kBAAAA,CAAmBJ,KAAiB,EAAyB;AACnE,QAAA,MAAM,EAAEW,MAAM,EAAE,GAAGX,KAAAA,CAAMY,OAAO,IAAI,EAAC;;AAGrC,QAAA,IAAI,CAACD,MAAAA,EAAQ;AACX,YAAA,OAAO,EAAE;AACX,QAAA;AAEA,QAAA,MAAME,aAAoC,EAAE;QAE5C,KAAK,MAAM,CAACC,IAAAA,EAAMC,SAAAA,CAAU,IAAIC,MAAAA,CAAOC,OAAO,CAACN,MAAAA,CAAAA,CAAS;YACtD,MAAMO,QAAAA,GAAW,CAACH,SAAAA,CAAUI,UAAU,EAAA;AACtC,YAAA,MAAMC,SAASC,YAAAA,CAAaN,SAAAA,CAAAA;AAE5BF,YAAAA,UAAAA,CAAWS,IAAI,CAAC;AAAER,gBAAAA,IAAAA;gBAAMS,EAAAA,EAAI,MAAA;AAAQL,gBAAAA,QAAAA;AAAUE,gBAAAA;AAAO,aAAA,CAAA;AACvD,QAAA;QAEA,OAAOP,UAAAA;AACT,IAAA;AAEQN,IAAAA,mBAAAA,CAAoBP,KAAiB,EAA0B;AACrE,QAAA,MAAM,EAAEwB,KAAK,EAAE,GAAGxB,KAAAA,CAAMY,OAAO,IAAI,EAAC;AAEpC,QAAA,IAAI,CAACY,KAAAA,EAAO;AACV,YAAA,OAAO,EAAE;AACX,QAAA;AAEA,QAAA,MAAMC,cAAsC,EAAE;QAE9C,KAAK,MAAM,CAACX,IAAAA,EAAMC,SAAAA,CAAU,IAAIC,MAAAA,CAAOC,OAAO,CAACO,KAAAA,CAAAA,CAAQ;YACrD,MAAMN,QAAAA,GAAW,CAACH,SAAAA,CAAUI,UAAU,EAAA;AACtC,YAAA,MAAMC,SAASC,YAAAA,CAAaN,SAAAA,CAAAA;AAC5B,YAAA,MAAMW,KAAAA,GAA8B;AAAEZ,gBAAAA,IAAAA;gBAAMS,EAAAA,EAAI,OAAA;AAASL,gBAAAA,QAAAA;AAAUE,gBAAAA;AAAO,aAAA;;;YAI1EJ,MAAAA,CAAOW,MAAM,CAACD,KAAAA,EAAO;gBAAE,oBAAA,EAAsB;AAAc,aAAA,CAAA;AAE3DD,YAAAA,WAAAA,CAAYH,IAAI,CAACI,KAAAA,CAAAA;AACnB,QAAA;QAEA,OAAOD,WAAAA;AACT,IAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"responses.js","sources":["../../../../../../src/assemblers/document/path/path-item/operation/responses.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport type { OpenAPIV3_1 } from 'openapi-types';\nimport type { Assembler } from '../../../..';\nimport type { OperationContext } from '../../../../../types';\nimport { zodToOpenAPI } from '../../../../../utils';\n\nexport class OperationResponsesAssembler implements Assembler.Operation {\n private get _errors() {\n return {\n 400: { description: 'Bad request' },\n 401: { description: 'Unauthorized' },\n 403: { description: 'Forbidden' },\n 404: { description: 'Not found' },\n 500: { description: 'Internal server error' },\n };\n }\n\n assemble(context: OperationContext, route: Core.Route): void {\n const { output } = context;\n\n const responses = { ...output.data.responses } satisfies OpenAPIV3_1.ResponsesObject;\n\n // Register common error responses first to allow manual overrides\n for (const [errorCode, response] of Object.entries(this._errors)) {\n responses[errorCode] = response;\n }\n\n if (route.response) {\n const schema = zodToOpenAPI(route.response);\n\n responses[200] = {\n description: 'OK',\n content: { 'application/json': { schema } },\n };\n }\n\n output.data.responses = responses;\n }\n}\n"],"names":["OperationResponsesAssembler","_errors","description","assemble","context","route","output","responses","data","errorCode","response","Object","entries","schema","zodToOpenAPI","content"],"mappings":";;;;;AAMO,MAAMA,2BAAAA,CAAAA;AACX,IAAA,IAAYC,OAAU,GAAA;QACpB,OAAO;YACL,GAAK,EAAA;gBAAEC,WAAa,EAAA;AAAc,aAAA;YAClC,GAAK,EAAA;gBAAEA,WAAa,EAAA;AAAe,aAAA;YACnC,GAAK,EAAA;gBAAEA,WAAa,EAAA;AAAY,aAAA;YAChC,GAAK,EAAA;gBAAEA,WAAa,EAAA;AAAY,aAAA;YAChC,GAAK,EAAA;gBAAEA,WAAa,EAAA;AAAwB;AAC9C,SAAA;AACF;IAEAC,QAASC,CAAAA,OAAyB,EAAEC,KAAiB,EAAQ;QAC3D,MAAM,EAAEC,MAAM,EAAE,GAAGF,OAAAA;AAEnB,QAAA,MAAMG,SAAY,GAAA;YAAE,GAAGD,MAAAA,CAAOE,IAAI,CAACD;AAAU,SAAA;;QAG7C,KAAK,MAAM,CAACE,SAAAA,EAAWC,QAAS,CAAA,IAAIC,MAAOC,CAAAA,OAAO,CAAC,IAAI,CAACX,OAAO,CAAG,CAAA;YAChEM,SAAS,CAACE,UAAU,GAAGC,QAAAA;AACzB;QAEA,IAAIL,KAAAA,CAAMK,QAAQ,EAAE;YAClB,MAAMG,MAAAA,GAASC,gBAAaT,CAAAA,KAAAA,CAAMK,QAAQ,CAAA;YAE1CH,SAAS,CAAC,IAAI,GAAG;gBACfL,WAAa,EAAA,IAAA;gBACba,OAAS,EAAA;oBAAE,kBAAoB,EAAA;AAAEF,wBAAAA;AAAO;AAAE;AAC5C,aAAA;AACF;QAEAP,MAAOE,CAAAA,IAAI,CAACD,SAAS,GAAGA,SAAAA;AAC1B;AACF;;;;"}
1
+ {"version":3,"file":"responses.js","sources":["../../../../../../src/assemblers/document/path/path-item/operation/responses.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport type { OpenAPIV3_1 } from 'openapi-types';\nimport type { Assembler } from '../../../..';\nimport type { OperationContext } from '../../../../../types';\nimport { zodToOpenAPI } from '../../../../../utils';\n\nexport class OperationResponsesAssembler implements Assembler.Operation {\n private get _errors() {\n return {\n 400: { description: 'Bad request' },\n 401: { description: 'Unauthorized' },\n 403: { description: 'Forbidden' },\n 404: { description: 'Not found' },\n 500: { description: 'Internal server error' },\n };\n }\n\n assemble(context: OperationContext, route: Core.Route): void {\n const { output } = context;\n\n const responses = { ...output.data.responses } satisfies OpenAPIV3_1.ResponsesObject;\n\n // Register common error responses first to allow manual overrides\n for (const [errorCode, response] of Object.entries(this._errors)) {\n responses[errorCode] = response;\n }\n\n if (route.response) {\n const schema = zodToOpenAPI(route.response);\n\n responses[200] = {\n description: 'OK',\n content: { 'application/json': { schema } },\n };\n }\n\n output.data.responses = responses;\n }\n}\n"],"names":["OperationResponsesAssembler","_errors","description","assemble","context","route","output","responses","data","errorCode","response","Object","entries","schema","zodToOpenAPI","content"],"mappings":";;;;;AAMO,MAAMA,2BAAAA,CAAAA;AACX,IAAA,IAAYC,OAAAA,GAAU;QACpB,OAAO;YACL,GAAA,EAAK;gBAAEC,WAAAA,EAAa;AAAc,aAAA;YAClC,GAAA,EAAK;gBAAEA,WAAAA,EAAa;AAAe,aAAA;YACnC,GAAA,EAAK;gBAAEA,WAAAA,EAAa;AAAY,aAAA;YAChC,GAAA,EAAK;gBAAEA,WAAAA,EAAa;AAAY,aAAA;YAChC,GAAA,EAAK;gBAAEA,WAAAA,EAAa;AAAwB;AAC9C,SAAA;AACF,IAAA;IAEAC,QAAAA,CAASC,OAAyB,EAAEC,KAAiB,EAAQ;QAC3D,MAAM,EAAEC,MAAM,EAAE,GAAGF,OAAAA;AAEnB,QAAA,MAAMG,SAAAA,GAAY;YAAE,GAAGD,MAAAA,CAAOE,IAAI,CAACD;AAAU,SAAA;;QAG7C,KAAK,MAAM,CAACE,SAAAA,EAAWC,QAAAA,CAAS,IAAIC,MAAAA,CAAOC,OAAO,CAAC,IAAI,CAACX,OAAO,CAAA,CAAG;YAChEM,SAAS,CAACE,UAAU,GAAGC,QAAAA;AACzB,QAAA;QAEA,IAAIL,KAAAA,CAAMK,QAAQ,EAAE;YAClB,MAAMG,MAAAA,GAASC,gBAAAA,CAAaT,KAAAA,CAAMK,QAAQ,CAAA;YAE1CH,SAAS,CAAC,IAAI,GAAG;gBACfL,WAAAA,EAAa,IAAA;gBACba,OAAAA,EAAS;oBAAE,kBAAA,EAAoB;AAAEF,wBAAAA;AAAO;AAAE;AAC5C,aAAA;AACF,QAAA;QAEAP,MAAAA,CAAOE,IAAI,CAACD,SAAS,GAAGA,SAAAA;AAC1B,IAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"responses.mjs","sources":["../../../../../../src/assemblers/document/path/path-item/operation/responses.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport type { OpenAPIV3_1 } from 'openapi-types';\nimport type { Assembler } from '../../../..';\nimport type { OperationContext } from '../../../../../types';\nimport { zodToOpenAPI } from '../../../../../utils';\n\nexport class OperationResponsesAssembler implements Assembler.Operation {\n private get _errors() {\n return {\n 400: { description: 'Bad request' },\n 401: { description: 'Unauthorized' },\n 403: { description: 'Forbidden' },\n 404: { description: 'Not found' },\n 500: { description: 'Internal server error' },\n };\n }\n\n assemble(context: OperationContext, route: Core.Route): void {\n const { output } = context;\n\n const responses = { ...output.data.responses } satisfies OpenAPIV3_1.ResponsesObject;\n\n // Register common error responses first to allow manual overrides\n for (const [errorCode, response] of Object.entries(this._errors)) {\n responses[errorCode] = response;\n }\n\n if (route.response) {\n const schema = zodToOpenAPI(route.response);\n\n responses[200] = {\n description: 'OK',\n content: { 'application/json': { schema } },\n };\n }\n\n output.data.responses = responses;\n }\n}\n"],"names":["OperationResponsesAssembler","_errors","description","assemble","context","route","output","responses","data","errorCode","response","Object","entries","schema","zodToOpenAPI","content"],"mappings":";;;AAMO,MAAMA,2BAAAA,CAAAA;AACX,IAAA,IAAYC,OAAU,GAAA;QACpB,OAAO;YACL,GAAK,EAAA;gBAAEC,WAAa,EAAA;AAAc,aAAA;YAClC,GAAK,EAAA;gBAAEA,WAAa,EAAA;AAAe,aAAA;YACnC,GAAK,EAAA;gBAAEA,WAAa,EAAA;AAAY,aAAA;YAChC,GAAK,EAAA;gBAAEA,WAAa,EAAA;AAAY,aAAA;YAChC,GAAK,EAAA;gBAAEA,WAAa,EAAA;AAAwB;AAC9C,SAAA;AACF;IAEAC,QAASC,CAAAA,OAAyB,EAAEC,KAAiB,EAAQ;QAC3D,MAAM,EAAEC,MAAM,EAAE,GAAGF,OAAAA;AAEnB,QAAA,MAAMG,SAAY,GAAA;YAAE,GAAGD,MAAAA,CAAOE,IAAI,CAACD;AAAU,SAAA;;QAG7C,KAAK,MAAM,CAACE,SAAAA,EAAWC,QAAS,CAAA,IAAIC,MAAOC,CAAAA,OAAO,CAAC,IAAI,CAACX,OAAO,CAAG,CAAA;YAChEM,SAAS,CAACE,UAAU,GAAGC,QAAAA;AACzB;QAEA,IAAIL,KAAAA,CAAMK,QAAQ,EAAE;YAClB,MAAMG,MAAAA,GAASC,YAAaT,CAAAA,KAAAA,CAAMK,QAAQ,CAAA;YAE1CH,SAAS,CAAC,IAAI,GAAG;gBACfL,WAAa,EAAA,IAAA;gBACba,OAAS,EAAA;oBAAE,kBAAoB,EAAA;AAAEF,wBAAAA;AAAO;AAAE;AAC5C,aAAA;AACF;QAEAP,MAAOE,CAAAA,IAAI,CAACD,SAAS,GAAGA,SAAAA;AAC1B;AACF;;;;"}
1
+ {"version":3,"file":"responses.mjs","sources":["../../../../../../src/assemblers/document/path/path-item/operation/responses.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport type { OpenAPIV3_1 } from 'openapi-types';\nimport type { Assembler } from '../../../..';\nimport type { OperationContext } from '../../../../../types';\nimport { zodToOpenAPI } from '../../../../../utils';\n\nexport class OperationResponsesAssembler implements Assembler.Operation {\n private get _errors() {\n return {\n 400: { description: 'Bad request' },\n 401: { description: 'Unauthorized' },\n 403: { description: 'Forbidden' },\n 404: { description: 'Not found' },\n 500: { description: 'Internal server error' },\n };\n }\n\n assemble(context: OperationContext, route: Core.Route): void {\n const { output } = context;\n\n const responses = { ...output.data.responses } satisfies OpenAPIV3_1.ResponsesObject;\n\n // Register common error responses first to allow manual overrides\n for (const [errorCode, response] of Object.entries(this._errors)) {\n responses[errorCode] = response;\n }\n\n if (route.response) {\n const schema = zodToOpenAPI(route.response);\n\n responses[200] = {\n description: 'OK',\n content: { 'application/json': { schema } },\n };\n }\n\n output.data.responses = responses;\n }\n}\n"],"names":["OperationResponsesAssembler","_errors","description","assemble","context","route","output","responses","data","errorCode","response","Object","entries","schema","zodToOpenAPI","content"],"mappings":";;;AAMO,MAAMA,2BAAAA,CAAAA;AACX,IAAA,IAAYC,OAAAA,GAAU;QACpB,OAAO;YACL,GAAA,EAAK;gBAAEC,WAAAA,EAAa;AAAc,aAAA;YAClC,GAAA,EAAK;gBAAEA,WAAAA,EAAa;AAAe,aAAA;YACnC,GAAA,EAAK;gBAAEA,WAAAA,EAAa;AAAY,aAAA;YAChC,GAAA,EAAK;gBAAEA,WAAAA,EAAa;AAAY,aAAA;YAChC,GAAA,EAAK;gBAAEA,WAAAA,EAAa;AAAwB;AAC9C,SAAA;AACF,IAAA;IAEAC,QAAAA,CAASC,OAAyB,EAAEC,KAAiB,EAAQ;QAC3D,MAAM,EAAEC,MAAM,EAAE,GAAGF,OAAAA;AAEnB,QAAA,MAAMG,SAAAA,GAAY;YAAE,GAAGD,MAAAA,CAAOE,IAAI,CAACD;AAAU,SAAA;;QAG7C,KAAK,MAAM,CAACE,SAAAA,EAAWC,QAAAA,CAAS,IAAIC,MAAAA,CAAOC,OAAO,CAAC,IAAI,CAACX,OAAO,CAAA,CAAG;YAChEM,SAAS,CAACE,UAAU,GAAGC,QAAAA;AACzB,QAAA;QAEA,IAAIL,KAAAA,CAAMK,QAAQ,EAAE;YAClB,MAAMG,MAAAA,GAASC,YAAAA,CAAaT,KAAAA,CAAMK,QAAQ,CAAA;YAE1CH,SAAS,CAAC,IAAI,GAAG;gBACfL,WAAAA,EAAa,IAAA;gBACba,OAAAA,EAAS;oBAAE,kBAAA,EAAoB;AAAEF,wBAAAA;AAAO;AAAE;AAC5C,aAAA;AACF,QAAA;QAEAP,MAAAA,CAAOE,IAAI,CAACD,SAAS,GAAGA,SAAAA;AAC1B,IAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"tags.js","sources":["../../../../../../src/assemblers/document/path/path-item/operation/tags.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nimport type { OperationContext } from '../../../../../types';\nimport { createDebugger } from '../../../../../utils';\nimport type { Assembler } from '../../../..';\n\nconst debug = createDebugger('assembler:tags');\n\nexport class OperationTagsAssembler implements Assembler.Operation {\n assemble(context: OperationContext, route: Core.Route): void {\n const {\n method,\n path,\n info: { apiName, pluginName },\n } = route;\n\n debug('assembling tags for %o %o...', method, path);\n\n const tags = [];\n\n if (apiName) {\n tags.push(apiName);\n }\n\n if (pluginName) {\n tags.push(pluginName);\n }\n\n debug('assembled %o tags for %o %o: %o', tags.length, method, path, tags);\n\n context.output.data.tags = tags;\n }\n}\n"],"names":["debug","createDebugger","OperationTagsAssembler","assemble","context","route","method","path","info","apiName","pluginName","tags","push","length","output","data"],"mappings":";;;;;;AAMA,MAAMA,QAAQC,sBAAe,CAAA,gBAAA,CAAA;AAEtB,MAAMC,sBAAAA,CAAAA;IACXC,QAASC,CAAAA,OAAyB,EAAEC,KAAiB,EAAQ;AAC3D,QAAA,MAAM,EACJC,MAAM,EACNC,IAAI,EACJC,IAAAA,EAAM,EAAEC,OAAO,EAAEC,UAAU,EAAE,EAC9B,GAAGL,KAAAA;AAEJL,QAAAA,KAAAA,CAAM,gCAAgCM,MAAQC,EAAAA,IAAAA,CAAAA;AAE9C,QAAA,MAAMI,OAAO,EAAE;AAEf,QAAA,IAAIF,OAAS,EAAA;AACXE,YAAAA,IAAAA,CAAKC,IAAI,CAACH,OAAAA,CAAAA;AACZ;AAEA,QAAA,IAAIC,UAAY,EAAA;AACdC,YAAAA,IAAAA,CAAKC,IAAI,CAACF,UAAAA,CAAAA;AACZ;AAEAV,QAAAA,KAAAA,CAAM,iCAAmCW,EAAAA,IAAAA,CAAKE,MAAM,EAAEP,QAAQC,IAAMI,EAAAA,IAAAA,CAAAA;AAEpEP,QAAAA,OAAAA,CAAQU,MAAM,CAACC,IAAI,CAACJ,IAAI,GAAGA,IAAAA;AAC7B;AACF;;;;"}
1
+ {"version":3,"file":"tags.js","sources":["../../../../../../src/assemblers/document/path/path-item/operation/tags.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nimport type { OperationContext } from '../../../../../types';\nimport { createDebugger } from '../../../../../utils';\nimport type { Assembler } from '../../../..';\n\nconst debug = createDebugger('assembler:tags');\n\nexport class OperationTagsAssembler implements Assembler.Operation {\n assemble(context: OperationContext, route: Core.Route): void {\n const {\n method,\n path,\n info: { apiName, pluginName },\n } = route;\n\n debug('assembling tags for %o %o...', method, path);\n\n const tags = [];\n\n if (apiName) {\n tags.push(apiName);\n }\n\n if (pluginName) {\n tags.push(pluginName);\n }\n\n debug('assembled %o tags for %o %o: %o', tags.length, method, path, tags);\n\n context.output.data.tags = tags;\n }\n}\n"],"names":["debug","createDebugger","OperationTagsAssembler","assemble","context","route","method","path","info","apiName","pluginName","tags","push","length","output","data"],"mappings":";;;;;;AAMA,MAAMA,QAAQC,sBAAAA,CAAe,gBAAA,CAAA;AAEtB,MAAMC,sBAAAA,CAAAA;IACXC,QAAAA,CAASC,OAAyB,EAAEC,KAAiB,EAAQ;AAC3D,QAAA,MAAM,EACJC,MAAM,EACNC,IAAI,EACJC,IAAAA,EAAM,EAAEC,OAAO,EAAEC,UAAU,EAAE,EAC9B,GAAGL,KAAAA;AAEJL,QAAAA,KAAAA,CAAM,gCAAgCM,MAAAA,EAAQC,IAAAA,CAAAA;AAE9C,QAAA,MAAMI,OAAO,EAAE;AAEf,QAAA,IAAIF,OAAAA,EAAS;AACXE,YAAAA,IAAAA,CAAKC,IAAI,CAACH,OAAAA,CAAAA;AACZ,QAAA;AAEA,QAAA,IAAIC,UAAAA,EAAY;AACdC,YAAAA,IAAAA,CAAKC,IAAI,CAACF,UAAAA,CAAAA;AACZ,QAAA;AAEAV,QAAAA,KAAAA,CAAM,iCAAA,EAAmCW,IAAAA,CAAKE,MAAM,EAAEP,QAAQC,IAAAA,EAAMI,IAAAA,CAAAA;AAEpEP,QAAAA,OAAAA,CAAQU,MAAM,CAACC,IAAI,CAACJ,IAAI,GAAGA,IAAAA;AAC7B,IAAA;AACF;;;;"}