@strapi/i18n 0.0.0-experimental.8ba06b448e7b82ad8505f461edf528901aea9e1e → 0.0.0-experimental.8bf99b7c43ed372264c198d347a2ada9dfed174d

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/dist/admin/components/BulkLocaleActionModal.js +262 -0
  2. package/dist/admin/components/BulkLocaleActionModal.js.map +1 -0
  3. package/dist/admin/components/BulkLocaleActionModal.mjs +260 -0
  4. package/dist/admin/components/BulkLocaleActionModal.mjs.map +1 -0
  5. package/dist/admin/components/CMHeaderActions.js +721 -0
  6. package/dist/admin/components/CMHeaderActions.js.map +1 -0
  7. package/dist/admin/components/CMHeaderActions.mjs +696 -0
  8. package/dist/admin/components/CMHeaderActions.mjs.map +1 -0
  9. package/dist/admin/components/CMListViewModalsAdditionalInformation.js +69 -0
  10. package/dist/admin/components/CMListViewModalsAdditionalInformation.js.map +1 -0
  11. package/dist/admin/components/CMListViewModalsAdditionalInformation.mjs +65 -0
  12. package/dist/admin/components/CMListViewModalsAdditionalInformation.mjs.map +1 -0
  13. package/dist/admin/components/CheckboxConfirmation.js +155 -0
  14. package/dist/admin/components/CheckboxConfirmation.js.map +1 -0
  15. package/dist/admin/components/CheckboxConfirmation.mjs +134 -0
  16. package/dist/admin/components/CheckboxConfirmation.mjs.map +1 -0
  17. package/dist/admin/components/CreateLocale.js +395 -0
  18. package/dist/admin/components/CreateLocale.js.map +1 -0
  19. package/dist/admin/components/CreateLocale.mjs +369 -0
  20. package/dist/admin/components/CreateLocale.mjs.map +1 -0
  21. package/dist/admin/components/DeleteLocale.js +90 -0
  22. package/dist/admin/components/DeleteLocale.js.map +1 -0
  23. package/dist/admin/components/DeleteLocale.mjs +69 -0
  24. package/dist/admin/components/DeleteLocale.mjs.map +1 -0
  25. package/dist/admin/components/EditLocale.js +212 -0
  26. package/dist/admin/components/EditLocale.js.map +1 -0
  27. package/dist/admin/components/EditLocale.mjs +190 -0
  28. package/dist/admin/components/EditLocale.mjs.map +1 -0
  29. package/dist/admin/components/LocaleListCell.js +82 -0
  30. package/dist/admin/components/LocaleListCell.js.map +1 -0
  31. package/dist/admin/components/LocaleListCell.mjs +80 -0
  32. package/dist/admin/components/LocaleListCell.mjs.map +1 -0
  33. package/dist/admin/components/LocalePicker.js +98 -0
  34. package/dist/admin/components/LocalePicker.js.map +1 -0
  35. package/dist/admin/components/LocalePicker.mjs +77 -0
  36. package/dist/admin/components/LocalePicker.mjs.map +1 -0
  37. package/dist/admin/components/LocaleTable.js +143 -0
  38. package/dist/admin/components/LocaleTable.js.map +1 -0
  39. package/dist/admin/components/LocaleTable.mjs +122 -0
  40. package/dist/admin/components/LocaleTable.mjs.map +1 -0
  41. package/dist/admin/constants.js +37 -0
  42. package/dist/admin/constants.js.map +1 -0
  43. package/dist/admin/constants.mjs +35 -0
  44. package/dist/admin/constants.mjs.map +1 -0
  45. package/dist/admin/contentManagerHooks/editView.js +106 -0
  46. package/dist/admin/contentManagerHooks/editView.js.map +1 -0
  47. package/dist/admin/contentManagerHooks/editView.mjs +85 -0
  48. package/dist/admin/contentManagerHooks/editView.mjs.map +1 -0
  49. package/dist/admin/contentManagerHooks/listView.js +43 -0
  50. package/dist/admin/contentManagerHooks/listView.js.map +1 -0
  51. package/dist/admin/contentManagerHooks/listView.mjs +41 -0
  52. package/dist/admin/contentManagerHooks/listView.mjs.map +1 -0
  53. package/dist/admin/contentReleasesHooks/releaseDetailsView.js +20 -0
  54. package/dist/admin/contentReleasesHooks/releaseDetailsView.js.map +1 -0
  55. package/dist/admin/contentReleasesHooks/releaseDetailsView.mjs +18 -0
  56. package/dist/admin/contentReleasesHooks/releaseDetailsView.mjs.map +1 -0
  57. package/dist/admin/hooks/useI18n.js +78 -0
  58. package/dist/admin/hooks/useI18n.js.map +1 -0
  59. package/dist/admin/hooks/useI18n.mjs +57 -0
  60. package/dist/admin/hooks/useI18n.mjs.map +1 -0
  61. package/dist/admin/index.js +220 -16
  62. package/dist/admin/index.js.map +1 -1
  63. package/dist/admin/index.mjs +202 -15
  64. package/dist/admin/index.mjs.map +1 -1
  65. package/dist/admin/middlewares/extendCTBAttributeInitialData.js +71 -0
  66. package/dist/admin/middlewares/extendCTBAttributeInitialData.js.map +1 -0
  67. package/dist/admin/middlewares/extendCTBAttributeInitialData.mjs +69 -0
  68. package/dist/admin/middlewares/extendCTBAttributeInitialData.mjs.map +1 -0
  69. package/dist/admin/middlewares/extendCTBInitialData.js +40 -0
  70. package/dist/admin/middlewares/extendCTBInitialData.js.map +1 -0
  71. package/dist/admin/middlewares/extendCTBInitialData.mjs +38 -0
  72. package/dist/admin/middlewares/extendCTBInitialData.mjs.map +1 -0
  73. package/dist/admin/middlewares/rbac-middleware.js +49 -0
  74. package/dist/admin/middlewares/rbac-middleware.js.map +1 -0
  75. package/dist/admin/middlewares/rbac-middleware.mjs +28 -0
  76. package/dist/admin/middlewares/rbac-middleware.mjs.map +1 -0
  77. package/dist/admin/pages/SettingsPage.js +107 -0
  78. package/dist/admin/pages/SettingsPage.js.map +1 -0
  79. package/dist/admin/pages/SettingsPage.mjs +85 -0
  80. package/dist/admin/pages/SettingsPage.mjs.map +1 -0
  81. package/dist/admin/pluginId.js +6 -0
  82. package/dist/admin/pluginId.js.map +1 -0
  83. package/dist/admin/pluginId.mjs +4 -0
  84. package/dist/admin/pluginId.mjs.map +1 -0
  85. package/dist/admin/services/api.js +12 -0
  86. package/dist/admin/services/api.js.map +1 -0
  87. package/dist/admin/services/api.mjs +10 -0
  88. package/dist/admin/services/api.mjs.map +1 -0
  89. package/dist/admin/services/locales.js +70 -0
  90. package/dist/admin/services/locales.js.map +1 -0
  91. package/dist/admin/services/locales.mjs +64 -0
  92. package/dist/admin/services/locales.mjs.map +1 -0
  93. package/dist/admin/services/relations.js +23 -0
  94. package/dist/admin/services/relations.js.map +1 -0
  95. package/dist/admin/services/relations.mjs +21 -0
  96. package/dist/admin/services/relations.mjs.map +1 -0
  97. package/dist/admin/src/utils/schemas.d.ts +424 -16
  98. package/dist/admin/{chunks/de-nEMWvIiY.js → translations/de.json.js} +2 -2
  99. package/dist/admin/translations/de.json.js.map +1 -0
  100. package/dist/admin/{chunks/de-Cm8mYdaO.mjs → translations/de.json.mjs} +1 -1
  101. package/dist/admin/translations/de.json.mjs.map +1 -0
  102. package/dist/admin/{chunks/dk-CYATLPVe.js → translations/dk.json.js} +2 -2
  103. package/dist/admin/translations/dk.json.js.map +1 -0
  104. package/dist/admin/{chunks/dk-BeUFOegB.mjs → translations/dk.json.mjs} +1 -1
  105. package/dist/admin/translations/dk.json.mjs.map +1 -0
  106. package/dist/admin/{chunks/en-CG5cUCbD.js → translations/en.json.js} +2 -2
  107. package/dist/admin/translations/en.json.js.map +1 -0
  108. package/dist/admin/{chunks/en-eWSaCeOb.mjs → translations/en.json.mjs} +1 -1
  109. package/dist/admin/translations/en.json.mjs.map +1 -0
  110. package/dist/admin/{chunks/es-CWsogTGm.js → translations/es.json.js} +2 -2
  111. package/dist/admin/translations/es.json.js.map +1 -0
  112. package/dist/admin/{chunks/es-DqF_IdAc.mjs → translations/es.json.mjs} +1 -1
  113. package/dist/admin/translations/es.json.mjs.map +1 -0
  114. package/dist/admin/{chunks/fr-CC7UFcYd.js → translations/fr.json.js} +2 -2
  115. package/dist/admin/translations/fr.json.js.map +1 -0
  116. package/dist/admin/{chunks/fr-CyARbZ3c.mjs → translations/fr.json.mjs} +1 -1
  117. package/dist/admin/translations/fr.json.mjs.map +1 -0
  118. package/dist/admin/{chunks/ko-XwGmfhoq.js → translations/ko.json.js} +2 -2
  119. package/dist/admin/translations/ko.json.js.map +1 -0
  120. package/dist/admin/{chunks/ko-Ax4NSedM.mjs → translations/ko.json.mjs} +1 -1
  121. package/dist/admin/translations/ko.json.mjs.map +1 -0
  122. package/dist/admin/{chunks/pl-B_vzY_ZB.js → translations/pl.json.js} +2 -2
  123. package/dist/admin/translations/pl.json.js.map +1 -0
  124. package/dist/admin/{chunks/pl-B-aqvMqL.mjs → translations/pl.json.mjs} +1 -1
  125. package/dist/admin/translations/pl.json.mjs.map +1 -0
  126. package/dist/admin/{chunks/ru-WzHcJV1f.js → translations/ru.json.js} +2 -2
  127. package/dist/admin/translations/ru.json.js.map +1 -0
  128. package/dist/admin/{chunks/ru-VkPjQ-Sk.mjs → translations/ru.json.mjs} +1 -1
  129. package/dist/admin/translations/ru.json.mjs.map +1 -0
  130. package/dist/admin/{chunks/tr-CcWp6u3w.js → translations/tr.json.js} +2 -2
  131. package/dist/admin/translations/tr.json.js.map +1 -0
  132. package/dist/admin/{chunks/tr-DcTR88c9.mjs → translations/tr.json.mjs} +1 -1
  133. package/dist/admin/translations/tr.json.mjs.map +1 -0
  134. package/dist/admin/{chunks/uk-CO6JHYRC.js → translations/uk.json.js} +2 -2
  135. package/dist/admin/translations/uk.json.js.map +1 -0
  136. package/dist/admin/{chunks/uk-CMz6iPag.mjs → translations/uk.json.mjs} +1 -1
  137. package/dist/admin/translations/uk.json.mjs.map +1 -0
  138. package/dist/admin/{chunks/zh-Hans-DnU2bhri.js → translations/zh-Hans.json.js} +2 -2
  139. package/dist/admin/translations/zh-Hans.json.js.map +1 -0
  140. package/dist/admin/{chunks/zh-Hans-L3wsRegj.mjs → translations/zh-Hans.json.mjs} +1 -1
  141. package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
  142. package/dist/admin/{chunks/zh-C9So4SGq.js → translations/zh.json.js} +2 -2
  143. package/dist/admin/translations/zh.json.js.map +1 -0
  144. package/dist/admin/{chunks/zh-RZyMiPIs.mjs → translations/zh.json.mjs} +1 -1
  145. package/dist/admin/translations/zh.json.mjs.map +1 -0
  146. package/dist/admin/utils/baseQuery.js +8 -0
  147. package/dist/admin/utils/baseQuery.js.map +1 -0
  148. package/dist/admin/utils/baseQuery.mjs +6 -0
  149. package/dist/admin/utils/baseQuery.mjs.map +1 -0
  150. package/dist/admin/utils/clean.js +70 -0
  151. package/dist/admin/utils/clean.js.map +1 -0
  152. package/dist/admin/utils/clean.mjs +68 -0
  153. package/dist/admin/utils/clean.mjs.map +1 -0
  154. package/dist/admin/utils/fields.js +34 -0
  155. package/dist/admin/utils/fields.js.map +1 -0
  156. package/dist/admin/utils/fields.mjs +31 -0
  157. package/dist/admin/utils/fields.mjs.map +1 -0
  158. package/dist/admin/utils/getTranslation.js +8 -0
  159. package/dist/admin/utils/getTranslation.js.map +1 -0
  160. package/dist/admin/utils/getTranslation.mjs +6 -0
  161. package/dist/admin/utils/getTranslation.mjs.map +1 -0
  162. package/dist/admin/utils/prefixPluginTranslations.js +11 -0
  163. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
  164. package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
  165. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
  166. package/dist/admin/utils/schemas.js +74 -0
  167. package/dist/admin/utils/schemas.js.map +1 -0
  168. package/dist/admin/utils/schemas.mjs +72 -0
  169. package/dist/admin/utils/schemas.mjs.map +1 -0
  170. package/dist/admin/utils/strings.js +6 -0
  171. package/dist/admin/utils/strings.js.map +1 -0
  172. package/dist/admin/utils/strings.mjs +4 -0
  173. package/dist/admin/utils/strings.mjs.map +1 -0
  174. package/dist/server/bootstrap.js +79 -0
  175. package/dist/server/bootstrap.js.map +1 -0
  176. package/dist/server/bootstrap.mjs +77 -0
  177. package/dist/server/bootstrap.mjs.map +1 -0
  178. package/dist/server/constants/index.js +29 -0
  179. package/dist/server/constants/index.js.map +1 -0
  180. package/dist/server/constants/index.mjs +25 -0
  181. package/dist/server/constants/index.mjs.map +1 -0
  182. package/dist/server/constants/iso-locales.json.js +2423 -0
  183. package/dist/server/constants/iso-locales.json.js.map +1 -0
  184. package/dist/server/constants/iso-locales.json.mjs +2421 -0
  185. package/dist/server/constants/iso-locales.json.mjs.map +1 -0
  186. package/dist/server/content-types/index.js +10 -0
  187. package/dist/server/content-types/index.js.map +1 -0
  188. package/dist/server/content-types/index.mjs +8 -0
  189. package/dist/server/content-types/index.mjs.map +1 -0
  190. package/dist/server/content-types/locale/index.js +10 -0
  191. package/dist/server/content-types/locale/index.js.map +1 -0
  192. package/dist/server/content-types/locale/index.mjs +8 -0
  193. package/dist/server/content-types/locale/index.mjs.map +1 -0
  194. package/dist/server/content-types/locale/schema.json.js +46 -0
  195. package/dist/server/content-types/locale/schema.json.js.map +1 -0
  196. package/dist/server/content-types/locale/schema.json.mjs +38 -0
  197. package/dist/server/content-types/locale/schema.json.mjs.map +1 -0
  198. package/dist/server/controllers/content-types.js +76 -0
  199. package/dist/server/controllers/content-types.js.map +1 -0
  200. package/dist/server/controllers/content-types.mjs +74 -0
  201. package/dist/server/controllers/content-types.mjs.map +1 -0
  202. package/dist/server/controllers/index.js +14 -0
  203. package/dist/server/controllers/index.js.map +1 -0
  204. package/dist/server/controllers/index.mjs +12 -0
  205. package/dist/server/controllers/index.mjs.map +1 -0
  206. package/dist/server/controllers/iso-locales.js +13 -0
  207. package/dist/server/controllers/iso-locales.js.map +1 -0
  208. package/dist/server/controllers/iso-locales.mjs +11 -0
  209. package/dist/server/controllers/iso-locales.mjs.map +1 -0
  210. package/dist/server/controllers/locales.js +108 -0
  211. package/dist/server/controllers/locales.js.map +1 -0
  212. package/dist/server/controllers/locales.mjs +87 -0
  213. package/dist/server/controllers/locales.mjs.map +1 -0
  214. package/dist/server/controllers/validate-locale-creation.js +47 -0
  215. package/dist/server/controllers/validate-locale-creation.js.map +1 -0
  216. package/dist/server/controllers/validate-locale-creation.mjs +45 -0
  217. package/dist/server/controllers/validate-locale-creation.mjs.map +1 -0
  218. package/dist/server/domain/locale.js +11 -0
  219. package/dist/server/domain/locale.js.map +1 -0
  220. package/dist/server/domain/locale.mjs +9 -0
  221. package/dist/server/domain/locale.mjs.map +1 -0
  222. package/dist/server/graphql.js +115 -0
  223. package/dist/server/graphql.js.map +1 -0
  224. package/dist/server/graphql.mjs +113 -0
  225. package/dist/server/graphql.mjs.map +1 -0
  226. package/dist/server/index.js +10 -3712
  227. package/dist/server/index.js.map +1 -1
  228. package/dist/server/index.mjs +7 -3691
  229. package/dist/server/index.mjs.map +1 -1
  230. package/dist/server/register.js +79 -0
  231. package/dist/server/register.js.map +1 -0
  232. package/dist/server/register.mjs +77 -0
  233. package/dist/server/register.mjs.map +1 -0
  234. package/dist/server/routes/admin.js +102 -0
  235. package/dist/server/routes/admin.js.map +1 -0
  236. package/dist/server/routes/admin.mjs +100 -0
  237. package/dist/server/routes/admin.mjs.map +1 -0
  238. package/dist/server/routes/content-api.js +15 -0
  239. package/dist/server/routes/content-api.js.map +1 -0
  240. package/dist/server/routes/content-api.mjs +13 -0
  241. package/dist/server/routes/content-api.mjs.map +1 -0
  242. package/dist/server/routes/index.js +12 -0
  243. package/dist/server/routes/index.js.map +1 -0
  244. package/dist/server/routes/index.mjs +10 -0
  245. package/dist/server/routes/index.mjs.map +1 -0
  246. package/dist/server/services/content-types.js +157 -0
  247. package/dist/server/services/content-types.js.map +1 -0
  248. package/dist/server/services/content-types.mjs +155 -0
  249. package/dist/server/services/content-types.mjs.map +1 -0
  250. package/dist/server/services/index.js +22 -0
  251. package/dist/server/services/index.js.map +1 -0
  252. package/dist/server/services/index.mjs +20 -0
  253. package/dist/server/services/index.mjs.map +1 -0
  254. package/dist/server/services/iso-locales.js +12 -0
  255. package/dist/server/services/iso-locales.js.map +1 -0
  256. package/dist/server/services/iso-locales.mjs +10 -0
  257. package/dist/server/services/iso-locales.mjs.map +1 -0
  258. package/dist/server/services/locales.js +114 -0
  259. package/dist/server/services/locales.js.map +1 -0
  260. package/dist/server/services/locales.mjs +112 -0
  261. package/dist/server/services/locales.mjs.map +1 -0
  262. package/dist/server/services/localizations.js +68 -0
  263. package/dist/server/services/localizations.js.map +1 -0
  264. package/dist/server/services/localizations.mjs +66 -0
  265. package/dist/server/services/localizations.mjs.map +1 -0
  266. package/dist/server/services/metrics.js +30 -0
  267. package/dist/server/services/metrics.js.map +1 -0
  268. package/dist/server/services/metrics.mjs +28 -0
  269. package/dist/server/services/metrics.mjs.map +1 -0
  270. package/dist/server/services/permissions/actions.js +136 -0
  271. package/dist/server/services/permissions/actions.js.map +1 -0
  272. package/dist/server/services/permissions/actions.mjs +134 -0
  273. package/dist/server/services/permissions/actions.mjs.map +1 -0
  274. package/dist/server/services/permissions/engine.js +52 -0
  275. package/dist/server/services/permissions/engine.js.map +1 -0
  276. package/dist/server/services/permissions/engine.mjs +50 -0
  277. package/dist/server/services/permissions/engine.mjs.map +1 -0
  278. package/dist/server/services/permissions/sections-builder.js +45 -0
  279. package/dist/server/services/permissions/sections-builder.js.map +1 -0
  280. package/dist/server/services/permissions/sections-builder.mjs +43 -0
  281. package/dist/server/services/permissions/sections-builder.mjs.map +1 -0
  282. package/dist/server/services/permissions.js +14 -0
  283. package/dist/server/services/permissions.js.map +1 -0
  284. package/dist/server/services/permissions.mjs +12 -0
  285. package/dist/server/services/permissions.mjs.map +1 -0
  286. package/dist/server/services/sanitize/index.js +34 -0
  287. package/dist/server/services/sanitize/index.js.map +1 -0
  288. package/dist/server/services/sanitize/index.mjs +32 -0
  289. package/dist/server/services/sanitize/index.mjs.map +1 -0
  290. package/dist/server/utils/index.js +16 -0
  291. package/dist/server/utils/index.js.map +1 -0
  292. package/dist/server/utils/index.mjs +13 -0
  293. package/dist/server/utils/index.mjs.map +1 -0
  294. package/dist/server/validation/content-types.js +18 -0
  295. package/dist/server/validation/content-types.js.map +1 -0
  296. package/dist/server/validation/content-types.mjs +16 -0
  297. package/dist/server/validation/content-types.mjs.map +1 -0
  298. package/dist/server/validation/locales.js +23 -0
  299. package/dist/server/validation/locales.js.map +1 -0
  300. package/dist/server/validation/locales.mjs +20 -0
  301. package/dist/server/validation/locales.mjs.map +1 -0
  302. package/package.json +8 -8
  303. package/dist/admin/chunks/SettingsPage-BOEeBbiM.mjs +0 -797
  304. package/dist/admin/chunks/SettingsPage-BOEeBbiM.mjs.map +0 -1
  305. package/dist/admin/chunks/SettingsPage-Mg2Ygywx.js +0 -820
  306. package/dist/admin/chunks/SettingsPage-Mg2Ygywx.js.map +0 -1
  307. package/dist/admin/chunks/de-Cm8mYdaO.mjs.map +0 -1
  308. package/dist/admin/chunks/de-nEMWvIiY.js.map +0 -1
  309. package/dist/admin/chunks/dk-BeUFOegB.mjs.map +0 -1
  310. package/dist/admin/chunks/dk-CYATLPVe.js.map +0 -1
  311. package/dist/admin/chunks/en-CG5cUCbD.js.map +0 -1
  312. package/dist/admin/chunks/en-eWSaCeOb.mjs.map +0 -1
  313. package/dist/admin/chunks/es-CWsogTGm.js.map +0 -1
  314. package/dist/admin/chunks/es-DqF_IdAc.mjs.map +0 -1
  315. package/dist/admin/chunks/fr-CC7UFcYd.js.map +0 -1
  316. package/dist/admin/chunks/fr-CyARbZ3c.mjs.map +0 -1
  317. package/dist/admin/chunks/index--VTS8j_L.mjs +0 -2008
  318. package/dist/admin/chunks/index--VTS8j_L.mjs.map +0 -1
  319. package/dist/admin/chunks/index-hJ67XV0K.js +0 -2037
  320. package/dist/admin/chunks/index-hJ67XV0K.js.map +0 -1
  321. package/dist/admin/chunks/ko-Ax4NSedM.mjs.map +0 -1
  322. package/dist/admin/chunks/ko-XwGmfhoq.js.map +0 -1
  323. package/dist/admin/chunks/pl-B-aqvMqL.mjs.map +0 -1
  324. package/dist/admin/chunks/pl-B_vzY_ZB.js.map +0 -1
  325. package/dist/admin/chunks/ru-VkPjQ-Sk.mjs.map +0 -1
  326. package/dist/admin/chunks/ru-WzHcJV1f.js.map +0 -1
  327. package/dist/admin/chunks/tr-CcWp6u3w.js.map +0 -1
  328. package/dist/admin/chunks/tr-DcTR88c9.mjs.map +0 -1
  329. package/dist/admin/chunks/uk-CMz6iPag.mjs.map +0 -1
  330. package/dist/admin/chunks/uk-CO6JHYRC.js.map +0 -1
  331. package/dist/admin/chunks/zh-C9So4SGq.js.map +0 -1
  332. package/dist/admin/chunks/zh-Hans-DnU2bhri.js.map +0 -1
  333. package/dist/admin/chunks/zh-Hans-L3wsRegj.mjs.map +0 -1
  334. package/dist/admin/chunks/zh-RZyMiPIs.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sources":["../../../admin/src/utils/schemas.ts"],"sourcesContent":["import omit from 'lodash/omit';\n\nimport { LOCALIZED_FIELDS, doesPluginOptionsHaveI18nLocalized } from './fields';\n\nimport type { Schema } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * mutateCTBContentTypeSchema\n * -----------------------------------------------------------------------------------------------*/\n\n// TODO: refactor for CTB refactors\nconst mutateCTBContentTypeSchema = (\n nextSchema: {\n pluginOptions: Schema.ContentType['pluginOptions'];\n attributes: Schema.Attribute.AnyAttribute[];\n uid?: string;\n },\n prevSchema?: {\n pluginOptions: Schema.ContentType['pluginOptions'];\n attributes: Schema.Attribute.AnyAttribute[];\n uid?: string;\n }\n) => {\n if (!prevSchema) {\n return nextSchema;\n }\n\n // Don't perform mutations components\n if (!doesPluginOptionsHaveI18nLocalized(nextSchema.pluginOptions)) {\n return nextSchema;\n }\n\n const isNextSchemaLocalized = nextSchema.pluginOptions.i18n.localized;\n const isPrevSchemaLocalized = doesPluginOptionsHaveI18nLocalized(prevSchema?.pluginOptions)\n ? prevSchema?.pluginOptions.i18n.localized\n : false;\n\n // No need to perform modification on the schema, if the i18n feature was not changed\n // at the ct level\n if (isNextSchemaLocalized && isPrevSchemaLocalized) {\n return nextSchema;\n }\n\n if (isNextSchemaLocalized) {\n const attributes = addLocalisationToFields(nextSchema.attributes);\n\n return {\n ...nextSchema,\n attributes,\n };\n }\n\n // Remove the i18n object from the pluginOptions\n if (!isNextSchemaLocalized) {\n const pluginOptions = omit(nextSchema.pluginOptions, 'i18n');\n const attributes = disableAttributesLocalisation(nextSchema.attributes);\n\n return {\n ...nextSchema,\n pluginOptions,\n attributes,\n };\n }\n\n return nextSchema;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * addLocalisationToFields\n * -----------------------------------------------------------------------------------------------*/\n\nconst addLocalisationToFields = (attributes: Schema.Attribute.AnyAttribute[]) => {\n return attributes.map((currentAttribute) => {\n if (LOCALIZED_FIELDS.includes(currentAttribute.type)) {\n const i18n = { localized: true };\n\n const pluginOptions = currentAttribute.pluginOptions\n ? { ...currentAttribute.pluginOptions, i18n }\n : { i18n };\n\n return { ...currentAttribute, pluginOptions };\n }\n\n return currentAttribute;\n });\n};\n\n/* -------------------------------------------------------------------------------------------------\n * disableAttributesLocalisation\n * -----------------------------------------------------------------------------------------------*/\n\nconst disableAttributesLocalisation = (attributes: Schema.Attribute.AnyAttribute[]) => {\n return attributes.map((currentAttribute) => {\n return omit(currentAttribute, 'pluginOptions.i18n');\n });\n};\n\nexport { mutateCTBContentTypeSchema };\n"],"names":["mutateCTBContentTypeSchema","nextSchema","prevSchema","doesPluginOptionsHaveI18nLocalized","pluginOptions","isNextSchemaLocalized","i18n","localized","isPrevSchemaLocalized","attributes","addLocalisationToFields","omit","disableAttributesLocalisation","map","currentAttribute","LOCALIZED_FIELDS","includes","type"],"mappings":";;;;;AAMA;;AAEkG;AAG5FA,MAAAA,0BAAAA,GAA6B,CACjCC,UAKAC,EAAAA,UAAAA,GAAAA;AAMA,IAAA,IAAI,CAACA,UAAY,EAAA;QACf,OAAOD,UAAAA;AACT;;AAGA,IAAA,IAAI,CAACE,yCAAAA,CAAmCF,UAAWG,CAAAA,aAAa,CAAG,EAAA;QACjE,OAAOH,UAAAA;AACT;AAEA,IAAA,MAAMI,wBAAwBJ,UAAWG,CAAAA,aAAa,CAACE,IAAI,CAACC,SAAS;AACrE,IAAA,MAAMC,wBAAwBL,yCAAmCD,CAAAA,UAAAA,EAAYE,iBACzEF,UAAYE,EAAAA,aAAAA,CAAcE,KAAKC,SAC/B,GAAA,KAAA;;;AAIJ,IAAA,IAAIF,yBAAyBG,qBAAuB,EAAA;QAClD,OAAOP,UAAAA;AACT;AAEA,IAAA,IAAII,qBAAuB,EAAA;QACzB,MAAMI,UAAAA,GAAaC,uBAAwBT,CAAAA,UAAAA,CAAWQ,UAAU,CAAA;QAEhE,OAAO;AACL,YAAA,GAAGR,UAAU;AACbQ,YAAAA;AACF,SAAA;AACF;;AAGA,IAAA,IAAI,CAACJ,qBAAuB,EAAA;AAC1B,QAAA,MAAMD,aAAgBO,GAAAA,IAAAA,CAAKV,UAAWG,CAAAA,aAAa,EAAE,MAAA,CAAA;QACrD,MAAMK,UAAAA,GAAaG,6BAA8BX,CAAAA,UAAAA,CAAWQ,UAAU,CAAA;QAEtE,OAAO;AACL,YAAA,GAAGR,UAAU;AACbG,YAAAA,aAAAA;AACAK,YAAAA;AACF,SAAA;AACF;IAEA,OAAOR,UAAAA;AACT;AAEA;;qGAIA,MAAMS,0BAA0B,CAACD,UAAAA,GAAAA;IAC/B,OAAOA,UAAAA,CAAWI,GAAG,CAAC,CAACC,gBAAAA,GAAAA;AACrB,QAAA,IAAIC,uBAAiBC,CAAAA,QAAQ,CAACF,gBAAAA,CAAiBG,IAAI,CAAG,EAAA;AACpD,YAAA,MAAMX,IAAO,GAAA;gBAAEC,SAAW,EAAA;AAAK,aAAA;YAE/B,MAAMH,aAAAA,GAAgBU,gBAAiBV,CAAAA,aAAa,GAChD;AAAE,gBAAA,GAAGU,iBAAiBV,aAAa;AAAEE,gBAAAA;aACrC,GAAA;AAAEA,gBAAAA;AAAK,aAAA;YAEX,OAAO;AAAE,gBAAA,GAAGQ,gBAAgB;AAAEV,gBAAAA;AAAc,aAAA;AAC9C;QAEA,OAAOU,gBAAAA;AACT,KAAA,CAAA;AACF,CAAA;AAEA;;qGAIA,MAAMF,gCAAgC,CAACH,UAAAA,GAAAA;IACrC,OAAOA,UAAAA,CAAWI,GAAG,CAAC,CAACC,gBAAAA,GAAAA;AACrB,QAAA,OAAOH,KAAKG,gBAAkB,EAAA,oBAAA,CAAA;AAChC,KAAA,CAAA;AACF,CAAA;;;;"}
