{"version":3,"file":"dimensions.mjs","sources":["../../../../server/src/controllers/validation/dimensions.ts"],"sourcesContent":["import { z, contentTypes } from '@strapi/utils';\nimport type { UID } from '@strapi/types';\nimport { validateZodAsync } from '../../validation/zod';\n\ninterface Options {\n allowMultipleLocales?: boolean;\n}\n\nconst singleLocaleSchema = z.string().nullable().optional();\n\nconst multipleLocaleSchema = z.union([z.array(z.string()), z.string().nullable()]).optional();\n\nconst statusSchema = z.enum(['draft', 'published'], { error: 'Invalid status' }).optional();\n\n/**\n * From a request or query object, validates and returns the locale and status of the document.\n * If the status is not provided and Draft & Publish is disabled, it defaults to 'published'.\n */\nexport const getDocumentLocaleAndStatus = async (\n request: any,\n model: UID.Schema,\n opts: Options = { allowMultipleLocales: false }\n) => {\n const { allowMultipleLocales } = opts;\n const { locale, status: providedStatus, ...rest } = request || {};\n\n const defaultStatus = contentTypes.hasDraftAndPublish(strapi.getModel(model))\n ? undefined\n : 'published';\n const status = providedStatus !== undefined ? providedStatus : defaultStatus;\n\n const schema = z.object({\n locale: allowMultipleLocales ? multipleLocaleSchema : singleLocaleSchema,\n status: statusSchema,\n });\n\n await validateZodAsync(schema)(request);\n\n return { locale, status, ...rest };\n};\n"],"names":["singleLocaleSchema","z","string","nullable","optional","multipleLocaleSchema","union","array","statusSchema","enum","error","getDocumentLocaleAndStatus","request","model","opts","allowMultipleLocales","locale","status","providedStatus","rest","defaultStatus","contentTypes","hasDraftAndPublish","strapi","getModel","undefined","schema","object","validateZodAsync"],"mappings":";;;AAQA,MAAMA,qBAAqBC,CAAAA,CAAEC,MAAM,EAAA,CAAGC,QAAQ,GAAGC,QAAQ,EAAA;AAEzD,MAAMC,oBAAAA,GAAuBJ,CAAAA,CAAEK,KAAK,CAAC;IAACL,CAAAA,CAAEM,KAAK,CAACN,CAAAA,CAAEC,MAAM,EAAA,CAAA;IAAKD,CAAAA,CAAEC,MAAM,GAAGC,QAAQ;AAAG,CAAA,CAAA,CAAEC,QAAQ,EAAA;AAE3F,MAAMI,YAAAA,GAAeP,CAAAA,CAAEQ,IAAI,CAAC;AAAC,IAAA,OAAA;AAAS,IAAA;CAAY,EAAE;IAAEC,KAAAA,EAAO;AAAiB,CAAA,CAAA,CAAGN,QAAQ,EAAA;AAEzF;;;AAGC,IACM,MAAMO,0BAAAA,GAA6B,OACxCC,OAAAA,EACAC,OACAC,IAAAA,GAAgB;IAAEC,oBAAAA,EAAsB;AAAM,CAAC,GAAA;IAE/C,MAAM,EAAEA,oBAAoB,EAAE,GAAGD,IAAAA;IACjC,MAAM,EAAEE,MAAM,EAAEC,MAAAA,EAAQC,cAAc,EAAE,GAAGC,IAAAA,EAAM,GAAGP,OAAAA,IAAW,EAAC;IAEhE,MAAMQ,aAAAA,GAAgBC,aAAaC,kBAAkB,CAACC,OAAOC,QAAQ,CAACX,UAClEY,SAAAA,GACA,WAAA;IACJ,MAAMR,MAAAA,GAASC,cAAAA,KAAmBO,SAAAA,GAAYP,cAAAA,GAAiBE,aAAAA;IAE/D,MAAMM,MAAAA,GAASzB,CAAAA,CAAE0B,MAAM,CAAC;AACtBX,QAAAA,MAAAA,EAAQD,uBAAuBV,oBAAAA,GAAuBL,kBAAAA;QACtDiB,MAAAA,EAAQT;AACV,KAAA,CAAA;AAEA,IAAA,MAAMoB,iBAAiBF,MAAAA,CAAAA,CAAQd,OAAAA,CAAAA;IAE/B,OAAO;AAAEI,QAAAA,MAAAA;AAAQC,QAAAA,MAAAA;AAAQ,QAAA,GAAGE;AAAK,KAAA;AACnC;;;;"}