{"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;;;;"}