@@ -0,0 +1,72 @@
1
+ import omit from 'lodash/omit';
2
+ import { doesPluginOptionsHaveI18nLocalized, LOCALIZED_FIELDS } from './fields.mjs';
3
+
4
+ /* -------------------------------------------------------------------------------------------------
5
+ * mutateCTBContentTypeSchema
6
+ * -----------------------------------------------------------------------------------------------*/ // TODO: refactor for CTB refactors
7
+ const mutateCTBContentTypeSchema = (nextSchema, prevSchema)=>{
8
+ if (!prevSchema) {
9
+ return nextSchema;
10
+ }
11
+ // Don't perform mutations components
12
+ if (!doesPluginOptionsHaveI18nLocalized(nextSchema.pluginOptions)) {
13
+ return nextSchema;
14
+ }
15
+ const isNextSchemaLocalized = nextSchema.pluginOptions.i18n.localized;
16
+ const isPrevSchemaLocalized = doesPluginOptionsHaveI18nLocalized(prevSchema?.pluginOptions) ? prevSchema?.pluginOptions.i18n.localized : false;
17
+ // No need to perform modification on the schema, if the i18n feature was not changed
18
+ // at the ct level
19
+ if (isNextSchemaLocalized && isPrevSchemaLocalized) {
20
+ return nextSchema;
21
+ }
22
+ if (isNextSchemaLocalized) {
23
+ const attributes = addLocalisationToFields(nextSchema.attributes);
24
+ return {
25
+ ...nextSchema,
26
+ attributes
27
+ };
28
+ }
29
+ // Remove the i18n object from the pluginOptions
30
+ if (!isNextSchemaLocalized) {
31
+ const pluginOptions = omit(nextSchema.pluginOptions, 'i18n');
32
+ const attributes = disableAttributesLocalisation(nextSchema.attributes);
33
+ return {
34
+ ...nextSchema,
35
+ pluginOptions,
36
+ attributes
37
+ };
38
+ }
39
+ return nextSchema;
40
+ };
41
+ /* -------------------------------------------------------------------------------------------------
42
+ * addLocalisationToFields
43
+ * -----------------------------------------------------------------------------------------------*/ const addLocalisationToFields = (attributes)=>{
44
+ return attributes.map((currentAttribute)=>{
45
+ if (LOCALIZED_FIELDS.includes(currentAttribute.type)) {
46
+ const i18n = {
47
+ localized: true
48
+ };
49
+ const pluginOptions = currentAttribute.pluginOptions ? {
50
+ ...currentAttribute.pluginOptions,
51
+ i18n
52
+ } : {
53
+ i18n
54
+ };
55
+ return {
56
+ ...currentAttribute,
57
+ pluginOptions
58
+ };
59
+ }
60
+ return currentAttribute;
61
+ });
62
+ };
63
+ /* -------------------------------------------------------------------------------------------------
64
+ * disableAttributesLocalisation
65
+ * -----------------------------------------------------------------------------------------------*/ const disableAttributesLocalisation = (attributes)=>{
66
+ return attributes.map((currentAttribute)=>{
67
+ return omit(currentAttribute, 'pluginOptions.i18n');
68
+ });
69
+ };
70
+
71
+ export { mutateCTBContentTypeSchema };
72
+ //# sourceMappingURL=schemas.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.mjs","sources":["../../../admin/src/utils/schemas.ts"],"sourcesContent":["import omit from 'lodash/omit';\n\nimport { LOCALIZED_FIELDS, doesPluginOptionsHaveI18nLocalized } from './fields';\n\nimport type { Schema } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * mutateCTBContentTypeSchema\n * -----------------------------------------------------------------------------------------------*/\n\n// TODO: refactor for CTB refactors\nconst mutateCTBContentTypeSchema = (\n nextSchema: {\n pluginOptions: Schema.ContentType['pluginOptions'];\n attributes: Schema.Attribute.AnyAttribute[];\n uid?: string;\n },\n prevSchema?: {\n pluginOptions: Schema.ContentType['pluginOptions'];\n attributes: Schema.Attribute.AnyAttribute[];\n uid?: string;\n }\n) => {\n if (!prevSchema) {\n return nextSchema;\n }\n\n // Don't perform mutations components\n if (!doesPluginOptionsHaveI18nLocalized(nextSchema.pluginOptions)) {\n return nextSchema;\n }\n\n const isNextSchemaLocalized = nextSchema.pluginOptions.i18n.localized;\n const isPrevSchemaLocalized = doesPluginOptionsHaveI18nLocalized(prevSchema?.pluginOptions)\n ? prevSchema?.pluginOptions.i18n.localized\n : false;\n\n // No need to perform modification on the schema, if the i18n feature was not changed\n // at the ct level\n if (isNextSchemaLocalized && isPrevSchemaLocalized) {\n return nextSchema;\n }\n\n if (isNextSchemaLocalized) {\n const attributes = addLocalisationToFields(nextSchema.attributes);\n\n return {\n ...nextSchema,\n attributes,\n };\n }\n\n // Remove the i18n object from the pluginOptions\n if (!isNextSchemaLocalized) {\n const pluginOptions = omit(nextSchema.pluginOptions, 'i18n');\n const attributes = disableAttributesLocalisation(nextSchema.attributes);\n\n return {\n ...nextSchema,\n pluginOptions,\n attributes,\n };\n }\n\n return nextSchema;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * addLocalisationToFields\n * -----------------------------------------------------------------------------------------------*/\n\nconst addLocalisationToFields = (attributes: Schema.Attribute.AnyAttribute[]) => {\n return attributes.map((currentAttribute) => {\n if (LOCALIZED_FIELDS.includes(currentAttribute.type)) {\n const i18n = { localized: true };\n\n const pluginOptions = currentAttribute.pluginOptions\n ? { ...currentAttribute.pluginOptions, i18n }\n : { i18n };\n\n return { ...currentAttribute, pluginOptions };\n }\n\n return currentAttribute;\n });\n};\n\n/* -------------------------------------------------------------------------------------------------\n * disableAttributesLocalisation\n * -----------------------------------------------------------------------------------------------*/\n\nconst disableAttributesLocalisation = (attributes: Schema.Attribute.AnyAttribute[]) => {\n return attributes.map((currentAttribute) => {\n return omit(currentAttribute, 'pluginOptions.i18n');\n });\n};\n\nexport { mutateCTBContentTypeSchema };\n"],"names":["mutateCTBContentTypeSchema","nextSchema","prevSchema","doesPluginOptionsHaveI18nLocalized","pluginOptions","isNextSchemaLocalized","i18n","localized","isPrevSchemaLocalized","attributes","addLocalisationToFields","omit","disableAttributesLocalisation","map","currentAttribute","LOCALIZED_FIELDS","includes","type"],"mappings":";;;AAMA;;AAEkG;AAG5FA,MAAAA,0BAAAA,GAA6B,CACjCC,UAKAC,EAAAA,UAAAA,GAAAA;AAMA,IAAA,IAAI,CAACA,UAAY,EAAA;QACf,OAAOD,UAAAA;AACT;;AAGA,IAAA,IAAI,CAACE,kCAAAA,CAAmCF,UAAWG,CAAAA,aAAa,CAAG,EAAA;QACjE,OAAOH,UAAAA;AACT;AAEA,IAAA,MAAMI,wBAAwBJ,UAAWG,CAAAA,aAAa,CAACE,IAAI,CAACC,SAAS;AACrE,IAAA,MAAMC,wBAAwBL,kCAAmCD,CAAAA,UAAAA,EAAYE,iBACzEF,UAAYE,EAAAA,aAAAA,CAAcE,KAAKC,SAC/B,GAAA,KAAA;;;AAIJ,IAAA,IAAIF,yBAAyBG,qBAAuB,EAAA;QAClD,OAAOP,UAAAA;AACT;AAEA,IAAA,IAAII,qBAAuB,EAAA;QACzB,MAAMI,UAAAA,GAAaC,uBAAwBT,CAAAA,UAAAA,CAAWQ,UAAU,CAAA;QAEhE,OAAO;AACL,YAAA,GAAGR,UAAU;AACbQ,YAAAA;AACF,SAAA;AACF;;AAGA,IAAA,IAAI,CAACJ,qBAAuB,EAAA;AAC1B,QAAA,MAAMD,aAAgBO,GAAAA,IAAAA,CAAKV,UAAWG,CAAAA,aAAa,EAAE,MAAA,CAAA;QACrD,MAAMK,UAAAA,GAAaG,6BAA8BX,CAAAA,UAAAA,CAAWQ,UAAU,CAAA;QAEtE,OAAO;AACL,YAAA,GAAGR,UAAU;AACbG,YAAAA,aAAAA;AACAK,YAAAA;AACF,SAAA;AACF;IAEA,OAAOR,UAAAA;AACT;AAEA;;qGAIA,MAAMS,0BAA0B,CAACD,UAAAA,GAAAA;IAC/B,OAAOA,UAAAA,CAAWI,GAAG,CAAC,CAACC,gBAAAA,GAAAA;AACrB,QAAA,IAAIC,gBAAiBC,CAAAA,QAAQ,CAACF,gBAAAA,CAAiBG,IAAI,CAAG,EAAA;AACpD,YAAA,MAAMX,IAAO,GAAA;gBAAEC,SAAW,EAAA;AAAK,aAAA;YAE/B,MAAMH,aAAAA,GAAgBU,gBAAiBV,CAAAA,aAAa,GAChD;AAAE,gBAAA,GAAGU,iBAAiBV,aAAa;AAAEE,gBAAAA;aACrC,GAAA;AAAEA,gBAAAA;AAAK,aAAA;YAEX,OAAO;AAAE,gBAAA,GAAGQ,gBAAgB;AAAEV,gBAAAA;AAAc,aAAA;AAC9C;QAEA,OAAOU,gBAAAA;AACT,KAAA,CAAA;AACF,CAAA;AAEA;;qGAIA,MAAMF,gCAAgC,CAACH,UAAAA,GAAAA;IACrC,OAAOA,UAAAA,CAAWI,GAAG,CAAC,CAACC,gBAAAA,GAAAA;AACrB,QAAA,OAAOH,KAAKG,gBAAkB,EAAA,oBAAA,CAAA;AAChC,KAAA,CAAA;AACF,CAAA;;;;"}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ const capitalize = (str)=>str.charAt(0).toUpperCase() + str.slice(1);
4
+
5
+ exports.capitalize = capitalize;
6
+ //# sourceMappingURL=strings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strings.js","sources":["../../../admin/src/utils/strings.ts"],"sourcesContent":["const capitalize = (str: string) => str.charAt(0).toUpperCase() + str.slice(1);\n\nexport { capitalize };\n"],"names":["capitalize","str","charAt","toUpperCase","slice"],"mappings":";;AAAMA,MAAAA,UAAAA,GAAa,CAACC,GAAAA,GAAgBA,GAAIC,CAAAA,MAAM,CAAC,CAAA,CAAA,CAAGC,WAAW,EAAA,GAAKF,GAAIG,CAAAA,KAAK,CAAC,CAAA;;;;"}
@@ -0,0 +1,4 @@
1
+ const capitalize = (str)=>str.charAt(0).toUpperCase() + str.slice(1);
2
+
3
+ export { capitalize };
4
+ //# sourceMappingURL=strings.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strings.mjs","sources":["../../../admin/src/utils/strings.ts"],"sourcesContent":["const capitalize = (str: string) => str.charAt(0).toUpperCase() + str.slice(1);\n\nexport { capitalize };\n"],"names":["capitalize","str","charAt","toUpperCase","slice"],"mappings":"AAAMA,MAAAA,UAAAA,GAAa,CAACC,GAAAA,GAAgBA,GAAIC,CAAAA,MAAM,CAAC,CAAA,CAAA,CAAGC,WAAW,EAAA,GAAKF,GAAIG,CAAAA,KAAK,CAAC,CAAA;;;;"}
@@ -0,0 +1,79 @@
1
+ 'use strict';
2
+
3
+ var index = require('./utils/index.js');
4
+
5
+ const registerModelsHooks = ()=>{
6
+ strapi.db.lifecycles.subscribe({
7
+ models: [
8
+ 'plugin::i18n.locale'
9
+ ],
10
+ async afterCreate () {
11
+ await index.getService('permissions').actions.syncSuperAdminPermissionsWithLocales();
12
+ },
13
+ async afterDelete () {
14
+ await index.getService('permissions').actions.syncSuperAdminPermissionsWithLocales();
15
+ }
16
+ });
17
+ strapi.documents.use(async (context, next)=>{
18
+ const schema = context.contentType;
19
+ if (![
20
+ 'create',
21
+ 'update',
22
+ 'discardDraft',
23
+ 'publish'
24
+ ].includes(context.action)) {
25
+ return next();
26
+ }
27
+ if (!index.getService('content-types').isLocalizedContentType(schema)) {
28
+ return next();
29
+ }
30
+ // Build a populate array for all non localized fields within the schema
31
+ const { getNestedPopulateOfNonLocalizedAttributes } = index.getService('content-types');
32
+ const attributesToPopulate = getNestedPopulateOfNonLocalizedAttributes(schema.uid);
33
+ // Get the result of the document service action
34
+ const result = await next();
35
+ // We may not have received a result with everything populated that we need
36
+ // Use the id and populate built from non localized fields to get the full
37
+ // result
38
+ let resultID;
39
+ // TODO: fix bug where an empty array can be returned
40
+ if (Array.isArray(result?.entries) && result.entries[0]?.id) {
41
+ resultID = result.entries[0].id;
42
+ } else if (result?.id) {
43
+ resultID = result.id;
44
+ } else {
45
+ return result;
46
+ }
47
+ if (attributesToPopulate.length > 0) {
48
+ const populatedResult = await strapi.db.query(schema.uid).findOne({
49
+ where: {
50
+ id: resultID
51
+ },
52
+ populate: attributesToPopulate
53
+ });
54
+ await index.getService('localizations').syncNonLocalizedAttributes(populatedResult, schema);
55
+ }
56
+ return result;
57
+ });
58
+ };
59
+ var bootstrap = (async ()=>{
60
+ const { sendDidInitializeEvent } = index.getService('metrics');
61
+ const { initDefaultLocale } = index.getService('locales');
62
+ const { sectionsBuilder, actions, engine } = index.getService('permissions');
63
+ // Data
64
+ await initDefaultLocale();
65
+ // Sections Builder
66
+ sectionsBuilder.registerLocalesPropertyHandler();
67
+ // Actions
68
+ await actions.registerI18nActions();
69
+ actions.registerI18nActionsHooks();
70
+ actions.updateActionsProperties();
71
+ // Engine/Permissions
72
+ engine.registerI18nPermissionsHandlers();
73
+ // Hooks & Models
74
+ registerModelsHooks();
75
+ sendDidInitializeEvent();
76
+ });
77
+
78
+ module.exports = bootstrap;
79
+ //# sourceMappingURL=bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.js","sources":["../../server/src/bootstrap.ts"],"sourcesContent":["import type { Schema } from '@strapi/types';\nimport { getService } from './utils';\n\nconst registerModelsHooks = () => {\n strapi.db.lifecycles.subscribe({\n models: ['plugin::i18n.locale'],\n\n async afterCreate() {\n await getService('permissions').actions.syncSuperAdminPermissionsWithLocales();\n },\n\n async afterDelete() {\n await getService('permissions').actions.syncSuperAdminPermissionsWithLocales();\n },\n });\n\n strapi.documents.use(async (context, next) => {\n const schema: Schema.ContentType = context.contentType;\n\n if (!['create', 'update', 'discardDraft', 'publish'].includes(context.action)) {\n return next();\n }\n\n if (!getService('content-types').isLocalizedContentType(schema)) {\n return next();\n }\n\n // Build a populate array for all non localized fields within the schema\n const { getNestedPopulateOfNonLocalizedAttributes } = getService('content-types');\n\n const attributesToPopulate = getNestedPopulateOfNonLocalizedAttributes(schema.uid);\n\n // Get the result of the document service action\n const result = (await next()) as any;\n\n // We may not have received a result with everything populated that we need\n // Use the id and populate built from non localized fields to get the full\n // result\n let resultID;\n // TODO: fix bug where an empty array can be returned\n if (Array.isArray(result?.entries) && result.entries[0]?.id) {\n resultID = result.entries[0].id;\n } else if (result?.id) {\n resultID = result.id;\n } else {\n return result;\n }\n\n if (attributesToPopulate.length > 0) {\n const populatedResult = await strapi.db\n .query(schema.uid)\n .findOne({ where: { id: resultID }, populate: attributesToPopulate });\n\n await getService('localizations').syncNonLocalizedAttributes(populatedResult, schema);\n }\n\n return result;\n });\n};\n\nexport default async () => {\n const { sendDidInitializeEvent } = getService('metrics');\n const { initDefaultLocale } = getService('locales');\n const { sectionsBuilder, actions, engine } = getService('permissions');\n\n // Data\n await initDefaultLocale();\n\n // Sections Builder\n sectionsBuilder.registerLocalesPropertyHandler();\n\n // Actions\n await actions.registerI18nActions();\n actions.registerI18nActionsHooks();\n actions.updateActionsProperties();\n\n // Engine/Permissions\n engine.registerI18nPermissionsHandlers();\n\n // Hooks & Models\n registerModelsHooks();\n\n sendDidInitializeEvent();\n};\n"],"names":["registerModelsHooks","strapi","db","lifecycles","subscribe","models","afterCreate","getService","actions","syncSuperAdminPermissionsWithLocales","afterDelete","documents","use","context","next","schema","contentType","includes","action","isLocalizedContentType","getNestedPopulateOfNonLocalizedAttributes","attributesToPopulate","uid","result","resultID","Array","isArray","entries","id","length","populatedResult","query","findOne","where","populate","syncNonLocalizedAttributes","sendDidInitializeEvent","initDefaultLocale","sectionsBuilder","engine","registerLocalesPropertyHandler","registerI18nActions","registerI18nActionsHooks","updateActionsProperties","registerI18nPermissionsHandlers"],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import { getService } from './utils/index.mjs';
2
+
3
+ const registerModelsHooks = ()=>{
4
+ strapi.db.lifecycles.subscribe({
5
+ models: [
6
+ 'plugin::i18n.locale'
7
+ ],
8
+ async afterCreate () {
9
+ await getService('permissions').actions.syncSuperAdminPermissionsWithLocales();
10
+ },
11
+ async afterDelete () {
12
+ await getService('permissions').actions.syncSuperAdminPermissionsWithLocales();
13
+ }
14
+ });
15
+ strapi.documents.use(async (context, next)=>{
16
+ const schema = context.contentType;
17
+ if (![
18
+ 'create',
19
+ 'update',
20
+ 'discardDraft',
21
+ 'publish'
22
+ ].includes(context.action)) {
23
+ return next();
24
+ }
25
+ if (!getService('content-types').isLocalizedContentType(schema)) {
26
+ return next();
27
+ }
28
+ // Build a populate array for all non localized fields within the schema
29
+ const { getNestedPopulateOfNonLocalizedAttributes } = getService('content-types');
30
+ const attributesToPopulate = getNestedPopulateOfNonLocalizedAttributes(schema.uid);
31
+ // Get the result of the document service action
32
+ const result = await next();
33
+ // We may not have received a result with everything populated that we need
34
+ // Use the id and populate built from non localized fields to get the full
35
+ // result
36
+ let resultID;
37
+ // TODO: fix bug where an empty array can be returned
38
+ if (Array.isArray(result?.entries) && result.entries[0]?.id) {
39
+ resultID = result.entries[0].id;
40
+ } else if (result?.id) {
41
+ resultID = result.id;
42
+ } else {
43
+ return result;
44
+ }
45
+ if (attributesToPopulate.length > 0) {
46
+ const populatedResult = await strapi.db.query(schema.uid).findOne({
47
+ where: {
48
+ id: resultID
49
+ },
50
+ populate: attributesToPopulate
51
+ });
52
+ await getService('localizations').syncNonLocalizedAttributes(populatedResult, schema);
53
+ }
54
+ return result;
55
+ });
56
+ };
57
+ var bootstrap = (async ()=>{
58
+ const { sendDidInitializeEvent } = getService('metrics');
59
+ const { initDefaultLocale } = getService('locales');
60
+ const { sectionsBuilder, actions, engine } = getService('permissions');
61
+ // Data
62
+ await initDefaultLocale();
63
+ // Sections Builder
64
+ sectionsBuilder.registerLocalesPropertyHandler();
65
+ // Actions
66
+ await actions.registerI18nActions();
67
+ actions.registerI18nActionsHooks();
68
+ actions.updateActionsProperties();
69
+ // Engine/Permissions
70
+ engine.registerI18nPermissionsHandlers();
71
+ // Hooks & Models
72
+ registerModelsHooks();
73
+ sendDidInitializeEvent();
74
+ });
75
+
76
+ export { bootstrap as default };
77
+ //# sourceMappingURL=bootstrap.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.mjs","sources":["../../server/src/bootstrap.ts"],"sourcesContent":["import type { Schema } from '@strapi/types';\nimport { getService } from './utils';\n\nconst registerModelsHooks = () => {\n strapi.db.lifecycles.subscribe({\n models: ['plugin::i18n.locale'],\n\n async afterCreate() {\n await getService('permissions').actions.syncSuperAdminPermissionsWithLocales();\n },\n\n async afterDelete() {\n await getService('permissions').actions.syncSuperAdminPermissionsWithLocales();\n },\n });\n\n strapi.documents.use(async (context, next) => {\n const schema: Schema.ContentType = context.contentType;\n\n if (!['create', 'update', 'discardDraft', 'publish'].includes(context.action)) {\n return next();\n }\n\n if (!getService('content-types').isLocalizedContentType(schema)) {\n return next();\n }\n\n // Build a populate array for all non localized fields within the schema\n const { getNestedPopulateOfNonLocalizedAttributes } = getService('content-types');\n\n const attributesToPopulate = getNestedPopulateOfNonLocalizedAttributes(schema.uid);\n\n // Get the result of the document service action\n const result = (await next()) as any;\n\n // We may not have received a result with everything populated that we need\n // Use the id and populate built from non localized fields to get the full\n // result\n let resultID;\n // TODO: fix bug where an empty array can be returned\n if (Array.isArray(result?.entries) && result.entries[0]?.id) {\n resultID = result.entries[0].id;\n } else if (result?.id) {\n resultID = result.id;\n } else {\n return result;\n }\n\n if (attributesToPopulate.length > 0) {\n const populatedResult = await strapi.db\n .query(schema.uid)\n .findOne({ where: { id: resultID }, populate: attributesToPopulate });\n\n await getService('localizations').syncNonLocalizedAttributes(populatedResult, schema);\n }\n\n return result;\n });\n};\n\nexport default async () => {\n const { sendDidInitializeEvent } = getService('metrics');\n const { initDefaultLocale } = getService('locales');\n const { sectionsBuilder, actions, engine } = getService('permissions');\n\n // Data\n await initDefaultLocale();\n\n // Sections Builder\n sectionsBuilder.registerLocalesPropertyHandler();\n\n // Actions\n await actions.registerI18nActions();\n actions.registerI18nActionsHooks();\n actions.updateActionsProperties();\n\n // Engine/Permissions\n engine.registerI18nPermissionsHandlers();\n\n // Hooks & Models\n registerModelsHooks();\n\n sendDidInitializeEvent();\n};\n"],"names":["registerModelsHooks","strapi","db","lifecycles","subscribe","models","afterCreate","getService","actions","syncSuperAdminPermissionsWithLocales","afterDelete","documents","use","context","next","schema","contentType","includes","action","isLocalizedContentType","getNestedPopulateOfNonLocalizedAttributes","attributesToPopulate","uid","result","resultID","Array","isArray","entries","id","length","populatedResult","query","findOne","where","populate","syncNonLocalizedAttributes","sendDidInitializeEvent","initDefaultLocale","sectionsBuilder","engine","registerLocalesPropertyHandler","registerI18nActions","registerI18nActionsHooks","updateActionsProperties","registerI18nPermissionsHandlers"],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ 'use strict';
2
+
3
+ var isoLocales = require('./iso-locales.json.js');
4
+
5
+ /**
6
+ * Returns the default locale based either on env var or english
7
+ * @returns {string}
8
+ */ const getInitLocale = ()=>{
9
+ const envLocaleCode = process.env.STRAPI_PLUGIN_I18N_INIT_LOCALE_CODE;
10
+ if (envLocaleCode) {
11
+ const matchingLocale = isoLocales.find(({ code })=>code === envLocaleCode);
12
+ if (!matchingLocale) {
13
+ throw new Error('Unknown locale code provided in the environment variable STRAPI_PLUGIN_I18N_INIT_LOCALE_CODE');
14
+ }
15
+ return {
16
+ ...matchingLocale
17
+ };
18
+ }
19
+ return {
20
+ code: 'en',
21
+ name: 'English (en)'
22
+ };
23
+ };
24
+ const DEFAULT_LOCALE = getInitLocale();
25
+
26
+ exports.isoLocales = isoLocales;
27
+ exports.DEFAULT_LOCALE = DEFAULT_LOCALE;
28
+ exports.getInitLocale = getInitLocale;
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../server/src/constants/index.ts"],"sourcesContent":["import isoLocales from './iso-locales.json';\n\n/**\n * Returns the default locale based either on env var or english\n * @returns {string}\n */\nconst getInitLocale = () => {\n const envLocaleCode = process.env.STRAPI_PLUGIN_I18N_INIT_LOCALE_CODE;\n\n if (envLocaleCode) {\n const matchingLocale = isoLocales.find(({ code }) => code === envLocaleCode);\n\n if (!matchingLocale) {\n throw new Error(\n 'Unknown locale code provided in the environment variable STRAPI_PLUGIN_I18N_INIT_LOCALE_CODE'\n );\n }\n\n return { ...matchingLocale };\n }\n\n return {\n code: 'en',\n name: 'English (en)',\n };\n};\n\nconst DEFAULT_LOCALE = getInitLocale();\n\nexport { isoLocales, DEFAULT_LOCALE, getInitLocale };\n"],"names":["getInitLocale","envLocaleCode","process","env","STRAPI_PLUGIN_I18N_INIT_LOCALE_CODE","matchingLocale","isoLocales","find","code","Error","name","DEFAULT_LOCALE"],"mappings":";;;;AAEA;;;AAGC,UACKA,aAAgB,GAAA,IAAA;AACpB,IAAA,MAAMC,aAAgBC,GAAAA,OAAAA,CAAQC,GAAG,CAACC,mCAAmC;AAErE,IAAA,IAAIH,aAAe,EAAA;QACjB,MAAMI,cAAAA,GAAiBC,WAAWC,IAAI,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA,IAASP,KAAAA,aAAAA,CAAAA;AAE9D,QAAA,IAAI,CAACI,cAAgB,EAAA;AACnB,YAAA,MAAM,IAAII,KACR,CAAA,8FAAA,CAAA;AAEJ;QAEA,OAAO;AAAE,YAAA,GAAGJ;AAAe,SAAA;AAC7B;IAEA,OAAO;QACLG,IAAM,EAAA,IAAA;QACNE,IAAM,EAAA;AACR,KAAA;AACF;AAEA,MAAMC,cAAiBX,GAAAA,aAAAA;;;;;;"}
@@ -0,0 +1,25 @@
1
+ import isoLocales from './iso-locales.json.mjs';
2
+
3
+ /**
4
+ * Returns the default locale based either on env var or english
5
+ * @returns {string}
6
+ */ const getInitLocale = ()=>{
7
+ const envLocaleCode = process.env.STRAPI_PLUGIN_I18N_INIT_LOCALE_CODE;
8
+ if (envLocaleCode) {
9
+ const matchingLocale = isoLocales.find(({ code })=>code === envLocaleCode);
10
+ if (!matchingLocale) {
11
+ throw new Error('Unknown locale code provided in the environment variable STRAPI_PLUGIN_I18N_INIT_LOCALE_CODE');
12
+ }
13
+ return {
14
+ ...matchingLocale
15
+ };
16
+ }
17
+ return {
18
+ code: 'en',
19
+ name: 'English (en)'
20
+ };
21
+ };
22
+ const DEFAULT_LOCALE = getInitLocale();
23
+
24
+ export { DEFAULT_LOCALE, getInitLocale, isoLocales };
25
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../server/src/constants/index.ts"],"sourcesContent":["import isoLocales from './iso-locales.json';\n\n/**\n * Returns the default locale based either on env var or english\n * @returns {string}\n */\nconst getInitLocale = () => {\n const envLocaleCode = process.env.STRAPI_PLUGIN_I18N_INIT_LOCALE_CODE;\n\n if (envLocaleCode) {\n const matchingLocale = isoLocales.find(({ code }) => code === envLocaleCode);\n\n if (!matchingLocale) {\n throw new Error(\n 'Unknown locale code provided in the environment variable STRAPI_PLUGIN_I18N_INIT_LOCALE_CODE'\n );\n }\n\n return { ...matchingLocale };\n }\n\n return {\n code: 'en',\n name: 'English (en)',\n };\n};\n\nconst DEFAULT_LOCALE = getInitLocale();\n\nexport { isoLocales, DEFAULT_LOCALE, getInitLocale };\n"],"names":["getInitLocale","envLocaleCode","process","env","STRAPI_PLUGIN_I18N_INIT_LOCALE_CODE","matchingLocale","isoLocales","find","code","Error","name","DEFAULT_LOCALE"],"mappings":";;AAEA;;;AAGC,UACKA,aAAgB,GAAA,IAAA;AACpB,IAAA,MAAMC,aAAgBC,GAAAA,OAAAA,CAAQC,GAAG,CAACC,mCAAmC;AAErE,IAAA,IAAIH,aAAe,EAAA;QACjB,MAAMI,cAAAA,GAAiBC,WAAWC,IAAI,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA,IAASP,KAAAA,aAAAA,CAAAA;AAE9D,QAAA,IAAI,CAACI,cAAgB,EAAA;AACnB,YAAA,MAAM,IAAII,KACR,CAAA,8FAAA,CAAA;AAEJ;QAEA,OAAO;AAAE,YAAA,GAAGJ;AAAe,SAAA;AAC7B;IAEA,OAAO;QACLG,IAAM,EAAA,IAAA;QACNE,IAAM,EAAA;AACR,KAAA;AACF;AAEA,MAAMC,cAAiBX,GAAAA,aAAAA;;;;"}