{"version":3,"file":"uid.mjs","sources":["../../../server/src/controllers/uid.ts"],"sourcesContent":["import type { UID } from '@strapi/types';\nimport { getService } from '../utils';\nimport { getDocumentLocaleAndStatus } from './validation/dimensions';\n\nimport {\n  validateGenerateUIDInput,\n  validateCheckUIDAvailabilityInput,\n  validateUIDField,\n} from './validation';\n\nexport default {\n  async generateUID(ctx: any) {\n    const { contentTypeUID, field, data } = await validateGenerateUIDInput(ctx.request.body);\n\n    const { query = {} } = ctx.request;\n    const { locale } = await getDocumentLocaleAndStatus(query, contentTypeUID as UID.Schema);\n\n    await validateUIDField(contentTypeUID, field);\n\n    const uidService = getService('uid');\n\n    ctx.body = {\n      data: await uidService.generateUIDField({ contentTypeUID, field, data, locale }),\n    };\n  },\n\n  async checkUIDAvailability(ctx: any) {\n    const { contentTypeUID, field, value } = await validateCheckUIDAvailabilityInput(\n      ctx.request.body\n    );\n\n    const { query = {} } = ctx.request;\n    const { locale } = await getDocumentLocaleAndStatus(query, contentTypeUID as UID.Schema);\n\n    await validateUIDField(contentTypeUID, field);\n\n    const uidService = getService('uid');\n\n    const isAvailable = await uidService.checkUIDAvailability({\n      contentTypeUID,\n      field,\n      value,\n      locale,\n    });\n\n    ctx.body = {\n      isAvailable,\n      suggestion: !isAvailable\n        ? await uidService.findUniqueUID({ contentTypeUID, field, value, locale })\n        : null,\n    };\n  },\n};\n"],"names":["generateUID","ctx","contentTypeUID","field","data","validateGenerateUIDInput","request","body","query","locale","getDocumentLocaleAndStatus","validateUIDField","uidService","getService","generateUIDField","checkUIDAvailability","value","validateCheckUIDAvailabilityInput","isAvailable","suggestion","findUniqueUID"],"mappings":";;;;AAUA,UAAe;AACb,IAAA,MAAMA,aAAYC,GAAQ,EAAA;AACxB,QAAA,MAAM,EAAEC,cAAc,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAG,MAAMC,wBAAAA,CAAyBJ,GAAIK,CAAAA,OAAO,CAACC,IAAI,CAAA;AAEvF,QAAA,MAAM,EAAEC,KAAQ,GAAA,EAAE,EAAE,GAAGP,IAAIK,OAAO;AAClC,QAAA,MAAM,EAAEG,MAAM,EAAE,GAAG,MAAMC,2BAA2BF,KAAON,EAAAA,cAAAA,CAAAA;AAE3D,QAAA,MAAMS,iBAAiBT,cAAgBC,EAAAA,KAAAA,CAAAA;AAEvC,QAAA,MAAMS,aAAaC,UAAW,CAAA,KAAA,CAAA;AAE9BZ,QAAAA,GAAAA,CAAIM,IAAI,GAAG;YACTH,IAAM,EAAA,MAAMQ,UAAWE,CAAAA,gBAAgB,CAAC;AAAEZ,gBAAAA,cAAAA;AAAgBC,gBAAAA,KAAAA;AAAOC,gBAAAA,IAAAA;AAAMK,gBAAAA;AAAO,aAAA;AAChF,SAAA;AACF,KAAA;AAEA,IAAA,MAAMM,sBAAqBd,GAAQ,EAAA;AACjC,QAAA,MAAM,EAAEC,cAAc,EAAEC,KAAK,EAAEa,KAAK,EAAE,GAAG,MAAMC,iCAAAA,CAC7ChB,GAAIK,CAAAA,OAAO,CAACC,IAAI,CAAA;AAGlB,QAAA,MAAM,EAAEC,KAAQ,GAAA,EAAE,EAAE,GAAGP,IAAIK,OAAO;AAClC,QAAA,MAAM,EAAEG,MAAM,EAAE,GAAG,MAAMC,2BAA2BF,KAAON,EAAAA,cAAAA,CAAAA;AAE3D,QAAA,MAAMS,iBAAiBT,cAAgBC,EAAAA,KAAAA,CAAAA;AAEvC,QAAA,MAAMS,aAAaC,UAAW,CAAA,KAAA,CAAA;AAE9B,QAAA,MAAMK,WAAc,GAAA,MAAMN,UAAWG,CAAAA,oBAAoB,CAAC;AACxDb,YAAAA,cAAAA;AACAC,YAAAA,KAAAA;AACAa,YAAAA,KAAAA;AACAP,YAAAA;AACF,SAAA,CAAA;AAEAR,QAAAA,GAAAA,CAAIM,IAAI,GAAG;AACTW,YAAAA,WAAAA;AACAC,YAAAA,UAAAA,EAAY,CAACD,WAAAA,GACT,MAAMN,UAAAA,CAAWQ,aAAa,CAAC;AAAElB,gBAAAA,cAAAA;AAAgBC,gBAAAA,KAAAA;AAAOa,gBAAAA,KAAAA;AAAOP,gBAAAA;aAC/D,CAAA,GAAA;AACN,SAAA;AACF;AACF,CAAE;;;;"}