{"version":3,"file":"i18n.mjs","sources":["../../src/migrations/i18n.ts"],"sourcesContent":["import { Input } from './draft-publish';\n\n// if i18N enabled set default locale\nconst enableI18n = async ({ oldContentTypes, contentTypes }: Input) => {\n  const { isLocalizedContentType } = strapi.plugin('i18n')?.service('content-types') ?? {};\n  const { getDefaultLocale } = strapi.plugin('i18n')?.service('locales') ?? {};\n\n  if (!oldContentTypes) {\n    return;\n  }\n\n  for (const uid in contentTypes) {\n    if (!oldContentTypes[uid]) {\n      continue;\n    }\n\n    const oldContentType = oldContentTypes[uid];\n    const contentType = contentTypes[uid];\n\n    if (!isLocalizedContentType(oldContentType) && isLocalizedContentType(contentType)) {\n      const defaultLocale = await getDefaultLocale();\n\n      await strapi.db.query(uid).updateMany({\n        where: { locale: null },\n        data: { locale: defaultLocale },\n      });\n    }\n  }\n};\n\nconst disableI18n = async ({ oldContentTypes, contentTypes }: Input) => {\n  const { isLocalizedContentType } = strapi.plugin('i18n')?.service('content-types') ?? {};\n  const { getDefaultLocale } = strapi.plugin('i18n')?.service('locales') ?? {};\n\n  if (!oldContentTypes) {\n    return;\n  }\n\n  for (const uid in contentTypes) {\n    if (!oldContentTypes[uid]) {\n      continue;\n    }\n\n    const oldContentType = oldContentTypes[uid];\n    const contentType = contentTypes[uid];\n\n    // if i18N is disabled remove non default locales before sync\n    if (isLocalizedContentType(oldContentType) && !isLocalizedContentType(contentType)) {\n      const defaultLocale = await getDefaultLocale();\n\n      await Promise.all([\n        // Delete all entities that are not in the default locale\n        strapi.db.query(uid).deleteMany({\n          where: { locale: { $ne: defaultLocale } },\n        }),\n        // Set locale to null for the rest\n        strapi.db.query(uid).updateMany({\n          where: { locale: { $eq: defaultLocale } },\n          data: { locale: null },\n        }),\n      ]);\n    }\n  }\n};\n\nexport { enableI18n as enable, disableI18n as disable };\n"],"names":["enableI18n","oldContentTypes","contentTypes","isLocalizedContentType","strapi","plugin","service","getDefaultLocale","uid","oldContentType","contentType","defaultLocale","db","query","updateMany","where","locale","data","disableI18n","Promise","all","deleteMany","$ne","$eq"],"mappings":"AAEA;AACA,MAAMA,aAAa,OAAO,EAAEC,eAAe,EAAEC,YAAY,EAAS,GAAA;IAChE,MAAM,EAAEC,sBAAsB,EAAE,GAAGC,MAAAA,CAAOC,MAAM,CAAC,MAAA,CAAA,EAASC,OAAAA,CAAQ,eAAA,CAAA,IAAoB,EAAC;IACvF,MAAM,EAAEC,gBAAgB,EAAE,GAAGH,MAAAA,CAAOC,MAAM,CAAC,MAAA,CAAA,EAASC,OAAAA,CAAQ,SAAA,CAAA,IAAc,EAAC;AAE3E,IAAA,IAAI,CAACL,eAAAA,EAAiB;AACpB,QAAA;AACF,IAAA;IAEA,IAAK,MAAMO,OAAON,YAAAA,CAAc;AAC9B,QAAA,IAAI,CAACD,eAAe,CAACO,GAAAA,CAAI,EAAE;AACzB,YAAA;AACF,QAAA;QAEA,MAAMC,cAAAA,GAAiBR,eAAe,CAACO,GAAAA,CAAI;QAC3C,MAAME,WAAAA,GAAcR,YAAY,CAACM,GAAAA,CAAI;AAErC,QAAA,IAAI,CAACL,sBAAAA,CAAuBM,cAAAA,CAAAA,IAAmBN,sBAAAA,CAAuBO,WAAAA,CAAAA,EAAc;AAClF,YAAA,MAAMC,gBAAgB,MAAMJ,gBAAAA,EAAAA;AAE5B,YAAA,MAAMH,OAAOQ,EAAE,CAACC,KAAK,CAACL,GAAAA,CAAAA,CAAKM,UAAU,CAAC;gBACpCC,KAAAA,EAAO;oBAAEC,MAAAA,EAAQ;AAAK,iBAAA;gBACtBC,IAAAA,EAAM;oBAAED,MAAAA,EAAQL;AAAc;AAChC,aAAA,CAAA;AACF,QAAA;AACF,IAAA;AACF;AAEA,MAAMO,cAAc,OAAO,EAAEjB,eAAe,EAAEC,YAAY,EAAS,GAAA;IACjE,MAAM,EAAEC,sBAAsB,EAAE,GAAGC,MAAAA,CAAOC,MAAM,CAAC,MAAA,CAAA,EAASC,OAAAA,CAAQ,eAAA,CAAA,IAAoB,EAAC;IACvF,MAAM,EAAEC,gBAAgB,EAAE,GAAGH,MAAAA,CAAOC,MAAM,CAAC,MAAA,CAAA,EAASC,OAAAA,CAAQ,SAAA,CAAA,IAAc,EAAC;AAE3E,IAAA,IAAI,CAACL,eAAAA,EAAiB;AACpB,QAAA;AACF,IAAA;IAEA,IAAK,MAAMO,OAAON,YAAAA,CAAc;AAC9B,QAAA,IAAI,CAACD,eAAe,CAACO,GAAAA,CAAI,EAAE;AACzB,YAAA;AACF,QAAA;QAEA,MAAMC,cAAAA,GAAiBR,eAAe,CAACO,GAAAA,CAAI;QAC3C,MAAME,WAAAA,GAAcR,YAAY,CAACM,GAAAA,CAAI;;AAGrC,QAAA,IAAIL,sBAAAA,CAAuBM,cAAAA,CAAAA,IAAmB,CAACN,sBAAAA,CAAuBO,WAAAA,CAAAA,EAAc;AAClF,YAAA,MAAMC,gBAAgB,MAAMJ,gBAAAA,EAAAA;YAE5B,MAAMY,OAAAA,CAAQC,GAAG,CAAC;;AAEhBhB,gBAAAA,MAAAA,CAAOQ,EAAE,CAACC,KAAK,CAACL,GAAAA,CAAAA,CAAKa,UAAU,CAAC;oBAC9BN,KAAAA,EAAO;wBAAEC,MAAAA,EAAQ;4BAAEM,GAAAA,EAAKX;AAAc;AAAE;AAC1C,iBAAA,CAAA;;AAEAP,gBAAAA,MAAAA,CAAOQ,EAAE,CAACC,KAAK,CAACL,GAAAA,CAAAA,CAAKM,UAAU,CAAC;oBAC9BC,KAAAA,EAAO;wBAAEC,MAAAA,EAAQ;4BAAEO,GAAAA,EAAKZ;AAAc;AAAE,qBAAA;oBACxCM,IAAAA,EAAM;wBAAED,MAAAA,EAAQ;AAAK;AACvB,iBAAA;AACD,aAAA,CAAA;AACH,QAAA;AACF,IAAA;AACF;;;;"}