@strapi/i18n 0.0.0-experimental.727a0f9b729da91886ca93e88ec1d6d811d1beba → 0.0.0-experimental.736db7fa04f32cc7ed8db0830fc4c1bcef1948d4

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 (376) 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 +226 -5
  62. package/dist/admin/index.js.map +1 -1
  63. package/dist/admin/index.mjs +202 -5
  64. package/dist/admin/index.mjs.map +1 -1
  65. package/dist/admin/middlewares/extendCTBAttributeInitialData.js +61 -0
  66. package/dist/admin/middlewares/extendCTBAttributeInitialData.js.map +1 -0
  67. package/dist/admin/middlewares/extendCTBAttributeInitialData.mjs +59 -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/components/CMHeaderActions.d.ts +2 -2
  98. package/dist/admin/src/components/LocaleListCell.d.ts +4 -4
  99. package/dist/admin/src/components/tests/CreateLocale.test.d.ts +1 -0
  100. package/dist/admin/src/components/tests/DeleteLocale.test.d.ts +1 -0
  101. package/dist/admin/src/components/tests/EditLocale.test.d.ts +1 -0
  102. package/dist/admin/src/components/tests/LocaleListCell.test.d.ts +1 -0
  103. package/dist/admin/src/contentReleasesHooks/releaseDetailsView.d.ts +1 -1
  104. package/dist/admin/src/pages/tests/SettingsPage.test.d.ts +1 -0
  105. package/dist/admin/tests/server.d.ts +1 -0
  106. package/dist/admin/tests/utils.d.ts +6 -0
  107. package/dist/admin/translations/de.json.js +66 -0
  108. package/dist/admin/translations/de.json.js.map +1 -0
  109. package/dist/admin/translations/de.json.mjs +64 -0
  110. package/dist/admin/translations/de.json.mjs.map +1 -0
  111. package/dist/admin/translations/dk.json.js +66 -0
  112. package/dist/admin/translations/dk.json.js.map +1 -0
  113. package/dist/admin/translations/dk.json.mjs +64 -0
  114. package/dist/admin/translations/dk.json.mjs.map +1 -0
  115. package/dist/admin/translations/en.json.js +81 -0
  116. package/dist/admin/translations/en.json.js.map +1 -0
  117. package/dist/admin/translations/en.json.mjs +79 -0
  118. package/dist/admin/translations/en.json.mjs.map +1 -0
  119. package/dist/admin/translations/es.json.js +66 -0
  120. package/dist/admin/translations/es.json.js.map +1 -0
  121. package/dist/admin/translations/es.json.mjs +64 -0
  122. package/dist/admin/translations/es.json.mjs.map +1 -0
  123. package/dist/admin/translations/fr.json.js +66 -0
  124. package/dist/admin/translations/fr.json.js.map +1 -0
  125. package/dist/admin/translations/fr.json.mjs +64 -0
  126. package/dist/admin/translations/fr.json.mjs.map +1 -0
  127. package/dist/admin/translations/ko.json.js +65 -0
  128. package/dist/admin/translations/ko.json.js.map +1 -0
  129. package/dist/admin/translations/ko.json.mjs +63 -0
  130. package/dist/admin/translations/ko.json.mjs.map +1 -0
  131. package/dist/admin/translations/pl.json.js +66 -0
  132. package/dist/admin/translations/pl.json.js.map +1 -0
  133. package/dist/admin/translations/pl.json.mjs +64 -0
  134. package/dist/admin/translations/pl.json.mjs.map +1 -0
  135. package/dist/admin/translations/ru.json.js +68 -0
  136. package/dist/admin/translations/ru.json.js.map +1 -0
  137. package/dist/admin/translations/ru.json.mjs +66 -0
  138. package/dist/admin/translations/ru.json.mjs.map +1 -0
  139. package/dist/admin/translations/tr.json.js +66 -0
  140. package/dist/admin/translations/tr.json.js.map +1 -0
  141. package/dist/admin/translations/tr.json.mjs +64 -0
  142. package/dist/admin/translations/tr.json.mjs.map +1 -0
  143. package/dist/admin/translations/uk.json.js +82 -0
  144. package/dist/admin/translations/uk.json.js.map +1 -0
  145. package/dist/admin/translations/uk.json.mjs +80 -0
  146. package/dist/admin/translations/uk.json.mjs.map +1 -0
  147. package/dist/admin/translations/zh-Hans.json.js +57 -0
  148. package/dist/admin/translations/zh-Hans.json.js.map +1 -0
  149. package/dist/admin/translations/zh-Hans.json.mjs +55 -0
  150. package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
  151. package/dist/admin/translations/zh.json.js +66 -0
  152. package/dist/admin/translations/zh.json.js.map +1 -0
  153. package/dist/admin/translations/zh.json.mjs +64 -0
  154. package/dist/admin/translations/zh.json.mjs.map +1 -0
  155. package/dist/admin/utils/baseQuery.js +8 -0
  156. package/dist/admin/utils/baseQuery.js.map +1 -0
  157. package/dist/admin/utils/baseQuery.mjs +6 -0
  158. package/dist/admin/utils/baseQuery.mjs.map +1 -0
  159. package/dist/admin/utils/clean.js +70 -0
  160. package/dist/admin/utils/clean.js.map +1 -0
  161. package/dist/admin/utils/clean.mjs +68 -0
  162. package/dist/admin/utils/clean.mjs.map +1 -0
  163. package/dist/admin/utils/fields.js +29 -0
  164. package/dist/admin/utils/fields.js.map +1 -0
  165. package/dist/admin/utils/fields.mjs +26 -0
  166. package/dist/admin/utils/fields.mjs.map +1 -0
  167. package/dist/admin/utils/getTranslation.js +8 -0
  168. package/dist/admin/utils/getTranslation.js.map +1 -0
  169. package/dist/admin/utils/getTranslation.mjs +6 -0
  170. package/dist/admin/utils/getTranslation.mjs.map +1 -0
  171. package/dist/admin/utils/prefixPluginTranslations.js +11 -0
  172. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
  173. package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
  174. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
  175. package/dist/admin/utils/schemas.js +68 -0
  176. package/dist/admin/utils/schemas.js.map +1 -0
  177. package/dist/admin/utils/schemas.mjs +66 -0
  178. package/dist/admin/utils/schemas.mjs.map +1 -0
  179. package/dist/admin/utils/strings.js +6 -0
  180. package/dist/admin/utils/strings.js.map +1 -0
  181. package/dist/admin/utils/strings.mjs +4 -0
  182. package/dist/admin/utils/strings.mjs.map +1 -0
  183. package/dist/server/bootstrap.js +79 -0
  184. package/dist/server/bootstrap.js.map +1 -0
  185. package/dist/server/bootstrap.mjs +77 -0
  186. package/dist/server/bootstrap.mjs.map +1 -0
  187. package/dist/server/constants/index.js +29 -0
  188. package/dist/server/constants/index.js.map +1 -0
  189. package/dist/server/constants/index.mjs +25 -0
  190. package/dist/server/constants/index.mjs.map +1 -0
  191. package/dist/server/constants/iso-locales.json.js +2423 -0
  192. package/dist/server/constants/iso-locales.json.js.map +1 -0
  193. package/dist/server/constants/iso-locales.json.mjs +2421 -0
  194. package/dist/server/constants/iso-locales.json.mjs.map +1 -0
  195. package/dist/server/content-types/index.js +10 -0
  196. package/dist/server/content-types/index.js.map +1 -0
  197. package/dist/server/content-types/index.mjs +8 -0
  198. package/dist/server/content-types/index.mjs.map +1 -0
  199. package/dist/server/content-types/locale/index.js +10 -0
  200. package/dist/server/content-types/locale/index.js.map +1 -0
  201. package/dist/server/content-types/locale/index.mjs +8 -0
  202. package/dist/server/content-types/locale/index.mjs.map +1 -0
  203. package/dist/server/content-types/locale/schema.json.js +46 -0
  204. package/dist/server/content-types/locale/schema.json.js.map +1 -0
  205. package/dist/server/content-types/locale/schema.json.mjs +38 -0
  206. package/dist/server/content-types/locale/schema.json.mjs.map +1 -0
  207. package/dist/server/controllers/content-types.js +76 -0
  208. package/dist/server/controllers/content-types.js.map +1 -0
  209. package/dist/server/controllers/content-types.mjs +74 -0
  210. package/dist/server/controllers/content-types.mjs.map +1 -0
  211. package/dist/server/controllers/index.js +14 -0
  212. package/dist/server/controllers/index.js.map +1 -0
  213. package/dist/server/controllers/index.mjs +12 -0
  214. package/dist/server/controllers/index.mjs.map +1 -0
  215. package/dist/server/controllers/iso-locales.js +13 -0
  216. package/dist/server/controllers/iso-locales.js.map +1 -0
  217. package/dist/server/controllers/iso-locales.mjs +11 -0
  218. package/dist/server/controllers/iso-locales.mjs.map +1 -0
  219. package/dist/server/controllers/locales.js +108 -0
  220. package/dist/server/controllers/locales.js.map +1 -0
  221. package/dist/server/controllers/locales.mjs +87 -0
  222. package/dist/server/controllers/locales.mjs.map +1 -0
  223. package/dist/server/controllers/validate-locale-creation.js +47 -0
  224. package/dist/server/controllers/validate-locale-creation.js.map +1 -0
  225. package/dist/server/controllers/validate-locale-creation.mjs +45 -0
  226. package/dist/server/controllers/validate-locale-creation.mjs.map +1 -0
  227. package/dist/server/domain/locale.js +11 -0
  228. package/dist/server/domain/locale.js.map +1 -0
  229. package/dist/server/domain/locale.mjs +9 -0
  230. package/dist/server/domain/locale.mjs.map +1 -0
  231. package/dist/server/graphql.js +115 -0
  232. package/dist/server/graphql.js.map +1 -0
  233. package/dist/server/graphql.mjs +113 -0
  234. package/dist/server/graphql.mjs.map +1 -0
  235. package/dist/server/index.js +18 -3430
  236. package/dist/server/index.js.map +1 -1
  237. package/dist/server/index.mjs +17 -3412
  238. package/dist/server/index.mjs.map +1 -1
  239. package/dist/server/register.js +79 -0
  240. package/dist/server/register.js.map +1 -0
  241. package/dist/server/register.mjs +77 -0
  242. package/dist/server/register.mjs.map +1 -0
  243. package/dist/server/routes/admin.js +102 -0
  244. package/dist/server/routes/admin.js.map +1 -0
  245. package/dist/server/routes/admin.mjs +100 -0
  246. package/dist/server/routes/admin.mjs.map +1 -0
  247. package/dist/server/routes/content-api.js +15 -0
  248. package/dist/server/routes/content-api.js.map +1 -0
  249. package/dist/server/routes/content-api.mjs +13 -0
  250. package/dist/server/routes/content-api.mjs.map +1 -0
  251. package/dist/server/routes/index.js +12 -0
  252. package/dist/server/routes/index.js.map +1 -0
  253. package/dist/server/routes/index.mjs +10 -0
  254. package/dist/server/routes/index.mjs.map +1 -0
  255. package/dist/server/services/content-types.js +157 -0
  256. package/dist/server/services/content-types.js.map +1 -0
  257. package/dist/server/services/content-types.mjs +155 -0
  258. package/dist/server/services/content-types.mjs.map +1 -0
  259. package/dist/server/services/index.js +22 -0
  260. package/dist/server/services/index.js.map +1 -0
  261. package/dist/server/services/index.mjs +20 -0
  262. package/dist/server/services/index.mjs.map +1 -0
  263. package/dist/server/services/iso-locales.js +12 -0
  264. package/dist/server/services/iso-locales.js.map +1 -0
  265. package/dist/server/services/iso-locales.mjs +10 -0
  266. package/dist/server/services/iso-locales.mjs.map +1 -0
  267. package/dist/server/services/locales.js +114 -0
  268. package/dist/server/services/locales.js.map +1 -0
  269. package/dist/server/services/locales.mjs +112 -0
  270. package/dist/server/services/locales.mjs.map +1 -0
  271. package/dist/server/services/localizations.js +68 -0
  272. package/dist/server/services/localizations.js.map +1 -0
  273. package/dist/server/services/localizations.mjs +66 -0
  274. package/dist/server/services/localizations.mjs.map +1 -0
  275. package/dist/server/services/metrics.js +30 -0
  276. package/dist/server/services/metrics.js.map +1 -0
  277. package/dist/server/services/metrics.mjs +28 -0
  278. package/dist/server/services/metrics.mjs.map +1 -0
  279. package/dist/server/services/permissions/actions.js +136 -0
  280. package/dist/server/services/permissions/actions.js.map +1 -0
  281. package/dist/server/services/permissions/actions.mjs +134 -0
  282. package/dist/server/services/permissions/actions.mjs.map +1 -0
  283. package/dist/server/services/permissions/engine.js +52 -0
  284. package/dist/server/services/permissions/engine.js.map +1 -0
  285. package/dist/server/services/permissions/engine.mjs +50 -0
  286. package/dist/server/services/permissions/engine.mjs.map +1 -0
  287. package/dist/server/services/permissions/sections-builder.js +45 -0
  288. package/dist/server/services/permissions/sections-builder.js.map +1 -0
  289. package/dist/server/services/permissions/sections-builder.mjs +43 -0
  290. package/dist/server/services/permissions/sections-builder.mjs.map +1 -0
  291. package/dist/server/services/permissions.js +14 -0
  292. package/dist/server/services/permissions.js.map +1 -0
  293. package/dist/server/services/permissions.mjs +12 -0
  294. package/dist/server/services/permissions.mjs.map +1 -0
  295. package/dist/server/services/sanitize/index.js +34 -0
  296. package/dist/server/services/sanitize/index.js.map +1 -0
  297. package/dist/server/services/sanitize/index.mjs +32 -0
  298. package/dist/server/services/sanitize/index.mjs.map +1 -0
  299. package/dist/server/src/index.d.ts +6 -0
  300. package/dist/server/src/index.d.ts.map +1 -1
  301. package/dist/server/src/register.d.ts.map +1 -1
  302. package/dist/server/src/services/index.d.ts +6 -0
  303. package/dist/server/src/services/index.d.ts.map +1 -1
  304. package/dist/server/src/services/localizations.d.ts +1 -1
  305. package/dist/server/src/services/localizations.d.ts.map +1 -1
  306. package/dist/server/src/services/sanitize/index.d.ts +11 -0
  307. package/dist/server/src/services/sanitize/index.d.ts.map +1 -0
  308. package/dist/server/src/utils/index.d.ts +2 -0
  309. package/dist/server/src/utils/index.d.ts.map +1 -1
  310. package/dist/server/utils/index.js +16 -0
  311. package/dist/server/utils/index.js.map +1 -0
  312. package/dist/server/utils/index.mjs +13 -0
  313. package/dist/server/utils/index.mjs.map +1 -0
  314. package/dist/server/validation/content-types.js +18 -0
  315. package/dist/server/validation/content-types.js.map +1 -0
  316. package/dist/server/validation/content-types.mjs +16 -0
  317. package/dist/server/validation/content-types.mjs.map +1 -0
  318. package/dist/server/validation/locales.js +23 -0
  319. package/dist/server/validation/locales.js.map +1 -0
  320. package/dist/server/validation/locales.mjs +20 -0
  321. package/dist/server/validation/locales.mjs.map +1 -0
  322. package/dist/shared/contracts/content-manager.d.ts +1 -1
  323. package/dist/shared/contracts/shared.d.ts +1 -1
  324. package/package.json +18 -16
  325. package/dist/_chunks/SettingsPage-DbRFoF_H.mjs +0 -554
  326. package/dist/_chunks/SettingsPage-DbRFoF_H.mjs.map +0 -1
  327. package/dist/_chunks/SettingsPage-uGJv15wR.js +0 -574
  328. package/dist/_chunks/SettingsPage-uGJv15wR.js.map +0 -1
  329. package/dist/_chunks/de-9eCAqqrB.mjs +0 -66
  330. package/dist/_chunks/de-9eCAqqrB.mjs.map +0 -1
  331. package/dist/_chunks/de-DtWiGdHl.js +0 -66
  332. package/dist/_chunks/de-DtWiGdHl.js.map +0 -1
  333. package/dist/_chunks/dk-2qBjxt-P.mjs +0 -66
  334. package/dist/_chunks/dk-2qBjxt-P.mjs.map +0 -1
  335. package/dist/_chunks/dk-D8C-casx.js +0 -66
  336. package/dist/_chunks/dk-D8C-casx.js.map +0 -1
  337. package/dist/_chunks/en-BYRZFDBV.mjs +0 -81
  338. package/dist/_chunks/en-BYRZFDBV.mjs.map +0 -1
  339. package/dist/_chunks/en-Dk9At9_Z.js +0 -81
  340. package/dist/_chunks/en-Dk9At9_Z.js.map +0 -1
  341. package/dist/_chunks/es-DS-XFGSw.js +0 -66
  342. package/dist/_chunks/es-DS-XFGSw.js.map +0 -1
  343. package/dist/_chunks/es-DlmMVaBG.mjs +0 -66
  344. package/dist/_chunks/es-DlmMVaBG.mjs.map +0 -1
  345. package/dist/_chunks/fr-3S6ke71d.mjs +0 -66
  346. package/dist/_chunks/fr-3S6ke71d.mjs.map +0 -1
  347. package/dist/_chunks/fr-BTjekDpq.js +0 -66
  348. package/dist/_chunks/fr-BTjekDpq.js.map +0 -1
  349. package/dist/_chunks/index-7_EUScSl.mjs +0 -1614
  350. package/dist/_chunks/index-7_EUScSl.mjs.map +0 -1
  351. package/dist/_chunks/index-BGtXLYX-.js +0 -1636
  352. package/dist/_chunks/index-BGtXLYX-.js.map +0 -1
  353. package/dist/_chunks/ko-DmcGUBQ3.js +0 -65
  354. package/dist/_chunks/ko-DmcGUBQ3.js.map +0 -1
  355. package/dist/_chunks/ko-qTjQ8IMw.mjs +0 -65
  356. package/dist/_chunks/ko-qTjQ8IMw.mjs.map +0 -1
  357. package/dist/_chunks/pl-B67TSHqT.mjs +0 -66
  358. package/dist/_chunks/pl-B67TSHqT.mjs.map +0 -1
  359. package/dist/_chunks/pl-Cn5RYonZ.js +0 -66
  360. package/dist/_chunks/pl-Cn5RYonZ.js.map +0 -1
  361. package/dist/_chunks/ru-BMBgVL3s.js +0 -68
  362. package/dist/_chunks/ru-BMBgVL3s.js.map +0 -1
  363. package/dist/_chunks/ru-hagMa57T.mjs +0 -68
  364. package/dist/_chunks/ru-hagMa57T.mjs.map +0 -1
  365. package/dist/_chunks/tr-CarUU76c.js +0 -66
  366. package/dist/_chunks/tr-CarUU76c.js.map +0 -1
  367. package/dist/_chunks/tr-Dw_jmkG-.mjs +0 -66
  368. package/dist/_chunks/tr-Dw_jmkG-.mjs.map +0 -1
  369. package/dist/_chunks/zh-57YM4amO.mjs +0 -66
  370. package/dist/_chunks/zh-57YM4amO.mjs.map +0 -1
  371. package/dist/_chunks/zh-CukOviB0.js +0 -66
  372. package/dist/_chunks/zh-CukOviB0.js.map +0 -1
  373. package/dist/_chunks/zh-Hans-DSHIXAa3.js +0 -57
  374. package/dist/_chunks/zh-Hans-DSHIXAa3.js.map +0 -1
  375. package/dist/_chunks/zh-Hans-Dyc-aR-h.mjs +0 -57
  376. package/dist/_chunks/zh-Hans-Dyc-aR-h.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.mjs","sources":["../../../../server/src/services/permissions/actions.ts"],"sourcesContent":["import { isArray, getOr, prop } from 'lodash/fp';\nimport { getService } from '../../utils';\n\nconst actions = [\n {\n section: 'settings',\n category: 'Internationalization',\n subCategory: 'Locales',\n pluginName: 'i18n',\n displayName: 'Create',\n uid: 'locale.create',\n },\n {\n section: 'settings',\n category: 'Internationalization',\n subCategory: 'Locales',\n pluginName: 'i18n',\n displayName: 'Read',\n uid: 'locale.read',\n aliases: [\n { actionId: 'plugin::content-manager.explorer.read', subjects: ['plugin::i18n.locale'] },\n ],\n },\n {\n section: 'settings',\n category: 'Internationalization',\n subCategory: 'Locales',\n pluginName: 'i18n',\n displayName: 'Update',\n uid: 'locale.update',\n },\n {\n section: 'settings',\n category: 'Internationalization',\n subCategory: 'Locales',\n pluginName: 'i18n',\n displayName: 'Delete',\n uid: 'locale.delete',\n },\n];\n\nconst addLocalesPropertyIfNeeded = ({ value: action }: any) => {\n const {\n section,\n options: { applyToProperties },\n } = action;\n\n // Only add the locales property to contentTypes' actions\n if (section !== 'contentTypes') {\n return;\n }\n\n // If the 'locales' property is already declared within the applyToProperties array, then ignore the next steps\n if (isArray(applyToProperties) && applyToProperties.includes('locales')) {\n return;\n }\n\n // Add the 'locales' property to the applyToProperties array (create it if necessary)\n action.options.applyToProperties = isArray(applyToProperties)\n ? applyToProperties.concat('locales')\n : ['locales'];\n};\n\nconst shouldApplyLocalesPropertyToSubject = ({ property, subject }: any) => {\n if (property === 'locales') {\n const model = strapi.getModel(subject);\n\n return getService('content-types').isLocalizedContentType(model);\n }\n\n return true;\n};\n\nconst addAllLocalesToPermissions = async (permissions: any) => {\n const { actionProvider } = strapi.service('admin::permission');\n const { find: findAllLocales } = getService('locales');\n\n const allLocales = await findAllLocales();\n const allLocalesCode = allLocales.map(prop('code'));\n\n return Promise.all(\n permissions.map(async (permission: any) => {\n const { action, subject } = permission;\n\n const appliesToLocalesProperty = await actionProvider.appliesToProperty(\n 'locales',\n action,\n subject\n );\n\n if (!appliesToLocalesProperty) {\n return permission;\n }\n\n const oldPermissionProperties = getOr({}, 'properties', permission);\n\n return { ...permission, properties: { ...oldPermissionProperties, locales: allLocalesCode } };\n })\n );\n};\n\nconst syncSuperAdminPermissionsWithLocales = async () => {\n const roleService = strapi.service('admin::role');\n const permissionService = strapi.service('admin::permission');\n\n const superAdminRole = await roleService.getSuperAdmin();\n\n if (!superAdminRole) {\n return;\n }\n\n const superAdminPermissions = await permissionService.findMany({\n where: {\n role: {\n id: superAdminRole.id,\n },\n },\n });\n\n const newSuperAdminPermissions = await addAllLocalesToPermissions(superAdminPermissions);\n\n await roleService.assignPermissions(superAdminRole.id, newSuperAdminPermissions);\n};\n\nconst registerI18nActions = async () => {\n const { actionProvider } = strapi.service('admin::permission');\n\n await actionProvider.registerMany(actions);\n};\n\nconst registerI18nActionsHooks = () => {\n const { actionProvider } = strapi.service('admin::permission');\n const { hooks } = strapi.service('admin::role');\n\n actionProvider.hooks.appliesPropertyToSubject.register(shouldApplyLocalesPropertyToSubject);\n hooks.willResetSuperAdminPermissions.register(addAllLocalesToPermissions);\n};\n\nconst updateActionsProperties = () => {\n const { actionProvider } = strapi.service('admin::permission');\n\n // Register the transformation for every new action\n actionProvider.hooks.willRegister.register(addLocalesPropertyIfNeeded);\n\n // Handle already registered actions\n actionProvider.values().forEach((action: any) => addLocalesPropertyIfNeeded({ value: action }));\n};\n\nexport default {\n actions,\n registerI18nActions,\n registerI18nActionsHooks,\n updateActionsProperties,\n syncSuperAdminPermissionsWithLocales,\n};\n"],"names":["actions","section","category","subCategory","pluginName","displayName","uid","aliases","actionId","subjects","addLocalesPropertyIfNeeded","value","action","options","applyToProperties","isArray","includes","concat","shouldApplyLocalesPropertyToSubject","property","subject","model","strapi","getModel","getService","isLocalizedContentType","addAllLocalesToPermissions","permissions","actionProvider","service","find","findAllLocales","allLocales","allLocalesCode","map","prop","Promise","all","permission","appliesToLocalesProperty","appliesToProperty","oldPermissionProperties","getOr","properties","locales","syncSuperAdminPermissionsWithLocales","roleService","permissionService","superAdminRole","getSuperAdmin","superAdminPermissions","findMany","where","role","id","newSuperAdminPermissions","assignPermissions","registerI18nActions","registerMany","registerI18nActionsHooks","hooks","appliesPropertyToSubject","register","willResetSuperAdminPermissions","updateActionsProperties","willRegister","values","forEach"],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ 'use strict';
2
+
3
+ var index = require('../../utils/index.js');
4
+
5
+ /**
6
+ * @typedef {object} WillRegisterPermissionContext
7
+ * @property {Permission} permission
8
+ * @property {object} user
9
+ * @property {object} condition
10
+ */ /**
11
+ * Locales property handler for the permission engine
12
+ * Add the has-locale-access condition if the locales property is defined
13
+ * @param {WillRegisterPermissionContext} context
14
+ */ const willRegisterPermission = (context)=>{
15
+ const { permission, condition, user } = context;
16
+ const { subject, properties } = permission;
17
+ const isSuperAdmin = strapi.service('admin::role').hasSuperAdminRole(user);
18
+ if (isSuperAdmin) {
19
+ return;
20
+ }
21
+ const { locales } = properties || {};
22
+ const { isLocalizedContentType } = index.getService('content-types');
23
+ // If there is no subject defined, ignore the permission
24
+ if (!subject) {
25
+ return;
26
+ }
27
+ const ct = strapi.contentTypes[subject];
28
+ // If the subject exists but isn't localized, ignore the permission
29
+ if (!isLocalizedContentType(ct)) {
30
+ return;
31
+ }
32
+ // If the subject is localized but the locales property is null (access to all locales), ignore the permission
33
+ if (locales === null) {
34
+ return;
35
+ }
36
+ condition.and({
37
+ locale: {
38
+ $in: locales || []
39
+ }
40
+ });
41
+ };
42
+ const registerI18nPermissionsHandlers = ()=>{
43
+ const { engine } = strapi.service('admin::permission');
44
+ engine.hooks['before-register.permission'].register(willRegisterPermission);
45
+ };
46
+ var engineService = {
47
+ willRegisterPermission,
48
+ registerI18nPermissionsHandlers
49
+ };
50
+
51
+ module.exports = engineService;
52
+ //# sourceMappingURL=engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sources":["../../../../server/src/services/permissions/engine.ts"],"sourcesContent":["import { getService } from '../../utils';\n\n/**\n * @typedef {object} WillRegisterPermissionContext\n * @property {Permission} permission\n * @property {object} user\n * @property {object} condition\n */\n\n/**\n * Locales property handler for the permission engine\n * Add the has-locale-access condition if the locales property is defined\n * @param {WillRegisterPermissionContext} context\n */\nconst willRegisterPermission = (context: any) => {\n const { permission, condition, user } = context;\n const { subject, properties } = permission;\n\n const isSuperAdmin = strapi.service('admin::role').hasSuperAdminRole(user);\n\n if (isSuperAdmin) {\n return;\n }\n\n const { locales } = properties || {};\n const { isLocalizedContentType } = getService('content-types');\n\n // If there is no subject defined, ignore the permission\n if (!subject) {\n return;\n }\n\n const ct = strapi.contentTypes[subject];\n\n // If the subject exists but isn't localized, ignore the permission\n if (!isLocalizedContentType(ct)) {\n return;\n }\n\n // If the subject is localized but the locales property is null (access to all locales), ignore the permission\n if (locales === null) {\n return;\n }\n\n condition.and({\n locale: {\n $in: locales || [],\n },\n });\n};\n\nconst registerI18nPermissionsHandlers = () => {\n const { engine } = strapi.service('admin::permission');\n\n engine.hooks['before-register.permission'].register(willRegisterPermission);\n};\n\nexport default {\n willRegisterPermission,\n registerI18nPermissionsHandlers,\n};\n"],"names":["willRegisterPermission","context","permission","condition","user","subject","properties","isSuperAdmin","strapi","service","hasSuperAdminRole","locales","isLocalizedContentType","getService","ct","contentTypes","and","locale","$in","registerI18nPermissionsHandlers","engine","hooks","register"],"mappings":";;;;AAEA;;;;;;;;;IAYA,MAAMA,yBAAyB,CAACC,OAAAA,GAAAA;AAC9B,IAAA,MAAM,EAAEC,UAAU,EAAEC,SAAS,EAAEC,IAAI,EAAE,GAAGH,OAAAA;AACxC,IAAA,MAAM,EAAEI,OAAO,EAAEC,UAAU,EAAE,GAAGJ,UAAAA;AAEhC,IAAA,MAAMK,eAAeC,MAAOC,CAAAA,OAAO,CAAC,aAAA,CAAA,CAAeC,iBAAiB,CAACN,IAAAA,CAAAA;AAErE,IAAA,IAAIG,YAAc,EAAA;AAChB,QAAA;AACF;AAEA,IAAA,MAAM,EAAEI,OAAO,EAAE,GAAGL,cAAc,EAAC;AACnC,IAAA,MAAM,EAAEM,sBAAsB,EAAE,GAAGC,gBAAW,CAAA,eAAA,CAAA;;AAG9C,IAAA,IAAI,CAACR,OAAS,EAAA;AACZ,QAAA;AACF;AAEA,IAAA,MAAMS,EAAKN,GAAAA,MAAAA,CAAOO,YAAY,CAACV,OAAQ,CAAA;;IAGvC,IAAI,CAACO,uBAAuBE,EAAK,CAAA,EAAA;AAC/B,QAAA;AACF;;AAGA,IAAA,IAAIH,YAAY,IAAM,EAAA;AACpB,QAAA;AACF;AAEAR,IAAAA,SAAAA,CAAUa,GAAG,CAAC;QACZC,MAAQ,EAAA;AACNC,YAAAA,GAAAA,EAAKP,WAAW;AAClB;AACF,KAAA,CAAA;AACF,CAAA;AAEA,MAAMQ,+BAAkC,GAAA,IAAA;AACtC,IAAA,MAAM,EAAEC,MAAM,EAAE,GAAGZ,MAAAA,CAAOC,OAAO,CAAC,mBAAA,CAAA;AAElCW,IAAAA,MAAAA,CAAOC,KAAK,CAAC,4BAA6B,CAAA,CAACC,QAAQ,CAACtB,sBAAAA,CAAAA;AACtD,CAAA;AAEA,oBAAe;AACbA,IAAAA,sBAAAA;AACAmB,IAAAA;AACF,CAAE;;;;"}
@@ -0,0 +1,50 @@
1
+ import { getService } from '../../utils/index.mjs';
2
+
3
+ /**
4
+ * @typedef {object} WillRegisterPermissionContext
5
+ * @property {Permission} permission
6
+ * @property {object} user
7
+ * @property {object} condition
8
+ */ /**
9
+ * Locales property handler for the permission engine
10
+ * Add the has-locale-access condition if the locales property is defined
11
+ * @param {WillRegisterPermissionContext} context
12
+ */ const willRegisterPermission = (context)=>{
13
+ const { permission, condition, user } = context;
14
+ const { subject, properties } = permission;
15
+ const isSuperAdmin = strapi.service('admin::role').hasSuperAdminRole(user);
16
+ if (isSuperAdmin) {
17
+ return;
18
+ }
19
+ const { locales } = properties || {};
20
+ const { isLocalizedContentType } = getService('content-types');
21
+ // If there is no subject defined, ignore the permission
22
+ if (!subject) {
23
+ return;
24
+ }
25
+ const ct = strapi.contentTypes[subject];
26
+ // If the subject exists but isn't localized, ignore the permission
27
+ if (!isLocalizedContentType(ct)) {
28
+ return;
29
+ }
30
+ // If the subject is localized but the locales property is null (access to all locales), ignore the permission
31
+ if (locales === null) {
32
+ return;
33
+ }
34
+ condition.and({
35
+ locale: {
36
+ $in: locales || []
37
+ }
38
+ });
39
+ };
40
+ const registerI18nPermissionsHandlers = ()=>{
41
+ const { engine } = strapi.service('admin::permission');
42
+ engine.hooks['before-register.permission'].register(willRegisterPermission);
43
+ };
44
+ var engineService = {
45
+ willRegisterPermission,
46
+ registerI18nPermissionsHandlers
47
+ };
48
+
49
+ export { engineService as default };
50
+ //# sourceMappingURL=engine.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.mjs","sources":["../../../../server/src/services/permissions/engine.ts"],"sourcesContent":["import { getService } from '../../utils';\n\n/**\n * @typedef {object} WillRegisterPermissionContext\n * @property {Permission} permission\n * @property {object} user\n * @property {object} condition\n */\n\n/**\n * Locales property handler for the permission engine\n * Add the has-locale-access condition if the locales property is defined\n * @param {WillRegisterPermissionContext} context\n */\nconst willRegisterPermission = (context: any) => {\n const { permission, condition, user } = context;\n const { subject, properties } = permission;\n\n const isSuperAdmin = strapi.service('admin::role').hasSuperAdminRole(user);\n\n if (isSuperAdmin) {\n return;\n }\n\n const { locales } = properties || {};\n const { isLocalizedContentType } = getService('content-types');\n\n // If there is no subject defined, ignore the permission\n if (!subject) {\n return;\n }\n\n const ct = strapi.contentTypes[subject];\n\n // If the subject exists but isn't localized, ignore the permission\n if (!isLocalizedContentType(ct)) {\n return;\n }\n\n // If the subject is localized but the locales property is null (access to all locales), ignore the permission\n if (locales === null) {\n return;\n }\n\n condition.and({\n locale: {\n $in: locales || [],\n },\n });\n};\n\nconst registerI18nPermissionsHandlers = () => {\n const { engine } = strapi.service('admin::permission');\n\n engine.hooks['before-register.permission'].register(willRegisterPermission);\n};\n\nexport default {\n willRegisterPermission,\n registerI18nPermissionsHandlers,\n};\n"],"names":["willRegisterPermission","context","permission","condition","user","subject","properties","isSuperAdmin","strapi","service","hasSuperAdminRole","locales","isLocalizedContentType","getService","ct","contentTypes","and","locale","$in","registerI18nPermissionsHandlers","engine","hooks","register"],"mappings":";;AAEA;;;;;;;;;IAYA,MAAMA,yBAAyB,CAACC,OAAAA,GAAAA;AAC9B,IAAA,MAAM,EAAEC,UAAU,EAAEC,SAAS,EAAEC,IAAI,EAAE,GAAGH,OAAAA;AACxC,IAAA,MAAM,EAAEI,OAAO,EAAEC,UAAU,EAAE,GAAGJ,UAAAA;AAEhC,IAAA,MAAMK,eAAeC,MAAOC,CAAAA,OAAO,CAAC,aAAA,CAAA,CAAeC,iBAAiB,CAACN,IAAAA,CAAAA;AAErE,IAAA,IAAIG,YAAc,EAAA;AAChB,QAAA;AACF;AAEA,IAAA,MAAM,EAAEI,OAAO,EAAE,GAAGL,cAAc,EAAC;AACnC,IAAA,MAAM,EAAEM,sBAAsB,EAAE,GAAGC,UAAW,CAAA,eAAA,CAAA;;AAG9C,IAAA,IAAI,CAACR,OAAS,EAAA;AACZ,QAAA;AACF;AAEA,IAAA,MAAMS,EAAKN,GAAAA,MAAAA,CAAOO,YAAY,CAACV,OAAQ,CAAA;;IAGvC,IAAI,CAACO,uBAAuBE,EAAK,CAAA,EAAA;AAC/B,QAAA;AACF;;AAGA,IAAA,IAAIH,YAAY,IAAM,EAAA;AACpB,QAAA;AACF;AAEAR,IAAAA,SAAAA,CAAUa,GAAG,CAAC;QACZC,MAAQ,EAAA;AACNC,YAAAA,GAAAA,EAAKP,WAAW;AAClB;AACF,KAAA,CAAA;AACF,CAAA;AAEA,MAAMQ,+BAAkC,GAAA,IAAA;AACtC,IAAA,MAAM,EAAEC,MAAM,EAAE,GAAGZ,MAAAA,CAAOC,OAAO,CAAC,mBAAA,CAAA;AAElCW,IAAAA,MAAAA,CAAOC,KAAK,CAAC,4BAA6B,CAAA,CAACC,QAAQ,CAACtB,sBAAAA,CAAAA;AACtD,CAAA;AAEA,oBAAe;AACbA,IAAAA,sBAAAA;AACAmB,IAAAA;AACF,CAAE;;;;"}
@@ -0,0 +1,45 @@
1
+ 'use strict';
2
+
3
+ var fp = require('lodash/fp');
4
+ var index = require('../../utils/index.js');
5
+
6
+ /**
7
+ * Handler for the permissions layout (sections builder)
8
+ * Adds the locales property to the subjects
9
+ * @param {Action} action
10
+ * @param {ContentTypesSection} section
11
+ * @return {Promise<void>}
12
+ */ const localesPropertyHandler = async ({ action, section })=>{
13
+ const { actionProvider } = strapi.service('admin::permission');
14
+ const locales = await index.getService('locales').find();
15
+ // Do not add the locales property if there is none registered
16
+ if (fp.isEmpty(locales)) {
17
+ return;
18
+ }
19
+ for (const subject of section.subjects){
20
+ const applies = await actionProvider.appliesToProperty('locales', action.actionId, subject.uid);
21
+ const hasLocalesProperty = subject.properties.find((property)=>property.value === 'locales');
22
+ if (applies && !hasLocalesProperty) {
23
+ subject.properties.push({
24
+ label: 'Locales',
25
+ value: 'locales',
26
+ children: locales.map(({ name, code })=>({
27
+ label: name || code,
28
+ value: code
29
+ }))
30
+ });
31
+ }
32
+ }
33
+ };
34
+ const registerLocalesPropertyHandler = ()=>{
35
+ const { sectionsBuilder } = strapi.service('admin::permission');
36
+ sectionsBuilder.addHandler('singleTypes', localesPropertyHandler);
37
+ sectionsBuilder.addHandler('collectionTypes', localesPropertyHandler);
38
+ };
39
+ var sectionsBuilderService = {
40
+ localesPropertyHandler,
41
+ registerLocalesPropertyHandler
42
+ };
43
+
44
+ module.exports = sectionsBuilderService;
45
+ //# sourceMappingURL=sections-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sections-builder.js","sources":["../../../../server/src/services/permissions/sections-builder.ts"],"sourcesContent":["import { isEmpty } from 'lodash/fp';\n\nimport { getService } from '../../utils';\n\n/**\n * Handler for the permissions layout (sections builder)\n * Adds the locales property to the subjects\n * @param {Action} action\n * @param {ContentTypesSection} section\n * @return {Promise<void>}\n */\nconst localesPropertyHandler = async ({ action, section }: any) => {\n const { actionProvider } = strapi.service('admin::permission');\n\n const locales = await getService('locales').find();\n\n // Do not add the locales property if there is none registered\n if (isEmpty(locales)) {\n return;\n }\n\n for (const subject of section.subjects) {\n const applies = await actionProvider.appliesToProperty('locales', action.actionId, subject.uid);\n const hasLocalesProperty = subject.properties.find(\n (property: any) => property.value === 'locales'\n );\n\n if (applies && !hasLocalesProperty) {\n subject.properties.push({\n label: 'Locales',\n value: 'locales',\n children: locales.map(({ name, code }: any) => ({ label: name || code, value: code })),\n });\n }\n }\n};\n\nconst registerLocalesPropertyHandler = () => {\n const { sectionsBuilder } = strapi.service('admin::permission');\n\n sectionsBuilder.addHandler('singleTypes', localesPropertyHandler);\n sectionsBuilder.addHandler('collectionTypes', localesPropertyHandler);\n};\n\nexport default {\n localesPropertyHandler,\n registerLocalesPropertyHandler,\n};\n"],"names":["localesPropertyHandler","action","section","actionProvider","strapi","service","locales","getService","find","isEmpty","subject","subjects","applies","appliesToProperty","actionId","uid","hasLocalesProperty","properties","property","value","push","label","children","map","name","code","registerLocalesPropertyHandler","sectionsBuilder","addHandler"],"mappings":";;;;;AAIA;;;;;;AAMC,IACD,MAAMA,sBAAyB,GAAA,OAAO,EAAEC,MAAM,EAAEC,OAAO,EAAO,GAAA;AAC5D,IAAA,MAAM,EAAEC,cAAc,EAAE,GAAGC,MAAAA,CAAOC,OAAO,CAAC,mBAAA,CAAA;AAE1C,IAAA,MAAMC,OAAU,GAAA,MAAMC,gBAAW,CAAA,SAAA,CAAA,CAAWC,IAAI,EAAA;;AAGhD,IAAA,IAAIC,WAAQH,OAAU,CAAA,EAAA;AACpB,QAAA;AACF;AAEA,IAAA,KAAK,MAAMI,OAAAA,IAAWR,OAAQS,CAAAA,QAAQ,CAAE;QACtC,MAAMC,OAAAA,GAAU,MAAMT,cAAAA,CAAeU,iBAAiB,CAAC,WAAWZ,MAAOa,CAAAA,QAAQ,EAAEJ,OAAAA,CAAQK,GAAG,CAAA;QAC9F,MAAMC,kBAAAA,GAAqBN,OAAQO,CAAAA,UAAU,CAACT,IAAI,CAChD,CAACU,QAAAA,GAAkBA,QAASC,CAAAA,KAAK,KAAK,SAAA,CAAA;QAGxC,IAAIP,OAAAA,IAAW,CAACI,kBAAoB,EAAA;YAClCN,OAAQO,CAAAA,UAAU,CAACG,IAAI,CAAC;gBACtBC,KAAO,EAAA,SAAA;gBACPF,KAAO,EAAA,SAAA;gBACPG,QAAUhB,EAAAA,OAAAA,CAAQiB,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAEC,IAAI,EAAO,IAAM;AAAEJ,wBAAAA,KAAAA,EAAOG,IAAQC,IAAAA,IAAAA;wBAAMN,KAAOM,EAAAA;qBAAK,CAAA;AACrF,aAAA,CAAA;AACF;AACF;AACF,CAAA;AAEA,MAAMC,8BAAiC,GAAA,IAAA;AACrC,IAAA,MAAM,EAAEC,eAAe,EAAE,GAAGvB,MAAAA,CAAOC,OAAO,CAAC,mBAAA,CAAA;IAE3CsB,eAAgBC,CAAAA,UAAU,CAAC,aAAe5B,EAAAA,sBAAAA,CAAAA;IAC1C2B,eAAgBC,CAAAA,UAAU,CAAC,iBAAmB5B,EAAAA,sBAAAA,CAAAA;AAChD,CAAA;AAEA,6BAAe;AACbA,IAAAA,sBAAAA;AACA0B,IAAAA;AACF,CAAE;;;;"}
@@ -0,0 +1,43 @@
1
+ import { isEmpty } from 'lodash/fp';
2
+ import { getService } from '../../utils/index.mjs';
3
+
4
+ /**
5
+ * Handler for the permissions layout (sections builder)
6
+ * Adds the locales property to the subjects
7
+ * @param {Action} action
8
+ * @param {ContentTypesSection} section
9
+ * @return {Promise<void>}
10
+ */ const localesPropertyHandler = async ({ action, section })=>{
11
+ const { actionProvider } = strapi.service('admin::permission');
12
+ const locales = await getService('locales').find();
13
+ // Do not add the locales property if there is none registered
14
+ if (isEmpty(locales)) {
15
+ return;
16
+ }
17
+ for (const subject of section.subjects){
18
+ const applies = await actionProvider.appliesToProperty('locales', action.actionId, subject.uid);
19
+ const hasLocalesProperty = subject.properties.find((property)=>property.value === 'locales');
20
+ if (applies && !hasLocalesProperty) {
21
+ subject.properties.push({
22
+ label: 'Locales',
23
+ value: 'locales',
24
+ children: locales.map(({ name, code })=>({
25
+ label: name || code,
26
+ value: code
27
+ }))
28
+ });
29
+ }
30
+ }
31
+ };
32
+ const registerLocalesPropertyHandler = ()=>{
33
+ const { sectionsBuilder } = strapi.service('admin::permission');
34
+ sectionsBuilder.addHandler('singleTypes', localesPropertyHandler);
35
+ sectionsBuilder.addHandler('collectionTypes', localesPropertyHandler);
36
+ };
37
+ var sectionsBuilderService = {
38
+ localesPropertyHandler,
39
+ registerLocalesPropertyHandler
40
+ };
41
+
42
+ export { sectionsBuilderService as default };
43
+ //# sourceMappingURL=sections-builder.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sections-builder.mjs","sources":["../../../../server/src/services/permissions/sections-builder.ts"],"sourcesContent":["import { isEmpty } from 'lodash/fp';\n\nimport { getService } from '../../utils';\n\n/**\n * Handler for the permissions layout (sections builder)\n * Adds the locales property to the subjects\n * @param {Action} action\n * @param {ContentTypesSection} section\n * @return {Promise<void>}\n */\nconst localesPropertyHandler = async ({ action, section }: any) => {\n const { actionProvider } = strapi.service('admin::permission');\n\n const locales = await getService('locales').find();\n\n // Do not add the locales property if there is none registered\n if (isEmpty(locales)) {\n return;\n }\n\n for (const subject of section.subjects) {\n const applies = await actionProvider.appliesToProperty('locales', action.actionId, subject.uid);\n const hasLocalesProperty = subject.properties.find(\n (property: any) => property.value === 'locales'\n );\n\n if (applies && !hasLocalesProperty) {\n subject.properties.push({\n label: 'Locales',\n value: 'locales',\n children: locales.map(({ name, code }: any) => ({ label: name || code, value: code })),\n });\n }\n }\n};\n\nconst registerLocalesPropertyHandler = () => {\n const { sectionsBuilder } = strapi.service('admin::permission');\n\n sectionsBuilder.addHandler('singleTypes', localesPropertyHandler);\n sectionsBuilder.addHandler('collectionTypes', localesPropertyHandler);\n};\n\nexport default {\n localesPropertyHandler,\n registerLocalesPropertyHandler,\n};\n"],"names":["localesPropertyHandler","action","section","actionProvider","strapi","service","locales","getService","find","isEmpty","subject","subjects","applies","appliesToProperty","actionId","uid","hasLocalesProperty","properties","property","value","push","label","children","map","name","code","registerLocalesPropertyHandler","sectionsBuilder","addHandler"],"mappings":";;;AAIA;;;;;;AAMC,IACD,MAAMA,sBAAyB,GAAA,OAAO,EAAEC,MAAM,EAAEC,OAAO,EAAO,GAAA;AAC5D,IAAA,MAAM,EAAEC,cAAc,EAAE,GAAGC,MAAAA,CAAOC,OAAO,CAAC,mBAAA,CAAA;AAE1C,IAAA,MAAMC,OAAU,GAAA,MAAMC,UAAW,CAAA,SAAA,CAAA,CAAWC,IAAI,EAAA;;AAGhD,IAAA,IAAIC,QAAQH,OAAU,CAAA,EAAA;AACpB,QAAA;AACF;AAEA,IAAA,KAAK,MAAMI,OAAAA,IAAWR,OAAQS,CAAAA,QAAQ,CAAE;QACtC,MAAMC,OAAAA,GAAU,MAAMT,cAAAA,CAAeU,iBAAiB,CAAC,WAAWZ,MAAOa,CAAAA,QAAQ,EAAEJ,OAAAA,CAAQK,GAAG,CAAA;QAC9F,MAAMC,kBAAAA,GAAqBN,OAAQO,CAAAA,UAAU,CAACT,IAAI,CAChD,CAACU,QAAAA,GAAkBA,QAASC,CAAAA,KAAK,KAAK,SAAA,CAAA;QAGxC,IAAIP,OAAAA,IAAW,CAACI,kBAAoB,EAAA;YAClCN,OAAQO,CAAAA,UAAU,CAACG,IAAI,CAAC;gBACtBC,KAAO,EAAA,SAAA;gBACPF,KAAO,EAAA,SAAA;gBACPG,QAAUhB,EAAAA,OAAAA,CAAQiB,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAEC,IAAI,EAAO,IAAM;AAAEJ,wBAAAA,KAAAA,EAAOG,IAAQC,IAAAA,IAAAA;wBAAMN,KAAOM,EAAAA;qBAAK,CAAA;AACrF,aAAA,CAAA;AACF;AACF;AACF,CAAA;AAEA,MAAMC,8BAAiC,GAAA,IAAA;AACrC,IAAA,MAAM,EAAEC,eAAe,EAAE,GAAGvB,MAAAA,CAAOC,OAAO,CAAC,mBAAA,CAAA;IAE3CsB,eAAgBC,CAAAA,UAAU,CAAC,aAAe5B,EAAAA,sBAAAA,CAAAA;IAC1C2B,eAAgBC,CAAAA,UAAU,CAAC,iBAAmB5B,EAAAA,sBAAAA,CAAAA;AAChD,CAAA;AAEA,6BAAe;AACbA,IAAAA,sBAAAA;AACA0B,IAAAA;AACF,CAAE;;;;"}
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ var actions = require('./permissions/actions.js');
4
+ var sectionsBuilder = require('./permissions/sections-builder.js');
5
+ var engine = require('./permissions/engine.js');
6
+
7
+ const permissions = ()=>({
8
+ actions: actions,
9
+ sectionsBuilder: sectionsBuilder,
10
+ engine: engine
11
+ });
12
+
13
+ module.exports = permissions;
14
+ //# sourceMappingURL=permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.js","sources":["../../../server/src/services/permissions.ts"],"sourcesContent":["import i18nActionsService from './permissions/actions';\nimport sectionsBuilderService from './permissions/sections-builder';\nimport engineService from './permissions/engine';\n\nconst permissions = () => ({\n actions: i18nActionsService,\n sectionsBuilder: sectionsBuilderService,\n engine: engineService,\n});\n\ntype PermissionsService = typeof permissions;\n\nexport default permissions;\nexport type { PermissionsService };\n"],"names":["permissions","actions","i18nActionsService","sectionsBuilder","sectionsBuilderService","engine","engineService"],"mappings":";;;;;;AAIMA,MAAAA,WAAAA,GAAc,KAAO;QACzBC,OAASC,EAAAA,OAAAA;QACTC,eAAiBC,EAAAA,eAAAA;QACjBC,MAAQC,EAAAA;KACV;;;;"}
@@ -0,0 +1,12 @@
1
+ import i18nActionsService from './permissions/actions.mjs';
2
+ import sectionsBuilderService from './permissions/sections-builder.mjs';
3
+ import engineService from './permissions/engine.mjs';
4
+
5
+ const permissions = ()=>({
6
+ actions: i18nActionsService,
7
+ sectionsBuilder: sectionsBuilderService,
8
+ engine: engineService
9
+ });
10
+
11
+ export { permissions as default };
12
+ //# sourceMappingURL=permissions.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.mjs","sources":["../../../server/src/services/permissions.ts"],"sourcesContent":["import i18nActionsService from './permissions/actions';\nimport sectionsBuilderService from './permissions/sections-builder';\nimport engineService from './permissions/engine';\n\nconst permissions = () => ({\n actions: i18nActionsService,\n sectionsBuilder: sectionsBuilderService,\n engine: engineService,\n});\n\ntype PermissionsService = typeof permissions;\n\nexport default permissions;\nexport type { PermissionsService };\n"],"names":["permissions","actions","i18nActionsService","sectionsBuilder","sectionsBuilderService","engine","engineService"],"mappings":";;;;AAIMA,MAAAA,WAAAA,GAAc,KAAO;QACzBC,OAASC,EAAAA,kBAAAA;QACTC,eAAiBC,EAAAA,sBAAAA;QACjBC,MAAQC,EAAAA;KACV;;;;"}
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ var utils = require('@strapi/utils');
4
+ var fp = require('lodash/fp');
5
+ var index = require('../../utils/index.js');
6
+
7
+ const LOCALIZATION_FIELDS = [
8
+ 'locale',
9
+ 'localizations'
10
+ ];
11
+ const sanitize = ({ strapi })=>{
12
+ const { isLocalizedContentType } = index.getService('content-types');
13
+ /**
14
+ * Sanitizes localization fields of a given entity based on its schema.
15
+ *
16
+ * Remove localization-related fields that are unnecessary, that is
17
+ * for schemas that aren't localized.
18
+ */ const sanitizeLocalizationFields = fp.curry((schema, entity)=>utils.traverseEntity(({ key, schema }, { remove })=>{
19
+ const isLocalized = isLocalizedContentType(schema);
20
+ const isLocalizationField = LOCALIZATION_FIELDS.includes(key);
21
+ if (!isLocalized && isLocalizationField) {
22
+ remove(key);
23
+ }
24
+ }, {
25
+ schema,
26
+ getModel: strapi.getModel.bind(strapi)
27
+ }, entity));
28
+ return {
29
+ sanitizeLocalizationFields
30
+ };
31
+ };
32
+
33
+ module.exports = sanitize;
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../server/src/services/sanitize/index.ts"],"sourcesContent":["import type { Core, Schema, Data } from '@strapi/types';\n\nimport { traverseEntity } from '@strapi/utils';\nimport { curry } from 'lodash/fp';\n\nimport { getService } from '../../utils';\n\nconst LOCALIZATION_FIELDS = ['locale', 'localizations'];\n\nconst sanitize = ({ strapi }: { strapi: Core.Strapi }) => {\n const { isLocalizedContentType } = getService('content-types');\n\n /**\n * Sanitizes localization fields of a given entity based on its schema.\n *\n * Remove localization-related fields that are unnecessary, that is\n * for schemas that aren't localized.\n */\n const sanitizeLocalizationFields = curry((schema: Schema.Schema, entity: Data.Entity) =>\n traverseEntity(\n ({ key, schema }, { remove }) => {\n const isLocalized = isLocalizedContentType(schema);\n const isLocalizationField = LOCALIZATION_FIELDS.includes(key);\n\n if (!isLocalized && isLocalizationField) {\n remove(key);\n }\n },\n { schema, getModel: strapi.getModel.bind(strapi) },\n entity\n )\n );\n\n return {\n sanitizeLocalizationFields,\n };\n};\n\ntype SanitizeService = typeof sanitize;\n\nexport default sanitize;\nexport type { SanitizeService };\n"],"names":["LOCALIZATION_FIELDS","sanitize","strapi","isLocalizedContentType","getService","sanitizeLocalizationFields","curry","schema","entity","traverseEntity","key","remove","isLocalized","isLocalizationField","includes","getModel","bind"],"mappings":";;;;;;AAOA,MAAMA,mBAAsB,GAAA;AAAC,IAAA,QAAA;AAAU,IAAA;AAAgB,CAAA;AAEvD,MAAMC,QAAW,GAAA,CAAC,EAAEC,MAAM,EAA2B,GAAA;AACnD,IAAA,MAAM,EAAEC,sBAAsB,EAAE,GAAGC,gBAAW,CAAA,eAAA,CAAA;AAE9C;;;;;AAKC,MACD,MAAMC,0BAA6BC,GAAAA,QAAAA,CAAM,CAACC,MAAAA,EAAuBC,SAC/DC,oBACE,CAAA,CAAC,EAAEC,GAAG,EAAEH,MAAM,EAAE,EAAE,EAAEI,MAAM,EAAE,GAAA;AAC1B,YAAA,MAAMC,cAAcT,sBAAuBI,CAAAA,MAAAA,CAAAA;YAC3C,MAAMM,mBAAAA,GAAsBb,mBAAoBc,CAAAA,QAAQ,CAACJ,GAAAA,CAAAA;YAEzD,IAAI,CAACE,eAAeC,mBAAqB,EAAA;gBACvCF,MAAOD,CAAAA,GAAAA,CAAAA;AACT;SAEF,EAAA;AAAEH,YAAAA,MAAAA;AAAQQ,YAAAA,QAAAA,EAAUb,MAAOa,CAAAA,QAAQ,CAACC,IAAI,CAACd,MAAAA;SACzCM,EAAAA,MAAAA,CAAAA,CAAAA;IAIJ,OAAO;AACLH,QAAAA;AACF,KAAA;AACF;;;;"}
@@ -0,0 +1,32 @@
1
+ import { traverseEntity } from '@strapi/utils';
2
+ import { curry } from 'lodash/fp';
3
+ import { getService } from '../../utils/index.mjs';
4
+
5
+ const LOCALIZATION_FIELDS = [
6
+ 'locale',
7
+ 'localizations'
8
+ ];
9
+ const sanitize = ({ strapi })=>{
10
+ const { isLocalizedContentType } = getService('content-types');
11
+ /**
12
+ * Sanitizes localization fields of a given entity based on its schema.
13
+ *
14
+ * Remove localization-related fields that are unnecessary, that is
15
+ * for schemas that aren't localized.
16
+ */ const sanitizeLocalizationFields = curry((schema, entity)=>traverseEntity(({ key, schema }, { remove })=>{
17
+ const isLocalized = isLocalizedContentType(schema);
18
+ const isLocalizationField = LOCALIZATION_FIELDS.includes(key);
19
+ if (!isLocalized && isLocalizationField) {
20
+ remove(key);
21
+ }
22
+ }, {
23
+ schema,
24
+ getModel: strapi.getModel.bind(strapi)
25
+ }, entity));
26
+ return {
27
+ sanitizeLocalizationFields
28
+ };
29
+ };
30
+
31
+ export { sanitize as default };
32
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../server/src/services/sanitize/index.ts"],"sourcesContent":["import type { Core, Schema, Data } from '@strapi/types';\n\nimport { traverseEntity } from '@strapi/utils';\nimport { curry } from 'lodash/fp';\n\nimport { getService } from '../../utils';\n\nconst LOCALIZATION_FIELDS = ['locale', 'localizations'];\n\nconst sanitize = ({ strapi }: { strapi: Core.Strapi }) => {\n const { isLocalizedContentType } = getService('content-types');\n\n /**\n * Sanitizes localization fields of a given entity based on its schema.\n *\n * Remove localization-related fields that are unnecessary, that is\n * for schemas that aren't localized.\n */\n const sanitizeLocalizationFields = curry((schema: Schema.Schema, entity: Data.Entity) =>\n traverseEntity(\n ({ key, schema }, { remove }) => {\n const isLocalized = isLocalizedContentType(schema);\n const isLocalizationField = LOCALIZATION_FIELDS.includes(key);\n\n if (!isLocalized && isLocalizationField) {\n remove(key);\n }\n },\n { schema, getModel: strapi.getModel.bind(strapi) },\n entity\n )\n );\n\n return {\n sanitizeLocalizationFields,\n };\n};\n\ntype SanitizeService = typeof sanitize;\n\nexport default sanitize;\nexport type { SanitizeService };\n"],"names":["LOCALIZATION_FIELDS","sanitize","strapi","isLocalizedContentType","getService","sanitizeLocalizationFields","curry","schema","entity","traverseEntity","key","remove","isLocalized","isLocalizationField","includes","getModel","bind"],"mappings":";;;;AAOA,MAAMA,mBAAsB,GAAA;AAAC,IAAA,QAAA;AAAU,IAAA;AAAgB,CAAA;AAEvD,MAAMC,QAAW,GAAA,CAAC,EAAEC,MAAM,EAA2B,GAAA;AACnD,IAAA,MAAM,EAAEC,sBAAsB,EAAE,GAAGC,UAAW,CAAA,eAAA,CAAA;AAE9C;;;;;AAKC,MACD,MAAMC,0BAA6BC,GAAAA,KAAAA,CAAM,CAACC,MAAAA,EAAuBC,SAC/DC,cACE,CAAA,CAAC,EAAEC,GAAG,EAAEH,MAAM,EAAE,EAAE,EAAEI,MAAM,EAAE,GAAA;AAC1B,YAAA,MAAMC,cAAcT,sBAAuBI,CAAAA,MAAAA,CAAAA;YAC3C,MAAMM,mBAAAA,GAAsBb,mBAAoBc,CAAAA,QAAQ,CAACJ,GAAAA,CAAAA;YAEzD,IAAI,CAACE,eAAeC,mBAAqB,EAAA;gBACvCF,MAAOD,CAAAA,GAAAA,CAAAA;AACT;SAEF,EAAA;AAAEH,YAAAA,MAAAA;AAAQQ,YAAAA,QAAAA,EAAUb,MAAOa,CAAAA,QAAQ,CAACC,IAAI,CAACd,MAAAA;SACzCM,EAAAA,MAAAA,CAAAA,CAAAA;IAIJ,OAAO;AACLH,QAAAA;AACF,KAAA;AACF;;;;"}
@@ -1,4 +1,5 @@
1
1
  /// <reference types="koa" />
2
+ /// <reference types="lodash" />
2
3
  declare const _default: () => {
3
4
  register: ({ strapi }: {
4
5
  strapi: import("@strapi/types/dist/core").Strapi;
@@ -129,6 +130,11 @@ declare const _default: () => {
129
130
  delete: ({ id }: any) => Promise<any>;
130
131
  initDefaultLocale: () => Promise<void>;
131
132
  };
133
+ sanitize: ({ strapi }: {
134
+ strapi: import("@strapi/types/dist/core").Strapi;
135
+ }) => {
136
+ sanitizeLocalizationFields: import("lodash").CurriedFunction2<import("@strapi/types/dist/struct").ContentTypeSchema | import("@strapi/types/dist/struct").ComponentSchema, import("@strapi/types/dist/data").Entity<import("@strapi/types/dist/uid").Schema, string>, Promise<import("@strapi/utils/dist/types").Data>>;
137
+ };
132
138
  'iso-locales': () => {
133
139
  getIsoLocales: () => {
134
140
  code: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../server/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,wBAOG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../server/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,wBAOG"}
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../server/src/register.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;qCAKd;IAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE;AAAnD,wBAGE"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../server/src/register.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;qCAMd;IAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE;AAAnD,wBAGE"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="lodash" />
1
2
  declare const _default: {
2
3
  permissions: () => {
3
4
  actions: {
@@ -55,6 +56,11 @@ declare const _default: {
55
56
  delete: ({ id }: any) => Promise<any>;
56
57
  initDefaultLocale: () => Promise<void>;
57
58
  };
59
+ sanitize: ({ strapi }: {
60
+ strapi: import("@strapi/types/dist/core").Strapi;
61
+ }) => {
62
+ sanitizeLocalizationFields: import("lodash").CurriedFunction2<import("@strapi/types/dist/struct").ContentTypeSchema | import("@strapi/types/dist/struct").ComponentSchema, import("@strapi/types/dist/data").Entity<import("@strapi/types/dist/uid").Schema, string>, Promise<import("@strapi/utils/dist/types").Data>>;
63
+ };
58
64
  'iso-locales': () => {
59
65
  getIsoLocales: () => {
60
66
  code: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,wBAOE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,wBAQE"}
@@ -1,4 +1,4 @@
1
- import { type Schema } from '@strapi/types';
1
+ import type { Schema } from '@strapi/types';
2
2
  declare const localizations: () => {
3
3
  syncNonLocalizedAttributes: (sourceEntry: any, model: Schema.ContentType) => Promise<void>;
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"localizations.d.ts","sourceRoot":"","sources":["../../../../server/src/services/localizations.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AA+D5C,QAAA,MAAM,aAAa;8CAxDoC,GAAG,SAAS,OAAO,WAAW;CA0DnF,CAAC;AAEH,KAAK,oBAAoB,GAAG,OAAO,aAAa,CAAC;AAEjD,eAAe,aAAa,CAAC;AAC7B,YAAY,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"localizations.d.ts","sourceRoot":"","sources":["../../../../server/src/services/localizations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AA+D5C,QAAA,MAAM,aAAa;8CAxDoC,GAAG,SAAS,OAAO,WAAW;CA0DnF,CAAC;AAEH,KAAK,oBAAoB,GAAG,OAAO,aAAa,CAAC;AAEjD,eAAe,aAAa,CAAC;AAC7B,YAAY,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ /// <reference types="lodash" />
2
+ import type { Core, Data } from '@strapi/types';
3
+ declare const sanitize: ({ strapi }: {
4
+ strapi: Core.Strapi;
5
+ }) => {
6
+ sanitizeLocalizationFields: import("lodash").CurriedFunction2<import("@strapi/types/dist/struct").ContentTypeSchema | import("@strapi/types/dist/struct").ComponentSchema, Data.Entity<import("@strapi/types/dist/uid").Schema, string>, Promise<import("@strapi/utils/dist/types").Data>>;
7
+ };
8
+ type SanitizeService = typeof sanitize;
9
+ export default sanitize;
10
+ export type { SanitizeService };
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../server/src/services/sanitize/index.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,IAAI,EAAU,IAAI,EAAE,MAAM,eAAe,CAAC;AASxD,QAAA,MAAM,QAAQ,eAAgB;IAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE;;CA2BpD,CAAC;AAEF,KAAK,eAAe,GAAG,OAAO,QAAQ,CAAC;AAEvC,eAAe,QAAQ,CAAC;AACxB,YAAY,EAAE,eAAe,EAAE,CAAC"}
@@ -4,6 +4,7 @@ import type { ContentTypesService } from '../services/content-types';
4
4
  import type { MetricsService } from '../services/metrics';
5
5
  import type { ISOLocalesService } from '../services/iso-locales';
6
6
  import type { LocalizationsService } from '../services/localizations';
7
+ import type { SanitizeService } from '../services/sanitize';
7
8
  type S = {
8
9
  permissions: PermissionsService;
9
10
  metrics: MetricsService;
@@ -11,6 +12,7 @@ type S = {
11
12
  localizations: LocalizationsService;
12
13
  ['iso-locales']: ISOLocalesService;
13
14
  ['content-types']: ContentTypesService;
15
+ sanitize: SanitizeService;
14
16
  };
15
17
  declare const getCoreStore: () => {
16
18
  get(params?: Partial<{
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,KAAK,CAAC,GAAG;IACP,WAAW,EAAE,kBAAkB,CAAC;IAChC,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,aAAa,CAAC;IACvB,aAAa,EAAE,oBAAoB,CAAC;IACpC,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IACnC,CAAC,eAAe,CAAC,EAAE,mBAAmB,CAAC;CACxC,CAAC;AAEF,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;CAEjB,CAAC;AAGF,QAAA,MAAM,UAAU,4BAA6B,CAAC,KAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAE/D,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,KAAK,CAAC,GAAG;IACP,WAAW,EAAE,kBAAkB,CAAC;IAChC,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,aAAa,CAAC;IACvB,aAAa,EAAE,oBAAoB,CAAC;IACpC,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IACnC,CAAC,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACvC,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;CAEjB,CAAC;AAGF,QAAA,MAAM,UAAU,4BAA6B,CAAC,KAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAE/D,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ const getCoreStore = ()=>{
4
+ return strapi.store({
5
+ type: 'plugin',
6
+ name: 'i18n'
7
+ });
8
+ };
9
+ // retrieve a local service
10
+ const getService = (name)=>{
11
+ return strapi.plugin('i18n').service(name);
12
+ };
13
+
14
+ exports.getCoreStore = getCoreStore;
15
+ exports.getService = getService;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../server/src/utils/index.ts"],"sourcesContent":["import type { LocaleService } from '../services/locales';\nimport type { PermissionsService } from '../services/permissions';\nimport type { ContentTypesService } from '../services/content-types';\nimport type { MetricsService } from '../services/metrics';\nimport type { ISOLocalesService } from '../services/iso-locales';\nimport type { LocalizationsService } from '../services/localizations';\nimport type { SanitizeService } from '../services/sanitize';\n\ntype S = {\n permissions: PermissionsService;\n metrics: MetricsService;\n locales: LocaleService;\n localizations: LocalizationsService;\n ['iso-locales']: ISOLocalesService;\n ['content-types']: ContentTypesService;\n sanitize: SanitizeService;\n};\n\nconst getCoreStore = () => {\n return strapi.store({ type: 'plugin', name: 'i18n' });\n};\n\n// retrieve a local service\nconst getService = <T extends keyof S>(name: T): ReturnType<S[T]> => {\n return strapi.plugin('i18n').service(name);\n};\n\nexport { getService, getCoreStore };\n"],"names":["getCoreStore","strapi","store","type","name","getService","plugin","service"],"mappings":";;AAkBA,MAAMA,YAAe,GAAA,IAAA;IACnB,OAAOC,MAAAA,CAAOC,KAAK,CAAC;QAAEC,IAAM,EAAA,QAAA;QAAUC,IAAM,EAAA;AAAO,KAAA,CAAA;AACrD;AAEA;AACA,MAAMC,aAAa,CAAoBD,IAAAA,GAAAA;AACrC,IAAA,OAAOH,MAAOK,CAAAA,MAAM,CAAC,MAAA,CAAA,CAAQC,OAAO,CAACH,IAAAA,CAAAA;AACvC;;;;;"}
@@ -0,0 +1,13 @@
1
+ const getCoreStore = ()=>{
2
+ return strapi.store({
3
+ type: 'plugin',
4
+ name: 'i18n'
5
+ });
6
+ };
7
+ // retrieve a local service
8
+ const getService = (name)=>{
9
+ return strapi.plugin('i18n').service(name);
10
+ };
11
+
12
+ export { getCoreStore, getService };
13
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../server/src/utils/index.ts"],"sourcesContent":["import type { LocaleService } from '../services/locales';\nimport type { PermissionsService } from '../services/permissions';\nimport type { ContentTypesService } from '../services/content-types';\nimport type { MetricsService } from '../services/metrics';\nimport type { ISOLocalesService } from '../services/iso-locales';\nimport type { LocalizationsService } from '../services/localizations';\nimport type { SanitizeService } from '../services/sanitize';\n\ntype S = {\n permissions: PermissionsService;\n metrics: MetricsService;\n locales: LocaleService;\n localizations: LocalizationsService;\n ['iso-locales']: ISOLocalesService;\n ['content-types']: ContentTypesService;\n sanitize: SanitizeService;\n};\n\nconst getCoreStore = () => {\n return strapi.store({ type: 'plugin', name: 'i18n' });\n};\n\n// retrieve a local service\nconst getService = <T extends keyof S>(name: T): ReturnType<S[T]> => {\n return strapi.plugin('i18n').service(name);\n};\n\nexport { getService, getCoreStore };\n"],"names":["getCoreStore","strapi","store","type","name","getService","plugin","service"],"mappings":"AAkBA,MAAMA,YAAe,GAAA,IAAA;IACnB,OAAOC,MAAAA,CAAOC,KAAK,CAAC;QAAEC,IAAM,EAAA,QAAA;QAAUC,IAAM,EAAA;AAAO,KAAA,CAAA;AACrD;AAEA;AACA,MAAMC,aAAa,CAAoBD,IAAAA,GAAAA;AACrC,IAAA,OAAOH,MAAOK,CAAAA,MAAM,CAAC,MAAA,CAAA,CAAQC,OAAO,CAACH,IAAAA,CAAAA;AACvC;;;;"}
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ var utils = require('@strapi/utils');
4
+ var fp = require('lodash/fp');
5
+
6
+ const validateGetNonLocalizedAttributesSchema = utils.yup.object().shape({
7
+ model: utils.yup.string().required(),
8
+ id: utils.yup.mixed().when('model', {
9
+ is: (model)=>fp.get('kind', strapi.contentType(model)) === 'singleType',
10
+ then: utils.yup.strapiID().nullable(),
11
+ otherwise: utils.yup.strapiID().required()
12
+ }),
13
+ locale: utils.yup.string().required()
14
+ }).noUnknown().required();
15
+ const validateGetNonLocalizedAttributesInput = utils.validateYupSchema(validateGetNonLocalizedAttributesSchema);
16
+
17
+ exports.validateGetNonLocalizedAttributesInput = validateGetNonLocalizedAttributesInput;
18
+ //# sourceMappingURL=content-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-types.js","sources":["../../../server/src/validation/content-types.ts"],"sourcesContent":["import { yup, validateYupSchema } from '@strapi/utils';\n\nimport { get } from 'lodash/fp';\n\nconst validateGetNonLocalizedAttributesSchema = yup\n .object()\n .shape({\n model: yup.string().required(),\n id: yup.mixed().when('model', {\n is: (model: any) => get('kind', strapi.contentType(model)) === 'singleType',\n then: yup.strapiID().nullable(),\n otherwise: yup.strapiID().required(),\n }),\n locale: yup.string().required(),\n })\n .noUnknown()\n .required();\n\nconst validateGetNonLocalizedAttributesInput = validateYupSchema(\n validateGetNonLocalizedAttributesSchema\n);\n\nexport { validateGetNonLocalizedAttributesInput };\n"],"names":["validateGetNonLocalizedAttributesSchema","yup","object","shape","model","string","required","id","mixed","when","is","get","strapi","contentType","then","strapiID","nullable","otherwise","locale","noUnknown","validateGetNonLocalizedAttributesInput","validateYupSchema"],"mappings":";;;;;AAIA,MAAMA,uCAA0CC,GAAAA,SAAAA,CAC7CC,MAAM,EAAA,CACNC,KAAK,CAAC;IACLC,KAAOH,EAAAA,SAAAA,CAAII,MAAM,EAAA,CAAGC,QAAQ,EAAA;AAC5BC,IAAAA,EAAAA,EAAIN,SAAIO,CAAAA,KAAK,EAAGC,CAAAA,IAAI,CAAC,OAAS,EAAA;AAC5BC,QAAAA,EAAAA,EAAI,CAACN,KAAeO,GAAAA,MAAAA,CAAI,QAAQC,MAAOC,CAAAA,WAAW,CAACT,KAAY,CAAA,CAAA,KAAA,YAAA;QAC/DU,IAAMb,EAAAA,SAAAA,CAAIc,QAAQ,EAAA,CAAGC,QAAQ,EAAA;QAC7BC,SAAWhB,EAAAA,SAAAA,CAAIc,QAAQ,EAAA,CAAGT,QAAQ;AACpC,KAAA,CAAA;IACAY,MAAQjB,EAAAA,SAAAA,CAAII,MAAM,EAAA,CAAGC,QAAQ;AAC/B,CACCa,CAAAA,CAAAA,SAAS,GACTb,QAAQ,EAAA;AAEX,MAAMc,yCAAyCC,uBAC7CrB,CAAAA,uCAAAA;;;;"}
@@ -0,0 +1,16 @@
1
+ import { yup, validateYupSchema } from '@strapi/utils';
2
+ import { get } from 'lodash/fp';
3
+
4
+ const validateGetNonLocalizedAttributesSchema = yup.object().shape({
5
+ model: yup.string().required(),
6
+ id: yup.mixed().when('model', {
7
+ is: (model)=>get('kind', strapi.contentType(model)) === 'singleType',
8
+ then: yup.strapiID().nullable(),
9
+ otherwise: yup.strapiID().required()
10
+ }),
11
+ locale: yup.string().required()
12
+ }).noUnknown().required();
13
+ const validateGetNonLocalizedAttributesInput = validateYupSchema(validateGetNonLocalizedAttributesSchema);
14
+
15
+ export { validateGetNonLocalizedAttributesInput };
16
+ //# sourceMappingURL=content-types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-types.mjs","sources":["../../../server/src/validation/content-types.ts"],"sourcesContent":["import { yup, validateYupSchema } from '@strapi/utils';\n\nimport { get } from 'lodash/fp';\n\nconst validateGetNonLocalizedAttributesSchema = yup\n .object()\n .shape({\n model: yup.string().required(),\n id: yup.mixed().when('model', {\n is: (model: any) => get('kind', strapi.contentType(model)) === 'singleType',\n then: yup.strapiID().nullable(),\n otherwise: yup.strapiID().required(),\n }),\n locale: yup.string().required(),\n })\n .noUnknown()\n .required();\n\nconst validateGetNonLocalizedAttributesInput = validateYupSchema(\n validateGetNonLocalizedAttributesSchema\n);\n\nexport { validateGetNonLocalizedAttributesInput };\n"],"names":["validateGetNonLocalizedAttributesSchema","yup","object","shape","model","string","required","id","mixed","when","is","get","strapi","contentType","then","strapiID","nullable","otherwise","locale","noUnknown","validateGetNonLocalizedAttributesInput","validateYupSchema"],"mappings":";;;AAIA,MAAMA,uCAA0CC,GAAAA,GAAAA,CAC7CC,MAAM,EAAA,CACNC,KAAK,CAAC;IACLC,KAAOH,EAAAA,GAAAA,CAAII,MAAM,EAAA,CAAGC,QAAQ,EAAA;AAC5BC,IAAAA,EAAAA,EAAIN,GAAIO,CAAAA,KAAK,EAAGC,CAAAA,IAAI,CAAC,OAAS,EAAA;AAC5BC,QAAAA,EAAAA,EAAI,CAACN,KAAeO,GAAAA,GAAAA,CAAI,QAAQC,MAAOC,CAAAA,WAAW,CAACT,KAAY,CAAA,CAAA,KAAA,YAAA;QAC/DU,IAAMb,EAAAA,GAAAA,CAAIc,QAAQ,EAAA,CAAGC,QAAQ,EAAA;QAC7BC,SAAWhB,EAAAA,GAAAA,CAAIc,QAAQ,EAAA,CAAGT,QAAQ;AACpC,KAAA,CAAA;IACAY,MAAQjB,EAAAA,GAAAA,CAAII,MAAM,EAAA,CAAGC,QAAQ;AAC/B,CACCa,CAAAA,CAAAA,SAAS,GACTb,QAAQ,EAAA;AAEX,MAAMc,yCAAyCC,iBAC7CrB,CAAAA,uCAAAA;;;;"}
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ var fp = require('lodash/fp');
4
+ var utils = require('@strapi/utils');
5
+ require('../constants/index.js');
6
+ var isoLocales = require('../constants/iso-locales.json.js');
7
+
8
+ const allowedLocaleCodes = isoLocales.map(fp.prop('code'));
9
+ const createLocaleSchema = utils.yup.object().shape({
10
+ name: utils.yup.string().max(50).nullable(),
11
+ code: utils.yup.string().oneOf(allowedLocaleCodes).required(),
12
+ isDefault: utils.yup.boolean().required()
13
+ }).noUnknown();
14
+ const updateLocaleSchema = utils.yup.object().shape({
15
+ name: utils.yup.string().min(1).max(50).nullable(),
16
+ isDefault: utils.yup.boolean()
17
+ }).noUnknown();
18
+ const validateCreateLocaleInput = utils.validateYupSchema(createLocaleSchema);
19
+ const validateUpdateLocaleInput = utils.validateYupSchema(updateLocaleSchema);
20
+
21
+ exports.validateCreateLocaleInput = validateCreateLocaleInput;
22
+ exports.validateUpdateLocaleInput = validateUpdateLocaleInput;
23
+ //# sourceMappingURL=locales.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locales.js","sources":["../../../server/src/validation/locales.ts"],"sourcesContent":["import { prop } from 'lodash/fp';\nimport { yup, validateYupSchema } from '@strapi/utils';\n\nimport { isoLocales } from '../constants';\n\nconst allowedLocaleCodes = isoLocales.map(prop('code'));\n\nconst createLocaleSchema = yup\n .object()\n .shape({\n name: yup.string().max(50).nullable(),\n code: yup.string().oneOf(allowedLocaleCodes).required(),\n isDefault: yup.boolean().required(),\n })\n .noUnknown();\n\nconst updateLocaleSchema = yup\n .object()\n .shape({\n name: yup.string().min(1).max(50).nullable(),\n isDefault: yup.boolean(),\n })\n .noUnknown();\n\nconst validateCreateLocaleInput = validateYupSchema(createLocaleSchema);\nconst validateUpdateLocaleInput = validateYupSchema(updateLocaleSchema);\n\nexport { validateCreateLocaleInput, validateUpdateLocaleInput };\n"],"names":["allowedLocaleCodes","isoLocales","map","prop","createLocaleSchema","yup","object","shape","name","string","max","nullable","code","oneOf","required","isDefault","boolean","noUnknown","updateLocaleSchema","min","validateCreateLocaleInput","validateYupSchema","validateUpdateLocaleInput"],"mappings":";;;;;;;AAKA,MAAMA,kBAAqBC,GAAAA,UAAAA,CAAWC,GAAG,CAACC,OAAK,CAAA,MAAA,CAAA,CAAA;AAE/C,MAAMC,kBAAqBC,GAAAA,SAAAA,CACxBC,MAAM,EAAA,CACNC,KAAK,CAAC;AACLC,IAAAA,IAAAA,EAAMH,UAAII,MAAM,EAAA,CAAGC,GAAG,CAAC,IAAIC,QAAQ,EAAA;AACnCC,IAAAA,IAAAA,EAAMP,UAAII,MAAM,EAAA,CAAGI,KAAK,CAACb,oBAAoBc,QAAQ,EAAA;IACrDC,SAAWV,EAAAA,SAAAA,CAAIW,OAAO,EAAA,CAAGF,QAAQ;AACnC,CAAA,CAAA,CACCG,SAAS,EAAA;AAEZ,MAAMC,kBAAqBb,GAAAA,SAAAA,CACxBC,MAAM,EAAA,CACNC,KAAK,CAAC;IACLC,IAAMH,EAAAA,SAAAA,CAAII,MAAM,EAAGU,CAAAA,GAAG,CAAC,CAAGT,CAAAA,CAAAA,GAAG,CAAC,EAAA,CAAA,CAAIC,QAAQ,EAAA;AAC1CI,IAAAA,SAAAA,EAAWV,UAAIW,OAAO;AACxB,CAAA,CAAA,CACCC,SAAS,EAAA;AAEZ,MAAMG,4BAA4BC,uBAAkBjB,CAAAA,kBAAAA;AACpD,MAAMkB,4BAA4BD,uBAAkBH,CAAAA,kBAAAA;;;;;"}