{"version":3,"file":"ai-localization-jobs.mjs","sources":["../../../server/src/controllers/ai-localization-jobs.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nconst createAILocalizationJobsController = ({ strapi }: { strapi: Core.Strapi }) => {\n const getService = (name: string) => strapi.plugin('i18n').service(name);\n const aiLocalizationJobsService = getService('ai-localization-jobs');\n\n return {\n /**\n * Get a job for a singleType using the contentType\n * There is only 1 job per contentType\n */\n async getJobForSingleType(ctx: any) {\n const aiLocalizationsService = getService('ai-localizations');\n if ((await aiLocalizationsService.isEnabled()) === false) {\n return ctx.notFound();\n }\n\n const { contentType } = ctx.params;\n\n if (!contentType) {\n return ctx.badRequest('contentType is required');\n }\n\n try {\n const job = await aiLocalizationJobsService.getJobByContentType(contentType);\n\n ctx.body = {\n data: job,\n };\n } catch (error) {\n strapi.log.error('[AI Localizations Jobs] Error fetching job:', error);\n ctx.internalServerError('Failed to fetch AI localizations job');\n }\n },\n /**\n * Get a job for a collectionType using the documentId\n * There is only 1 job per documentId\n */\n async getJobForCollectionType(ctx: any) {\n const aiLocalizationsService = getService('ai-localizations');\n if ((await aiLocalizationsService.isEnabled()) === false) {\n return ctx.notFound();\n }\n\n const { documentId, contentType } = ctx.params;\n\n if (!documentId || !contentType) {\n return ctx.badRequest('Document ID and contentType are required');\n }\n\n try {\n const job = await aiLocalizationJobsService.getJobByDocument(contentType, documentId);\n\n ctx.body = {\n data: job,\n };\n } catch (error) {\n strapi.log.error('[AI Localizations Jobs] Error fetching job:', error);\n ctx.internalServerError('Failed to fetch AI localizations job');\n }\n },\n };\n};\n\nexport default createAILocalizationJobsController;\n"],"names":["createAILocalizationJobsController","strapi","getService","name","plugin","service","aiLocalizationJobsService","getJobForSingleType","ctx","aiLocalizationsService","isEnabled","notFound","contentType","params","badRequest","job","getJobByContentType","body","data","error","log","internalServerError","getJobForCollectionType","documentId","getJobByDocument"],"mappings":"AAEA,MAAMA,kCAAAA,GAAqC,CAAC,EAAEC,MAAM,EAA2B,GAAA;IAC7E,MAAMC,UAAAA,GAAa,CAACC,IAAAA,GAAiBF,MAAAA,CAAOG,MAAM,CAAC,MAAA,CAAA,CAAQC,OAAO,CAACF,IAAAA,CAAAA;AACnE,IAAA,MAAMG,4BAA4BJ,UAAAA,CAAW,sBAAA,CAAA;IAE7C,OAAO;AACL;;;QAIA,MAAMK,qBAAoBC,GAAQ,EAAA;AAChC,YAAA,MAAMC,yBAAyBP,UAAAA,CAAW,kBAAA,CAAA;AAC1C,YAAA,IAAI,MAAOO,sBAAAA,CAAuBC,SAAS,OAAQ,KAAA,EAAO;AACxD,gBAAA,OAAOF,IAAIG,QAAQ,EAAA;AACrB,YAAA;AAEA,YAAA,MAAM,EAAEC,WAAW,EAAE,GAAGJ,IAAIK,MAAM;AAElC,YAAA,IAAI,CAACD,WAAAA,EAAa;gBAChB,OAAOJ,GAAAA,CAAIM,UAAU,CAAC,yBAAA,CAAA;AACxB,YAAA;YAEA,IAAI;AACF,gBAAA,MAAMC,GAAAA,GAAM,MAAMT,yBAAAA,CAA0BU,mBAAmB,CAACJ,WAAAA,CAAAA;AAEhEJ,gBAAAA,GAAAA,CAAIS,IAAI,GAAG;oBACTC,IAAAA,EAAMH;AACR,iBAAA;AACF,YAAA,CAAA,CAAE,OAAOI,KAAAA,EAAO;AACdlB,gBAAAA,MAAAA,CAAOmB,GAAG,CAACD,KAAK,CAAC,6CAAA,EAA+CA,KAAAA,CAAAA;AAChEX,gBAAAA,GAAAA,CAAIa,mBAAmB,CAAC,sCAAA,CAAA;AAC1B,YAAA;AACF,QAAA,CAAA;AACA;;;QAIA,MAAMC,yBAAwBd,GAAQ,EAAA;AACpC,YAAA,MAAMC,yBAAyBP,UAAAA,CAAW,kBAAA,CAAA;AAC1C,YAAA,IAAI,MAAOO,sBAAAA,CAAuBC,SAAS,OAAQ,KAAA,EAAO;AACxD,gBAAA,OAAOF,IAAIG,QAAQ,EAAA;AACrB,YAAA;AAEA,YAAA,MAAM,EAAEY,UAAU,EAAEX,WAAW,EAAE,GAAGJ,IAAIK,MAAM;YAE9C,IAAI,CAACU,UAAAA,IAAc,CAACX,WAAAA,EAAa;gBAC/B,OAAOJ,GAAAA,CAAIM,UAAU,CAAC,0CAAA,CAAA;AACxB,YAAA;YAEA,IAAI;AACF,gBAAA,MAAMC,GAAAA,GAAM,MAAMT,yBAAAA,CAA0BkB,gBAAgB,CAACZ,WAAAA,EAAaW,UAAAA,CAAAA;AAE1Ef,gBAAAA,GAAAA,CAAIS,IAAI,GAAG;oBACTC,IAAAA,EAAMH;AACR,iBAAA;AACF,YAAA,CAAA,CAAE,OAAOI,KAAAA,EAAO;AACdlB,gBAAAA,MAAAA,CAAOmB,GAAG,CAACD,KAAK,CAAC,6CAAA,EAA+CA,KAAAA,CAAAA;AAChEX,gBAAAA,GAAAA,CAAIa,mBAAmB,CAAC,sCAAA,CAAA;AAC1B,YAAA;AACF,QAAA;AACF,KAAA;AACF;;;;"}