@localazy/strapi-plugin 0.2.12 → 1.0.0-beta.0

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 (392) hide show
  1. package/README.md +3 -1
  2. package/dist/_chunks/App-BSFfgZKU.mjs +5278 -0
  3. package/dist/_chunks/App-D1QaIMHX.js +5278 -0
  4. package/dist/_chunks/ContentTransferSetup-DHXJIxAp.js +1552 -0
  5. package/dist/_chunks/ContentTransferSetup-DtjcF_jM.mjs +1550 -0
  6. package/dist/_chunks/GlobalSettings-BON3kjHK.js +228 -0
  7. package/dist/_chunks/GlobalSettings-BcdibqNS.mjs +228 -0
  8. package/dist/_chunks/LanguagesSelector-BeijBEjg.js +47 -0
  9. package/dist/_chunks/LanguagesSelector-fyAIUp7M.mjs +48 -0
  10. package/dist/_chunks/en-BTf8goGM.mjs +8 -0
  11. package/dist/_chunks/en-CRtsEFtl.js +8 -0
  12. package/dist/_chunks/fr-C8Qw4iPZ.js +4 -0
  13. package/dist/_chunks/fr-hkSxFuzl.mjs +4 -0
  14. package/dist/_chunks/has-model-changed-BMCQX2Dd.js +316 -0
  15. package/dist/_chunks/has-model-changed-Dvtzpc9v.mjs +317 -0
  16. package/dist/_chunks/index-BQw2qi2G.js +2679 -0
  17. package/dist/_chunks/index-CN3Gyh5F.mjs +2678 -0
  18. package/dist/_chunks/isEqual-B-YVnzrp.js +205 -0
  19. package/dist/_chunks/isEqual-CEyT97-3.mjs +206 -0
  20. package/dist/_chunks/set-DUdH3vE5.js +54557 -0
  21. package/dist/_chunks/set-DulHAQhq.mjs +54542 -0
  22. package/dist/admin/index.js +4 -0
  23. package/dist/admin/index.mjs +5 -0
  24. package/dist/admin/src/components/Initializer.d.ts +5 -0
  25. package/dist/admin/src/config/development/index.d.ts +15 -0
  26. package/dist/admin/src/config/example/index.example.d.ts +15 -0
  27. package/dist/admin/src/config/index.d.ts +15 -0
  28. package/dist/admin/src/config/local/index.d.ts +15 -0
  29. package/dist/admin/src/config/production/index.d.ts +15 -0
  30. package/dist/admin/src/i18n.d.ts +2 -0
  31. package/dist/admin/src/index.d.ts +10 -0
  32. package/dist/admin/src/modules/@common/api/strapi-api-base.d.ts +6 -0
  33. package/dist/admin/src/modules/@common/components/Icons/House.d.ts +2 -0
  34. package/dist/admin/src/modules/@common/components/Icons/Localazy.d.ts +2 -0
  35. package/dist/admin/src/modules/@common/components/LanguagesSelector.d.ts +11 -0
  36. package/dist/admin/src/modules/@common/components/PluginPageLoader.d.ts +2 -0
  37. package/dist/admin/src/modules/@common/components/SideNav.d.ts +2 -0
  38. package/dist/admin/src/modules/@common/components/TransferReport.d.ts +5 -0
  39. package/dist/admin/src/modules/@common/functions/flatten-deep.d.ts +2 -0
  40. package/dist/admin/src/modules/@common/locale/en.d.ts +14 -0
  41. package/dist/admin/src/modules/@common/models/supported-content-type-fields.d.ts +2 -0
  42. package/dist/admin/src/modules/@common/models/supported-custom-field-plugins.d.ts +2 -0
  43. package/dist/admin/src/modules/@common/services/i18n-service.d.ts +3 -0
  44. package/dist/admin/src/modules/@common/services/plugin.service.d.ts +3 -0
  45. package/dist/admin/src/modules/@common/services/product-analytics-service.d.ts +14 -0
  46. package/dist/admin/src/modules/@common/services/project-service.d.ts +4 -0
  47. package/dist/admin/src/modules/@common/services/user-service.d.ts +5 -0
  48. package/dist/admin/src/modules/@common/utils/are-locales-compatible.d.ts +2 -0
  49. package/dist/admin/src/modules/@common/utils/format-number.d.ts +2 -0
  50. package/dist/admin/src/modules/@common/utils/get-default-locale.d.ts +2 -0
  51. package/dist/admin/src/modules/@common/utils/history.d.ts +2 -0
  52. package/dist/admin/src/modules/@common/utils/is-plugin-route.d.ts +2 -0
  53. package/dist/admin/src/modules/@common/utils/iso-locales-utils.d.ts +3 -0
  54. package/dist/admin/src/modules/@common/utils/redirect-to-plugin-route.d.ts +13 -0
  55. package/dist/admin/src/modules/@common/utils/sort-by-model-name.d.ts +2 -0
  56. package/dist/admin/src/modules/@common/utils/use-header-subtitle.d.ts +2 -0
  57. package/dist/admin/src/modules/@common/utils/use-header-title.d.ts +2 -0
  58. package/dist/admin/src/modules/@common/utils/use-nav.d.ts +11 -0
  59. package/dist/admin/src/modules/alerts/constants/channels.d.ts +1 -0
  60. package/dist/admin/src/modules/alerts/constants/events.d.ts +4 -0
  61. package/dist/admin/src/modules/alerts/services/alerts-service.d.ts +8 -0
  62. package/dist/admin/src/modules/localazy-download/locale/en.d.ts +24 -0
  63. package/dist/admin/src/modules/localazy-download/services/download-alerts-service.d.ts +5 -0
  64. package/dist/admin/src/modules/localazy-download/services/localazy-download-service.d.ts +3 -0
  65. package/dist/admin/src/modules/localazy-upload/components/ReadDocsButton.d.ts +3 -0
  66. package/dist/admin/src/modules/localazy-upload/locale/en.d.ts +19 -0
  67. package/dist/admin/src/modules/localazy-upload/services/localazy-upload-service.d.ts +3 -0
  68. package/dist/admin/src/modules/localazy-upload/services/upload-alerts-service.d.ts +5 -0
  69. package/dist/admin/src/modules/login/components/FetchIdentity.d.ts +3 -0
  70. package/dist/admin/src/modules/login/components/LoginButton.d.ts +12 -0
  71. package/dist/admin/src/modules/login/components/LogoutButton.d.ts +6 -0
  72. package/dist/admin/src/modules/login/locale/en.d.ts +8 -0
  73. package/dist/admin/src/modules/login/services/localazy-login-service.d.ts +4 -0
  74. package/dist/admin/src/modules/overview/components/OverviewItem.d.ts +7 -0
  75. package/dist/admin/src/modules/overview/components/OverviewItemLink.d.ts +7 -0
  76. package/dist/admin/src/modules/overview/components/PrerequisitiesInfo.d.ts +3 -0
  77. package/dist/admin/src/modules/overview/locale/en.d.ts +14 -0
  78. package/dist/admin/src/modules/plugin-settings/components/ContentTransferSetupEmpty.d.ts +2 -0
  79. package/dist/admin/src/modules/plugin-settings/components/Tree.d.ts +8 -0
  80. package/dist/admin/src/modules/plugin-settings/components/TreeItem.d.ts +10 -0
  81. package/dist/admin/src/modules/plugin-settings/functions/build-content-transfer-setup-schema.d.ts +2 -0
  82. package/dist/admin/src/modules/plugin-settings/functions/get-content-transfer-setup-keys-sets.d.ts +8 -0
  83. package/dist/admin/src/modules/plugin-settings/functions/has-model-changed.d.ts +6 -0
  84. package/dist/admin/src/modules/plugin-settings/locale/en.d.ts +49 -0
  85. package/dist/admin/src/modules/plugin-settings/services/plugin-settings-service.d.ts +6 -0
  86. package/dist/admin/src/modules/plugin-settings/services/strapi-model-service.d.ts +4 -0
  87. package/dist/admin/src/modules/plugin-settings/services/strapi-users-service.d.ts +3 -0
  88. package/dist/admin/src/modules/plugin-settings/utils/array-of-models-to-object.d.ts +2 -0
  89. package/dist/admin/src/modules/plugin-settings/utils/find-model-value-by-key.d.ts +2 -0
  90. package/dist/admin/src/modules/plugin-settings/utils/get-filtered-models-schemas.d.ts +7 -0
  91. package/dist/admin/src/modules/plugin-settings/utils/get-models-tree.d.ts +5 -0
  92. package/dist/admin/src/modules/strapi/utils/get-default-theme.d.ts +3 -0
  93. package/dist/admin/src/modules/user/model/localazy-identity.d.ts +15 -0
  94. package/dist/admin/src/modules/user/services/localazy-user-service.d.ts +6 -0
  95. package/dist/admin/src/pages/App.d.ts +3 -0
  96. package/dist/admin/src/pages/ContentTransferSetup.d.ts +4 -0
  97. package/dist/admin/src/pages/Download.d.ts +7 -0
  98. package/dist/admin/src/pages/GlobalSettings.d.ts +4 -0
  99. package/dist/admin/src/pages/HomePage.d.ts +2 -0
  100. package/dist/admin/src/pages/Login.d.ts +8 -0
  101. package/dist/admin/src/pages/Overview.d.ts +8 -0
  102. package/dist/admin/src/pages/Upload.d.ts +7 -0
  103. package/dist/admin/src/pluginId.d.ts +2 -0
  104. package/dist/admin/src/plugins/generic-connector-client.d.ts +3 -0
  105. package/dist/admin/src/state/localazy-identity.d.ts +13 -0
  106. package/dist/admin/src/utils/getTranslation.d.ts +2 -0
  107. package/dist/server/index.js +26000 -0
  108. package/dist/server/index.mjs +25989 -0
  109. package/dist/server/src/bootstrap.d.ts +5 -0
  110. package/dist/server/src/config/core/config.d.ts +1 -0
  111. package/dist/server/src/config/development/index.d.ts +15 -0
  112. package/dist/server/src/config/example/index.example.d.ts +15 -0
  113. package/dist/server/src/config/index.d.ts +18 -0
  114. package/dist/server/src/config/local/index.d.ts +15 -0
  115. package/dist/server/src/config/production/index.d.ts +15 -0
  116. package/dist/server/src/constants/channels.d.ts +3 -0
  117. package/dist/server/src/constants/events.d.ts +6 -0
  118. package/dist/server/src/content-types/index.d.ts +2 -0
  119. package/dist/server/src/controllers/index.d.ts +43 -0
  120. package/dist/server/src/controllers/localazy-auth-controller.d.ts +8 -0
  121. package/dist/server/src/controllers/localazy-project-controller.d.ts +7 -0
  122. package/dist/server/src/controllers/localazy-transfer-controller.d.ts +8 -0
  123. package/dist/server/src/controllers/localazy-user-controller.d.ts +9 -0
  124. package/dist/server/src/controllers/plugin-settings-controller.d.ts +10 -0
  125. package/dist/server/src/controllers/strapi-controller.d.ts +10 -0
  126. package/dist/server/src/core/index.d.ts +71 -0
  127. package/dist/server/src/db/model/content-transfer-setup.d.ts +4 -0
  128. package/dist/server/src/db/model/localazy-user.d.ts +17 -0
  129. package/dist/server/src/db/model/plugin-settings.d.ts +5 -0
  130. package/dist/server/src/db/model/utils/get-strapi-store.d.ts +26 -0
  131. package/dist/server/src/destroy.d.ts +5 -0
  132. package/dist/server/src/functions/should-set-downloaded-property.d.ts +12 -0
  133. package/dist/server/src/index.d.ts +189 -0
  134. package/dist/server/src/lifecycles/deep-populate-hook.d.ts +20 -0
  135. package/dist/server/src/lifecycles/deprecate-event-entry-in-localazy-hook.d.ts +4 -0
  136. package/dist/server/src/lifecycles/upload-event-entry-to-localazy-hook.d.ts +12 -0
  137. package/dist/server/src/middlewares/index.d.ts +2 -0
  138. package/dist/server/src/models/plugin/content-transfer-setup.d.ts +13 -0
  139. package/dist/server/src/models/strapi/locale.d.ts +8 -0
  140. package/dist/server/src/policies/index.d.ts +2 -0
  141. package/dist/server/src/register.d.ts +5 -0
  142. package/dist/server/src/routes/index.d.ts +25 -0
  143. package/dist/server/src/routes/localazy-auth-routes.d.ts +9 -0
  144. package/dist/server/src/routes/localazy-project-routes.d.ts +9 -0
  145. package/dist/server/src/routes/localazy-transfer-routes.d.ts +9 -0
  146. package/dist/server/src/routes/localazy-user-routes.d.ts +9 -0
  147. package/dist/server/src/routes/plugin-settings-routes.d.ts +9 -0
  148. package/dist/server/src/routes/strapi-routes.d.ts +9 -0
  149. package/dist/server/src/services/helpers/job-notification-service.d.ts +14 -0
  150. package/dist/server/src/services/helpers/plugin-settings-service-helper.d.ts +16 -0
  151. package/dist/server/src/services/index.d.ts +92 -0
  152. package/dist/server/src/services/localazy-pubapi-service.d.ts +12 -0
  153. package/dist/server/src/services/localazy-transfer-download-service.d.ts +11 -0
  154. package/dist/server/src/services/localazy-transfer-upload-service.d.ts +11 -0
  155. package/dist/server/src/services/localazy-upload-service.d.ts +28 -0
  156. package/dist/server/src/services/localazy-user-service.d.ts +11 -0
  157. package/dist/server/src/services/plugin-settings-service.d.ts +16 -0
  158. package/dist/server/src/services/strapi-i18n-service.d.ts +19 -0
  159. package/dist/server/src/services/strapi-localazy-i18n-service.d.ts +9 -0
  160. package/dist/server/src/services/strapi-service.d.ts +10 -0
  161. package/dist/server/src/utils/delay.d.ts +1 -0
  162. package/dist/server/src/utils/drop-property-deep.d.ts +1 -0
  163. package/dist/server/src/utils/flatten-object.d.ts +2 -0
  164. package/dist/server/src/utils/generate-random-id.d.ts +2 -0
  165. package/dist/server/src/utils/get-full-populate-localazy-download-object.d.ts +17 -0
  166. package/dist/server/src/utils/get-full-populate-localazy-upload-object.d.ts +9 -0
  167. package/dist/server/src/utils/get-full-populate-object.d.ts +17 -0
  168. package/dist/server/src/utils/get-main-keys-of-nested-array-objects.d.ts +2 -0
  169. package/dist/server/src/utils/get-picked-flatten-keys-for-hook-entry.d.ts +5 -0
  170. package/dist/server/src/utils/intl-display-name.d.ts +1 -0
  171. package/dist/server/src/utils/is-generally-applicable-content-type.d.ts +2 -0
  172. package/dist/server/src/utils/is-localazy-applicable-content-type.d.ts +2 -0
  173. package/dist/server/src/utils/iso-locales-utils.d.ts +3 -0
  174. package/dist/server/src/utils/localazy-api-client-factory.d.ts +3 -0
  175. package/dist/server/src/utils/localazy-generic-connector-client-factory.d.ts +3 -0
  176. package/dist/server/src/utils/model-utils.d.ts +7 -0
  177. package/dist/server/src/utils/omit-deep.d.ts +2 -0
  178. package/dist/server/src/utils/parsed-localazy-entry-to-create-entry.d.ts +7 -0
  179. package/dist/server/src/utils/parsed-localazy-entry-to-update-entry.d.ts +1 -0
  180. package/dist/server/src/utils/pick-entries.d.ts +2 -0
  181. package/dist/server/src/utils/populate-create-update-entry-with-base-entry.d.ts +1 -0
  182. package/dist/server/src/utils/request-initiator-helper.d.ts +9 -0
  183. package/dist/server/src/utils/reset-array-keys-deep.d.ts +1 -0
  184. package/dist/server/src/utils/transfer-setup-utils.d.ts +7 -0
  185. package/install/index.mjs +88 -34
  186. package/install/vite.config.example.js +40 -0
  187. package/install/vite.config.example.ts +41 -0
  188. package/install/{webpack.example.js → webpack.config.example.js} +2 -2
  189. package/install/webpack.config.example.ts +30 -0
  190. package/package.json +93 -55
  191. package/.babelrc +0 -7
  192. package/.eslintrc +0 -13
  193. package/.github/workflows/qa.yml +0 -25
  194. package/.github/workflows/release.yml +0 -46
  195. package/.nvmrc +0 -1
  196. package/.strapi-updater.json +0 -4
  197. package/CHANGELOG.md +0 -60
  198. package/LICENSE +0 -21
  199. package/admin/src/components/Initializer/index.js +0 -26
  200. package/admin/src/components/PluginIcon/index.js +0 -14
  201. package/admin/src/config/development/index.js +0 -14
  202. package/admin/src/config/example/index.js +0 -14
  203. package/admin/src/config/index.js +0 -19
  204. package/admin/src/config/local/index.js +0 -14
  205. package/admin/src/config/production/index.js +0 -15
  206. package/admin/src/i18n.js +0 -41
  207. package/admin/src/index.js +0 -138
  208. package/admin/src/modules/@common/components/Icons/Localazy/index.js +0 -12
  209. package/admin/src/modules/@common/components/LanguagesSelector/index.js +0 -67
  210. package/admin/src/modules/@common/components/PluginPageLoader/index.js +0 -20
  211. package/admin/src/modules/@common/components/SideNav/index.js +0 -46
  212. package/admin/src/modules/@common/components/TransferReport/index.js +0 -53
  213. package/admin/src/modules/@common/locale/en.js +0 -14
  214. package/admin/src/modules/@common/models/supported-content-type-fields.js +0 -9
  215. package/admin/src/modules/@common/models/supported-custom-field-plugins.js +0 -6
  216. package/admin/src/modules/@common/services/i18n-service.js +0 -15
  217. package/admin/src/modules/@common/services/plugin.service.js +0 -16
  218. package/admin/src/modules/@common/services/product-analytics-service.js +0 -86
  219. package/admin/src/modules/@common/services/project-service.js +0 -15
  220. package/admin/src/modules/@common/services/user-service.js +0 -38
  221. package/admin/src/modules/@common/utils/__tests__/iso-locales-utils.test.js +0 -102
  222. package/admin/src/modules/@common/utils/are-locales-compatible.js +0 -42
  223. package/admin/src/modules/@common/utils/format-number.js +0 -1
  224. package/admin/src/modules/@common/utils/functions/flatten-deep.js +0 -23
  225. package/admin/src/modules/@common/utils/get-default-locale.js +0 -32
  226. package/admin/src/modules/@common/utils/get-header-subtitle.js +0 -21
  227. package/admin/src/modules/@common/utils/get-header-title.js +0 -24
  228. package/admin/src/modules/@common/utils/get-nav.js +0 -35
  229. package/admin/src/modules/@common/utils/history.js +0 -6
  230. package/admin/src/modules/@common/utils/is-plugin-route.js +0 -15
  231. package/admin/src/modules/@common/utils/iso-locales-utils.js +0 -58
  232. package/admin/src/modules/@common/utils/redirect-to-plugin-route.js +0 -22
  233. package/admin/src/modules/@common/utils/sort-by-model-name.js +0 -10
  234. package/admin/src/modules/alerts/constants/channels.js +0 -1
  235. package/admin/src/modules/alerts/constants/events.js +0 -4
  236. package/admin/src/modules/alerts/services/alerts-service.js +0 -41
  237. package/admin/src/modules/localazy-download/locale/en.js +0 -25
  238. package/admin/src/modules/localazy-download/services/download-alerts-service.js +0 -12
  239. package/admin/src/modules/localazy-download/services/localazy-download-service.js +0 -16
  240. package/admin/src/modules/localazy-upload/components/ReadDocsButton.js +0 -20
  241. package/admin/src/modules/localazy-upload/locale/en.js +0 -20
  242. package/admin/src/modules/localazy-upload/services/localazy-upload-service.js +0 -16
  243. package/admin/src/modules/localazy-upload/services/upload-alerts-service.js +0 -12
  244. package/admin/src/modules/login/components/LoginButton/index.js +0 -55
  245. package/admin/src/modules/login/components/LogoutButton/index.js +0 -49
  246. package/admin/src/modules/login/locale/en.js +0 -7
  247. package/admin/src/modules/login/services/localazy-login-service.js +0 -29
  248. package/admin/src/modules/plugin-settings/components/ContentTransferSetup/index.js +0 -308
  249. package/admin/src/modules/plugin-settings/components/ContentTransferSetupEmpty/index.js +0 -86
  250. package/admin/src/modules/plugin-settings/components/GlobalSettings/index.js +0 -269
  251. package/admin/src/modules/plugin-settings/components/Tree/index.js +0 -145
  252. package/admin/src/modules/plugin-settings/components/TreeItem/index.js +0 -48
  253. package/admin/src/modules/plugin-settings/functions/build-content-transfer-setup-schema.js +0 -57
  254. package/admin/src/modules/plugin-settings/functions/get-content-transfer-setup-keys-sets.js +0 -85
  255. package/admin/src/modules/plugin-settings/functions/has-model-changed.js +0 -75
  256. package/admin/src/modules/plugin-settings/locale/en.js +0 -61
  257. package/admin/src/modules/plugin-settings/services/plugin-settings-service.js +0 -55
  258. package/admin/src/modules/plugin-settings/services/strapi-model-service.js +0 -26
  259. package/admin/src/modules/plugin-settings/services/strapi-users-service.js +0 -26
  260. package/admin/src/modules/plugin-settings/utils/__tests__/get-models-tree.test.js +0 -135
  261. package/admin/src/modules/plugin-settings/utils/array-of-models-to-object.js +0 -6
  262. package/admin/src/modules/plugin-settings/utils/find-model-value-by-key.js +0 -8
  263. package/admin/src/modules/plugin-settings/utils/get-filtered-models-schemas.js +0 -31
  264. package/admin/src/modules/plugin-settings/utils/get-models-tree.js +0 -94
  265. package/admin/src/modules/settings/components/OverviewItem/index.js +0 -44
  266. package/admin/src/modules/settings/components/OverviewItemLink/index.js +0 -34
  267. package/admin/src/modules/settings/components/PrerequisitiesInfo/index.js +0 -28
  268. package/admin/src/modules/settings/locale/en.js +0 -13
  269. package/admin/src/modules/user/model/localazy-identity.js +0 -14
  270. package/admin/src/modules/user/services/localazy-user-service.js +0 -38
  271. package/admin/src/pages/App/index.js +0 -154
  272. package/admin/src/pages/Download/index.js +0 -280
  273. package/admin/src/pages/Index/index.js +0 -8
  274. package/admin/src/pages/Login/index.js +0 -109
  275. package/admin/src/pages/PluginSettings/index.js +0 -56
  276. package/admin/src/pages/Settings/index.js +0 -132
  277. package/admin/src/pages/Upload/index.js +0 -241
  278. package/admin/src/pluginId.js +0 -5
  279. package/admin/src/plugins/generic-connector-client.js +0 -9
  280. package/admin/src/state/localazy-identity.js +0 -29
  281. package/admin/src/tests/fixtures/all-models.js +0 -877
  282. package/admin/src/tests/fixtures/restaurant-model.js +0 -230
  283. package/admin/src/translations/en.json +0 -4
  284. package/admin/src/translations/fr.json +0 -1
  285. package/admin/src/utils/createAxiosInstance.js +0 -54
  286. package/admin/src/utils/getTrad.js +0 -5
  287. package/jest.config.js +0 -0
  288. package/server/bootstrap.js +0 -63
  289. package/server/config/development/index.js +0 -16
  290. package/server/config/example/index.js +0 -16
  291. package/server/config/index.js +0 -20
  292. package/server/config/local/index.js +0 -16
  293. package/server/config/production/index.js +0 -17
  294. package/server/config/schema.graphql.js +0 -21
  295. package/server/constants/channels.js +0 -3
  296. package/server/constants/events.js +0 -6
  297. package/server/content-types/index.js +0 -3
  298. package/server/controllers/index.js +0 -17
  299. package/server/controllers/localazy-auth-controller.js +0 -22
  300. package/server/controllers/localazy-project-controller.js +0 -21
  301. package/server/controllers/localazy-transfer-controller.js +0 -62
  302. package/server/controllers/localazy-user-controller.js +0 -24
  303. package/server/controllers/plugin-settings-controller.js +0 -31
  304. package/server/controllers/strapi-controller.js +0 -27
  305. package/server/db/model/content-transfer-setup.js +0 -13
  306. package/server/db/model/localazy-user.js +0 -23
  307. package/server/db/model/plugin-settings.js +0 -13
  308. package/server/db/model/utils/get-strapi-store.js +0 -9
  309. package/server/destroy.js +0 -5
  310. package/server/functions/should-set-downloaded-property.js +0 -94
  311. package/server/index.js +0 -25
  312. package/server/lifecycles/deep-populate-hook.js +0 -12
  313. package/server/lifecycles/deprecate-event-entry-in-localazy-hook.js +0 -73
  314. package/server/lifecycles/upload-event-entry-to-localazy-hook.js +0 -36
  315. package/server/middlewares/index.js +0 -7
  316. package/server/middlewares/verify-webhook.js +0 -77
  317. package/server/models/supported-content-type-fields.js +0 -9
  318. package/server/models/supported-custom-field-plugins.js +0 -6
  319. package/server/policies/index.js +0 -3
  320. package/server/register.js +0 -5
  321. package/server/routes/index.js +0 -28
  322. package/server/routes/localazy-auth.js +0 -22
  323. package/server/routes/localazy-project.js +0 -14
  324. package/server/routes/localazy-public-transfer.js +0 -20
  325. package/server/routes/localazy-transfer.js +0 -22
  326. package/server/routes/localazy-user.js +0 -30
  327. package/server/routes/plugin-settings.js +0 -38
  328. package/server/routes/strapi.js +0 -38
  329. package/server/services/helpers/job-notification-service.js +0 -30
  330. package/server/services/helpers/plugin-settings-service-helper.js +0 -52
  331. package/server/services/index.js +0 -23
  332. package/server/services/localazy-pubapi-service.js +0 -53
  333. package/server/services/localazy-transfer-download-service.js +0 -445
  334. package/server/services/localazy-transfer-upload-service.js +0 -178
  335. package/server/services/localazy-upload-service.js +0 -52
  336. package/server/services/localazy-user-service.js +0 -29
  337. package/server/services/plugin-settings-service.js +0 -53
  338. package/server/services/strapi-i18n-service.js +0 -151
  339. package/server/services/strapi-localazy-i18n-service.js +0 -130
  340. package/server/services/strapi-service.js +0 -26
  341. package/server/tests/fixtures/all-models.js +0 -869
  342. package/server/tests/fixtures/parsed-localazy-entry-to-create-entry-cookbook.js +0 -5761
  343. package/server/tests/fixtures/parsed-localazy-entry-to-create-entry-lesson-dz.js +0 -402
  344. package/server/tests/fixtures/parsed-localazy-entry-to-create-entry-page-dz.js +0 -658
  345. package/server/tests/fixtures/parsed-localazy-entry-to-create-entry-restaurant-simple-menu.js +0 -536
  346. package/server/tests/fixtures/parsed-localazy-entry-to-update-entry.js +0 -35157
  347. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-cookbook-empty-recipes.js +0 -202
  348. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-cookbook.js +0 -2700
  349. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-lesson-dz.js +0 -309
  350. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-restaurant-simple-flat-simple.js +0 -47
  351. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-restaurant-simple-flat-with-media.js +0 -169
  352. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-restaurant-simple-menu-empty.js +0 -3003
  353. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-restaurant-simple-menu-with-media.js +0 -2057
  354. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-sample-json-dz.js +0 -884
  355. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-sample-json.js +0 -46
  356. package/server/tests/fixtures/strapi-plugin-all-models.js +0 -7000
  357. package/server/utils/__tests__/build-populate.test.js +0 -85
  358. package/server/utils/__tests__/flatten-object.test.js +0 -171
  359. package/server/utils/__tests__/get-models-tree.test.js +0 -170
  360. package/server/utils/__tests__/iso-locales-utils.test.js +0 -104
  361. package/server/utils/__tests__/parsed-localazy-entry-to-create-entry.test.js +0 -258
  362. package/server/utils/__tests__/parsed-localazy-entry-to-update-entry.test.js +0 -456
  363. package/server/utils/__tests__/pick-entries.test.js +0 -963
  364. package/server/utils/__tests__/populate-create-update-entry-with-base-entry.test.js +0 -1176
  365. package/server/utils/build-populate.js +0 -48
  366. package/server/utils/delay.js +0 -6
  367. package/server/utils/flatten-object.js +0 -61
  368. package/server/utils/generate-random-id.js +0 -3
  369. package/server/utils/get-full-populate-object.js +0 -66
  370. package/server/utils/get-main-keys-of-nested-array-objects.js +0 -5
  371. package/server/utils/get-models-tree.js +0 -47
  372. package/server/utils/get-picked-flatten-keys-for-hook-entry.js +0 -270
  373. package/server/utils/intl-display-name.js +0 -4
  374. package/server/utils/is-generally-applicable-content-type.js +0 -33
  375. package/server/utils/is-localazy-applicable-content-type.js +0 -36
  376. package/server/utils/iso-locales-utils.js +0 -60
  377. package/server/utils/localazy-api-client-factory.js +0 -22
  378. package/server/utils/localazy-generic-connector-client-factory.js +0 -15
  379. package/server/utils/model-utils.js +0 -43
  380. package/server/utils/objectivise-entry.js +0 -41
  381. package/server/utils/omit-deep.js +0 -24
  382. package/server/utils/parsed-localazy-entry-to-create-entry.js +0 -194
  383. package/server/utils/parsed-localazy-entry-to-update-entry.js +0 -83
  384. package/server/utils/pick-deep.js +0 -22
  385. package/server/utils/pick-entries.js +0 -37
  386. package/server/utils/populate-create-update-entry-with-base-entry.js +0 -264
  387. package/server/utils/request-initiator-helper.js +0 -36
  388. package/server/utils/reset-array-keys-deep.js +0 -19
  389. package/server/utils/transfer-setup-utils.js +0 -93
  390. package/strapi-admin.js +0 -14
  391. package/strapi-server.js +0 -5
  392. package/test/helpers/mocks.js +0 -9
