{"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, context.strapi.contentAPISchemaRegistry, {\n        extractedComponentSchemas: context.registries.extractedComponentSchemas,\n      });\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","strapi","contentAPISchemaRegistry","extractedComponentSchemas","registries","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,aAAaT,KAAAA,CAAMK,QAAQ,EAAEN,OAAAA,CAAQW,MAAM,CAACC,wBAAwB,EAAE;gBACnFC,yBAAAA,EAA2Bb,OAAAA,CAAQc,UAAU,CAACD;AAChD,aAAA,CAAA;YAEAV,SAAS,CAAC,IAAI,GAAG;gBACfL,WAAAA,EAAa,IAAA;gBACbiB,OAAAA,EAAS;oBAAE,kBAAA,EAAoB;AAAEN,wBAAAA;AAAO;AAAE;AAC5C,aAAA;AACF,QAAA;QAEAP,MAAAA,CAAOE,IAAI,CAACD,SAAS,GAAGA,SAAAA;AAC1B,IAAA;AACF;;;;"}