{"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    const schemaStore = context.strapi.contentAPISchemaRegistry;\n    const { extractedComponentSchemas } = context.registries;\n\n    for (const [media, zodSchema] of Object.entries(body)) {\n      content[media] = {\n        schema: zodToOpenAPI(zodSchema, schemaStore, { extractedComponentSchemas }) as any,\n      };\n    }\n\n    output.data.requestBody = { content };\n  }\n}\n"],"names":["BodyAssembler","assemble","context","route","output","body","request","content","schemaStore","strapi","contentAPISchemaRegistry","extractedComponentSchemas","registries","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;AAE9D,QAAA,MAAMC,WAAAA,GAAcN,OAAAA,CAAQO,MAAM,CAACC,wBAAwB;AAC3D,QAAA,MAAM,EAAEC,yBAAyB,EAAE,GAAGT,QAAQU,UAAU;QAExD,KAAK,MAAM,CAACC,KAAAA,EAAOC,SAAAA,CAAU,IAAIC,MAAAA,CAAOC,OAAO,CAACX,IAAAA,CAAAA,CAAO;YACrDE,OAAO,CAACM,MAAM,GAAG;gBACfI,MAAAA,EAAQC,YAAAA,CAAaJ,WAAWN,WAAAA,EAAa;AAAEG,oBAAAA;AAA0B,iBAAA;AAC3E,aAAA;AACF,QAAA;QAEAP,MAAAA,CAAOe,IAAI,CAACC,WAAW,GAAG;AAAEb,YAAAA;AAAQ,SAAA;AACtC,IAAA;AACF;;;;"}