@@ -0,0 +1,316 @@
1
+ "use strict";
2
+ const set = require("./set-DUdH3vE5.js");
3
+ const index = require("./index-BQw2qi2G.js");
4
+ function baseGet(object, path) {
5
+ path = set.castPath(path, object);
6
+ var index2 = 0, length = path.length;
7
+ while (object != null && index2 < length) {
8
+ object = object[set.toKey(path[index2++])];
9
+ }
10
+ return index2 && index2 == length ? object : void 0;
11
+ }
12
+ function get(object, path, defaultValue) {
13
+ var result = object == null ? void 0 : baseGet(object, path);
14
+ return result === void 0 ? defaultValue : result;
15
+ }
16
+ const BASE_PATH = "/strapi";
17
+ const strapiApiAxiosInstance = index.createStrapiApiAxiosInstance();
18
+ class StrapiModelService {
19
+ static async getModels() {
20
+ try {
21
+ const result = await strapiApiAxiosInstance.get(`${BASE_PATH}/models`);
22
+ return result.data;
23
+ } catch (e) {
24
+ throw e.message;
25
+ }
26
+ }
27
+ static async getLocalizableModels() {
28
+ try {
29
+ const result = await strapiApiAxiosInstance.get(`${BASE_PATH}/localizable-models`);
30
+ return result.data;
31
+ } catch (e) {
32
+ throw e.message;
33
+ }
34
+ }
35
+ }
36
+ const SUPPORTED_CONTENT_TYPE_FIELDS = [
37
+ "string",
38
+ "text",
39
+ "richtext",
40
+ "email",
41
+ "json"
42
+ ];
43
+ const SUPPORTED_CUSTOM_FIELD_PLUGINS = [
44
+ "plugin::ckeditor.CKEditor",
45
+ "plugin::ckeditor5.CKEditor"
46
+ ];
47
+ const getModelsTree = (allModels, localizableModels = []) => {
48
+ const modelsTree = [];
49
+ const getModelTree = (attributes, isComponentAttributes = false, isComponentAttributesObjectTranslatable = null) => {
50
+ const currentModelTree = {};
51
+ for (const attribute in attributes) {
52
+ if (attributes[attribute].type === "component") {
53
+ const nestedModel = allModels.find((model) => model.uid === attributes[attribute].component);
54
+ currentModelTree[attribute] = {
55
+ ...getModelTree(
56
+ nestedModel.__schema__.attributes,
57
+ true,
58
+ isComponentAttributesObjectTranslatable === null ? attributes[attribute].pluginOptions?.i18n?.localized || false : isComponentAttributesObjectTranslatable
59
+ )
60
+ };
61
+ } else if (attributes[attribute].type === "dynamiczone") {
62
+ const components = attributes[attribute].components;
63
+ currentModelTree[attribute] = [];
64
+ components.forEach((c) => {
65
+ const nestedModel = allModels.find((model) => model.uid === c);
66
+ const modelTree = getModelTree(
67
+ nestedModel.__schema__.attributes,
68
+ true,
69
+ isComponentAttributesObjectTranslatable === null ? attributes[attribute].pluginOptions?.i18n?.localized || false : isComponentAttributesObjectTranslatable
70
+ );
71
+ currentModelTree[attribute].push({
72
+ __component__: c,
73
+ ...modelTree
74
+ });
75
+ });
76
+ } else if (SUPPORTED_CONTENT_TYPE_FIELDS.includes(attributes[attribute].type) || attributes[attribute].type === "customField" && SUPPORTED_CUSTOM_FIELD_PLUGINS.includes(attributes[attribute].customField)) {
77
+ if (isComponentAttributes) {
78
+ if (isComponentAttributesObjectTranslatable) {
79
+ currentModelTree[attribute] = false;
80
+ } else {
81
+ currentModelTree[attribute] = null;
82
+ }
83
+ } else if (!isComponentAttributes && (!attributes[attribute].pluginOptions || !attributes[attribute].pluginOptions.i18n || !attributes[attribute].pluginOptions.i18n.localized)) {
84
+ currentModelTree[attribute] = null;
85
+ } else {
86
+ currentModelTree[attribute] = false;
87
+ }
88
+ } else {
89
+ currentModelTree[attribute] = null;
90
+ }
91
+ }
92
+ return currentModelTree;
93
+ };
94
+ for (const model of localizableModels) {
95
+ if (model.__schema__.collectionName) {
96
+ const modelTree = {
97
+ [model.__schema__.collectionName]: {
98
+ __model__: true,
99
+ ...getModelTree(model.__schema__.attributes)
100
+ }
101
+ };
102
+ modelsTree.push(modelTree);
103
+ }
104
+ }
105
+ return modelsTree;
106
+ };
107
+ const arrayOfModelsToObject = (array) => array.reduce((obj, item) => {
108
+ obj[Object.keys(item)[0]] = item;
109
+ return obj;
110
+ }, {});
111
+ const findModelValueByKey = (allModelsTree, key) => {
112
+ const objectivizedModelsTree = arrayOfModelsToObject(allModelsTree);
113
+ return get(objectivizedModelsTree, key);
114
+ };
115
+ function baseFindIndex(array, predicate, fromIndex, fromRight) {
116
+ var length = array.length, index2 = fromIndex + -1;
117
+ while (++index2 < length) {
118
+ if (predicate(array[index2], index2, array)) {
119
+ return index2;
120
+ }
121
+ }
122
+ return -1;
123
+ }
124
+ function baseIsNaN(value) {
125
+ return value !== value;
126
+ }
127
+ function strictIndexOf(array, value, fromIndex) {
128
+ var index2 = fromIndex - 1, length = array.length;
129
+ while (++index2 < length) {
130
+ if (array[index2] === value) {
131
+ return index2;
132
+ }
133
+ }
134
+ return -1;
135
+ }
136
+ function baseIndexOf(array, value, fromIndex) {
137
+ return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);
138
+ }
139
+ function arrayIncludes(array, value) {
140
+ var length = array == null ? 0 : array.length;
141
+ return !!length && baseIndexOf(array, value, 0) > -1;
142
+ }
143
+ function noop() {
144
+ }
145
+ var INFINITY = 1 / 0;
146
+ var createSet = !(set.Set && 1 / set.setToArray(new set.Set([, -0]))[1] == INFINITY) ? noop : function(values) {
147
+ return new set.Set(values);
148
+ };
149
+ var LARGE_ARRAY_SIZE = 200;
150
+ function baseUniq(array, iteratee, comparator) {
151
+ var index2 = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result;
152
+ if (length >= LARGE_ARRAY_SIZE) {
153
+ var set$1 = createSet(array);
154
+ if (set$1) {
155
+ return set.setToArray(set$1);
156
+ }
157
+ isCommon = false;
158
+ includes = set.cacheHas;
159
+ seen = new set.SetCache();
160
+ } else {
161
+ seen = result;
162
+ }
163
+ outer:
164
+ while (++index2 < length) {
165
+ var value = array[index2], computed = value;
166
+ value = value !== 0 ? value : 0;
167
+ if (isCommon && computed === computed) {
168
+ var seenIndex = seen.length;
169
+ while (seenIndex--) {
170
+ if (seen[seenIndex] === computed) {
171
+ continue outer;
172
+ }
173
+ }
174
+ result.push(value);
175
+ } else if (!includes(seen, computed, comparator)) {
176
+ if (seen !== result) {
177
+ seen.push(computed);
178
+ }
179
+ result.push(value);
180
+ }
181
+ }
182
+ return result;
183
+ }
184
+ function uniq(array) {
185
+ return array && array.length ? baseUniq(array) : [];
186
+ }
187
+ function isObject(value) {
188
+ return value !== null && typeof value === "object" && !(value instanceof Date);
189
+ }
190
+ var isArray = Array.isArray;
191
+ function deepKeys(obj, stack, parent, intermediate) {
192
+ Object.keys(obj).forEach(function(el) {
193
+ var escaped = el.replace(/\./g, "\\.");
194
+ if (isObject(obj[el]) && !isArray(obj[el])) {
195
+ var p = parent ? parent + "." + escaped : parent;
196
+ if (intermediate) stack.push(parent ? p : escaped);
197
+ deepKeys(obj[el], stack, p || escaped, intermediate);
198
+ } else if (isArray(obj[el])) {
199
+ obj[el].forEach((item, index2) => {
200
+ var p2 = parent ? parent + `.${escaped}.${index2}` : parent;
201
+ if (intermediate) stack.push(parent ? p2 : `${escaped}.${index2}`);
202
+ deepKeys(item, stack, p2 || `${escaped}.${index2}`, intermediate);
203
+ });
204
+ } else {
205
+ var key = parent ? parent + "." + escaped : escaped;
206
+ stack.push(key);
207
+ }
208
+ });
209
+ return stack;
210
+ }
211
+ var deepKeys_1 = function(obj, intermediate) {
212
+ return deepKeys(obj, [], null, intermediate);
213
+ };
214
+ const deepKeys$1 = /* @__PURE__ */ set.getDefaultExportFromCjs(deepKeys_1);
215
+ const sortByModelName = (a, b) => {
216
+ const uidA = Object.keys(a)[0].toLowerCase();
217
+ const uidB = Object.keys(b)[0].toLowerCase();
218
+ if (uidA < uidB) return -1;
219
+ if (uidA > uidB) return 1;
220
+ return 0;
221
+ };
222
+ const getContentTransferSetupKeysSets = (localizableTree = [], storedSetupSchema = []) => {
223
+ localizableTree = arrayOfModelsToObject(localizableTree.sort(sortByModelName));
224
+ storedSetupSchema = arrayOfModelsToObject(storedSetupSchema.sort(sortByModelName));
225
+ const currentModelsSchemaKeys = deepKeys$1(localizableTree);
226
+ const storedSetupSchemaKeys = deepKeys$1(storedSetupSchema);
227
+ const regex = /\.\d+\.__component__/;
228
+ let currentModelsSchemaComponentKeys = currentModelsSchemaKeys.filter((key) => key.match(regex)).map((key) => key.replace(regex, ""));
229
+ let storedSetupSchemaComponentKeys = storedSetupSchemaKeys.filter((key) => key.match(regex)).map((key) => key.replace(regex, ""));
230
+ currentModelsSchemaComponentKeys = uniq(currentModelsSchemaComponentKeys);
231
+ storedSetupSchemaComponentKeys = uniq(storedSetupSchemaComponentKeys);
232
+ const currentModelsSchemaComponentKeysComponentProp = currentModelsSchemaKeys.filter(
233
+ (key) => key.includes("__component__") && currentModelsSchemaComponentKeys.some((k) => key.includes(k))
234
+ );
235
+ const storedSetupSchemaComponentKeysComponentProp = storedSetupSchemaKeys.filter(
236
+ (key) => key.includes("__component__") && storedSetupSchemaComponentKeys.some((k) => key.includes(k))
237
+ );
238
+ let removedKeys = [];
239
+ removedKeys.push(
240
+ ...storedSetupSchemaComponentKeysComponentProp.map((key) => {
241
+ const storedComponentName = get(storedSetupSchema, key);
242
+ const currentComponentName = get(localizableTree, key);
243
+ if (storedComponentName !== currentComponentName) {
244
+ const part = key.split(".").slice(0, -1).join(".");
245
+ return storedSetupSchemaKeys.filter((k) => k.includes(part));
246
+ }
247
+ return [];
248
+ }).reduce((acc, val) => acc.concat(val), [])
249
+ );
250
+ removedKeys.push(...storedSetupSchemaKeys.filter((key) => !currentModelsSchemaKeys.includes(key)));
251
+ removedKeys = uniq(removedKeys);
252
+ let newKeys = [];
253
+ newKeys.push(
254
+ ...currentModelsSchemaComponentKeysComponentProp.map((key) => {
255
+ const storedComponentName = get(storedSetupSchema, key);
256
+ const currentComponentName = get(localizableTree, key);
257
+ if (storedComponentName !== currentComponentName) {
258
+ const part = key.split(".").slice(0, -1).join(".");
259
+ return currentModelsSchemaKeys.filter((k) => k.includes(part));
260
+ }
261
+ return [];
262
+ }).reduce((acc, val) => acc.concat(val), [])
263
+ );
264
+ newKeys.push(...currentModelsSchemaKeys.filter((key) => !storedSetupSchemaKeys.includes(key)));
265
+ newKeys = uniq(newKeys);
266
+ const filteredStoredSetupSchemaKeys = storedSetupSchemaKeys.filter((key) => !removedKeys.includes(key));
267
+ return {
268
+ oLocalizableTree: localizableTree,
269
+ oStoredSetupSchema: storedSetupSchema,
270
+ removedKeys,
271
+ newKeys,
272
+ filteredStoredSetupSchemaKeys
273
+ };
274
+ };
275
+ const hasModelChanged = async (localizableTree = null, storedSetupSchema = null, allModelsTree = null) => {
276
+ let models;
277
+ if (!localizableTree || !allModelsTree) {
278
+ models = await StrapiModelService.getModels();
279
+ }
280
+ if (!localizableTree) {
281
+ const localizableModels = await StrapiModelService.getLocalizableModels();
282
+ localizableTree = getModelsTree(models, localizableModels);
283
+ }
284
+ if (!storedSetupSchema) {
285
+ storedSetupSchema = (await set.PluginSettingsService.getContentTransferSetup()).setup;
286
+ }
287
+ if (!allModelsTree) {
288
+ allModelsTree = getModelsTree(models, models);
289
+ }
290
+ const { oStoredSetupSchema, removedKeys, newKeys, filteredStoredSetupSchemaKeys } = getContentTransferSetupKeysSets(
291
+ localizableTree,
292
+ storedSetupSchema || []
293
+ );
294
+ if (newKeys.length || removedKeys.length) {
295
+ return true;
296
+ }
297
+ for (const key of filteredStoredSetupSchemaKeys) {
298
+ const localizableTreeValueToSet = get(oStoredSetupSchema, key);
299
+ const allModelsTreeValueToSet = findModelValueByKey(allModelsTree, key);
300
+ if (typeof localizableTreeValueToSet === "boolean" && allModelsTreeValueToSet === null) {
301
+ return true;
302
+ }
303
+ if (localizableTreeValueToSet === null && typeof allModelsTreeValueToSet === "boolean") {
304
+ return true;
305
+ }
306
+ }
307
+ return false;
308
+ };
309
+ exports.SUPPORTED_CONTENT_TYPE_FIELDS = SUPPORTED_CONTENT_TYPE_FIELDS;
310
+ exports.SUPPORTED_CUSTOM_FIELD_PLUGINS = SUPPORTED_CUSTOM_FIELD_PLUGINS;
311
+ exports.StrapiModelService = StrapiModelService;
312
+ exports.findModelValueByKey = findModelValueByKey;
313
+ exports.get = get;
314
+ exports.getContentTransferSetupKeysSets = getContentTransferSetupKeysSets;
315
+ exports.getModelsTree = getModelsTree;
316
+ exports.hasModelChanged = hasModelChanged;
@@ -0,0 +1,317 @@
1
+ import { W as castPath, X as toKey, Y as Set, Z as setToArray, _ as SetCache, $ as cacheHas, g as getDefaultExportFromCjs, P as PluginSettingsService } from "./set-DulHAQhq.mjs";
2
+ import { c as createStrapiApiAxiosInstance } from "./index-CN3Gyh5F.mjs";
3
+ function baseGet(object, path) {
4
+ path = castPath(path, object);
5
+ var index = 0, length = path.length;
6
+ while (object != null && index < length) {
7
+ object = object[toKey(path[index++])];
8
+ }
9
+ return index && index == length ? object : void 0;
10
+ }
11
+ function get(object, path, defaultValue) {
12
+ var result = object == null ? void 0 : baseGet(object, path);
13
+ return result === void 0 ? defaultValue : result;
14
+ }
15
+ const BASE_PATH = "/strapi";
16
+ const strapiApiAxiosInstance = createStrapiApiAxiosInstance();
17
+ class StrapiModelService {
18
+ static async getModels() {
19
+ try {
20
+ const result = await strapiApiAxiosInstance.get(`${BASE_PATH}/models`);
21
+ return result.data;
22
+ } catch (e) {
23
+ throw e.message;
24
+ }
25
+ }
26
+ static async getLocalizableModels() {
27
+ try {
28
+ const result = await strapiApiAxiosInstance.get(`${BASE_PATH}/localizable-models`);
29
+ return result.data;
30
+ } catch (e) {
31
+ throw e.message;
32
+ }
33
+ }
34
+ }
35
+ const SUPPORTED_CONTENT_TYPE_FIELDS = [
36
+ "string",
37
+ "text",
38
+ "richtext",
39
+ "email",
40
+ "json"
41
+ ];
42
+ const SUPPORTED_CUSTOM_FIELD_PLUGINS = [
43
+ "plugin::ckeditor.CKEditor",
44
+ "plugin::ckeditor5.CKEditor"
45
+ ];
46
+ const getModelsTree = (allModels, localizableModels = []) => {
47
+ const modelsTree = [];
48
+ const getModelTree = (attributes, isComponentAttributes = false, isComponentAttributesObjectTranslatable = null) => {
49
+ const currentModelTree = {};
50
+ for (const attribute in attributes) {
51
+ if (attributes[attribute].type === "component") {
52
+ const nestedModel = allModels.find((model) => model.uid === attributes[attribute].component);
53
+ currentModelTree[attribute] = {
54
+ ...getModelTree(
55
+ nestedModel.__schema__.attributes,
56
+ true,
57
+ isComponentAttributesObjectTranslatable === null ? attributes[attribute].pluginOptions?.i18n?.localized || false : isComponentAttributesObjectTranslatable
58
+ )
59
+ };
60
+ } else if (attributes[attribute].type === "dynamiczone") {
61
+ const components = attributes[attribute].components;
62
+ currentModelTree[attribute] = [];
63
+ components.forEach((c) => {
64
+ const nestedModel = allModels.find((model) => model.uid === c);
65
+ const modelTree = getModelTree(
66
+ nestedModel.__schema__.attributes,
67
+ true,
68
+ isComponentAttributesObjectTranslatable === null ? attributes[attribute].pluginOptions?.i18n?.localized || false : isComponentAttributesObjectTranslatable
69
+ );
70
+ currentModelTree[attribute].push({
71
+ __component__: c,
72
+ ...modelTree
73
+ });
74
+ });
75
+ } else if (SUPPORTED_CONTENT_TYPE_FIELDS.includes(attributes[attribute].type) || attributes[attribute].type === "customField" && SUPPORTED_CUSTOM_FIELD_PLUGINS.includes(attributes[attribute].customField)) {
76
+ if (isComponentAttributes) {
77
+ if (isComponentAttributesObjectTranslatable) {
78
+ currentModelTree[attribute] = false;
79
+ } else {
80
+ currentModelTree[attribute] = null;
81
+ }
82
+ } else if (!isComponentAttributes && (!attributes[attribute].pluginOptions || !attributes[attribute].pluginOptions.i18n || !attributes[attribute].pluginOptions.i18n.localized)) {
83
+ currentModelTree[attribute] = null;
84
+ } else {
85
+ currentModelTree[attribute] = false;
86
+ }
87
+ } else {
88
+ currentModelTree[attribute] = null;
89
+ }
90
+ }
91
+ return currentModelTree;
92
+ };
93
+ for (const model of localizableModels) {
94
+ if (model.__schema__.collectionName) {
95
+ const modelTree = {
96
+ [model.__schema__.collectionName]: {
97
+ __model__: true,
98
+ ...getModelTree(model.__schema__.attributes)
99
+ }
100
+ };
101
+ modelsTree.push(modelTree);
102
+ }
103
+ }
104
+ return modelsTree;
105
+ };
106
+ const arrayOfModelsToObject = (array) => array.reduce((obj, item) => {
107
+ obj[Object.keys(item)[0]] = item;
108
+ return obj;
109
+ }, {});
110
+ const findModelValueByKey = (allModelsTree, key) => {
111
+ const objectivizedModelsTree = arrayOfModelsToObject(allModelsTree);
112
+ return get(objectivizedModelsTree, key);
113
+ };
114
+ function baseFindIndex(array, predicate, fromIndex, fromRight) {
115
+ var length = array.length, index = fromIndex + -1;
116
+ while (++index < length) {
117
+ if (predicate(array[index], index, array)) {
118
+ return index;
119
+ }
120
+ }
121
+ return -1;
122
+ }
123
+ function baseIsNaN(value) {
124
+ return value !== value;
125
+ }
126
+ function strictIndexOf(array, value, fromIndex) {
127
+ var index = fromIndex - 1, length = array.length;
128
+ while (++index < length) {
129
+ if (array[index] === value) {
130
+ return index;
131
+ }
132
+ }
133
+ return -1;
134
+ }
135
+ function baseIndexOf(array, value, fromIndex) {
136
+ return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);
137
+ }
138
+ function arrayIncludes(array, value) {
139
+ var length = array == null ? 0 : array.length;
140
+ return !!length && baseIndexOf(array, value, 0) > -1;
141
+ }
142
+ function noop() {
143
+ }
144
+ var INFINITY = 1 / 0;
145
+ var createSet = !(Set && 1 / setToArray(new Set([, -0]))[1] == INFINITY) ? noop : function(values) {
146
+ return new Set(values);
147
+ };
148
+ var LARGE_ARRAY_SIZE = 200;
149
+ function baseUniq(array, iteratee, comparator) {
150
+ var index = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result;
151
+ if (length >= LARGE_ARRAY_SIZE) {
152
+ var set = createSet(array);
153
+ if (set) {
154
+ return setToArray(set);
155
+ }
156
+ isCommon = false;
157
+ includes = cacheHas;
158
+ seen = new SetCache();
159
+ } else {
160
+ seen = result;
161
+ }
162
+ outer:
163
+ while (++index < length) {
164
+ var value = array[index], computed = value;
165
+ value = value !== 0 ? value : 0;
166
+ if (isCommon && computed === computed) {
167
+ var seenIndex = seen.length;
168
+ while (seenIndex--) {
169
+ if (seen[seenIndex] === computed) {
170
+ continue outer;
171
+ }
172
+ }
173
+ result.push(value);
174
+ } else if (!includes(seen, computed, comparator)) {
175
+ if (seen !== result) {
176
+ seen.push(computed);
177
+ }
178
+ result.push(value);
179
+ }
180
+ }
181
+ return result;
182
+ }
183
+ function uniq(array) {
184
+ return array && array.length ? baseUniq(array) : [];
185
+ }
186
+ function isObject(value) {
187
+ return value !== null && typeof value === "object" && !(value instanceof Date);
188
+ }
189
+ var isArray = Array.isArray;
190
+ function deepKeys(obj, stack, parent, intermediate) {
191
+ Object.keys(obj).forEach(function(el) {
192
+ var escaped = el.replace(/\./g, "\\.");
193
+ if (isObject(obj[el]) && !isArray(obj[el])) {
194
+ var p = parent ? parent + "." + escaped : parent;
195
+ if (intermediate) stack.push(parent ? p : escaped);
196
+ deepKeys(obj[el], stack, p || escaped, intermediate);
197
+ } else if (isArray(obj[el])) {
198
+ obj[el].forEach((item, index) => {
199
+ var p2 = parent ? parent + `.${escaped}.${index}` : parent;
200
+ if (intermediate) stack.push(parent ? p2 : `${escaped}.${index}`);
201
+ deepKeys(item, stack, p2 || `${escaped}.${index}`, intermediate);
202
+ });
203
+ } else {
204
+ var key = parent ? parent + "." + escaped : escaped;
205
+ stack.push(key);
206
+ }
207
+ });
208
+ return stack;
209
+ }
210
+ var deepKeys_1 = function(obj, intermediate) {
211
+ return deepKeys(obj, [], null, intermediate);
212
+ };
213
+ const deepKeys$1 = /* @__PURE__ */ getDefaultExportFromCjs(deepKeys_1);
214
+ const sortByModelName = (a, b) => {
215
+ const uidA = Object.keys(a)[0].toLowerCase();
216
+ const uidB = Object.keys(b)[0].toLowerCase();
217
+ if (uidA < uidB) return -1;
218
+ if (uidA > uidB) return 1;
219
+ return 0;
220
+ };
221
+ const getContentTransferSetupKeysSets = (localizableTree = [], storedSetupSchema = []) => {
222
+ localizableTree = arrayOfModelsToObject(localizableTree.sort(sortByModelName));
223
+ storedSetupSchema = arrayOfModelsToObject(storedSetupSchema.sort(sortByModelName));
224
+ const currentModelsSchemaKeys = deepKeys$1(localizableTree);
225
+ const storedSetupSchemaKeys = deepKeys$1(storedSetupSchema);
226
+ const regex = /\.\d+\.__component__/;
227
+ let currentModelsSchemaComponentKeys = currentModelsSchemaKeys.filter((key) => key.match(regex)).map((key) => key.replace(regex, ""));
228
+ let storedSetupSchemaComponentKeys = storedSetupSchemaKeys.filter((key) => key.match(regex)).map((key) => key.replace(regex, ""));
229
+ currentModelsSchemaComponentKeys = uniq(currentModelsSchemaComponentKeys);
230
+ storedSetupSchemaComponentKeys = uniq(storedSetupSchemaComponentKeys);
231
+ const currentModelsSchemaComponentKeysComponentProp = currentModelsSchemaKeys.filter(
232
+ (key) => key.includes("__component__") && currentModelsSchemaComponentKeys.some((k) => key.includes(k))
233
+ );
234
+ const storedSetupSchemaComponentKeysComponentProp = storedSetupSchemaKeys.filter(
235
+ (key) => key.includes("__component__") && storedSetupSchemaComponentKeys.some((k) => key.includes(k))
236
+ );
237
+ let removedKeys = [];
238
+ removedKeys.push(
239
+ ...storedSetupSchemaComponentKeysComponentProp.map((key) => {
240
+ const storedComponentName = get(storedSetupSchema, key);
241
+ const currentComponentName = get(localizableTree, key);
242
+ if (storedComponentName !== currentComponentName) {
243
+ const part = key.split(".").slice(0, -1).join(".");
244
+ return storedSetupSchemaKeys.filter((k) => k.includes(part));
245
+ }
246
+ return [];
247
+ }).reduce((acc, val) => acc.concat(val), [])
248
+ );
249
+ removedKeys.push(...storedSetupSchemaKeys.filter((key) => !currentModelsSchemaKeys.includes(key)));
250
+ removedKeys = uniq(removedKeys);
251
+ let newKeys = [];
252
+ newKeys.push(
253
+ ...currentModelsSchemaComponentKeysComponentProp.map((key) => {
254
+ const storedComponentName = get(storedSetupSchema, key);
255
+ const currentComponentName = get(localizableTree, key);
256
+ if (storedComponentName !== currentComponentName) {
257
+ const part = key.split(".").slice(0, -1).join(".");
258
+ return currentModelsSchemaKeys.filter((k) => k.includes(part));
259
+ }
260
+ return [];
261
+ }).reduce((acc, val) => acc.concat(val), [])
262
+ );
263
+ newKeys.push(...currentModelsSchemaKeys.filter((key) => !storedSetupSchemaKeys.includes(key)));
264
+ newKeys = uniq(newKeys);
265
+ const filteredStoredSetupSchemaKeys = storedSetupSchemaKeys.filter((key) => !removedKeys.includes(key));
266
+ return {
267
+ oLocalizableTree: localizableTree,
268
+ oStoredSetupSchema: storedSetupSchema,
269
+ removedKeys,
270
+ newKeys,
271
+ filteredStoredSetupSchemaKeys
272
+ };
273
+ };
274
+ const hasModelChanged = async (localizableTree = null, storedSetupSchema = null, allModelsTree = null) => {
275
+ let models;
276
+ if (!localizableTree || !allModelsTree) {
277
+ models = await StrapiModelService.getModels();
278
+ }
279
+ if (!localizableTree) {
280
+ const localizableModels = await StrapiModelService.getLocalizableModels();
281
+ localizableTree = getModelsTree(models, localizableModels);
282
+ }
283
+ if (!storedSetupSchema) {
284
+ storedSetupSchema = (await PluginSettingsService.getContentTransferSetup()).setup;
285
+ }
286
+ if (!allModelsTree) {
287
+ allModelsTree = getModelsTree(models, models);
288
+ }
289
+ const { oStoredSetupSchema, removedKeys, newKeys, filteredStoredSetupSchemaKeys } = getContentTransferSetupKeysSets(
290
+ localizableTree,
291
+ storedSetupSchema || []
292
+ );
293
+ if (newKeys.length || removedKeys.length) {
294
+ return true;
295
+ }
296
+ for (const key of filteredStoredSetupSchemaKeys) {
297
+ const localizableTreeValueToSet = get(oStoredSetupSchema, key);
298
+ const allModelsTreeValueToSet = findModelValueByKey(allModelsTree, key);
299
+ if (typeof localizableTreeValueToSet === "boolean" && allModelsTreeValueToSet === null) {
300
+ return true;
301
+ }
302
+ if (localizableTreeValueToSet === null && typeof allModelsTreeValueToSet === "boolean") {
303
+ return true;
304
+ }
305
+ }
306
+ return false;
307
+ };
308
+ export {
309
+ SUPPORTED_CONTENT_TYPE_FIELDS as S,
310
+ SUPPORTED_CUSTOM_FIELD_PLUGINS as a,
311
+ get as b,
312
+ StrapiModelService as c,
313
+ getModelsTree as d,
314
+ findModelValueByKey as f,
315
+ getContentTransferSetupKeysSets as g,
316
+ hasModelChanged as h
317
+ };