@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.
- package/README.md +3 -1
- package/dist/_chunks/App-BSFfgZKU.mjs +5278 -0
- package/dist/_chunks/App-D1QaIMHX.js +5278 -0
- package/dist/_chunks/ContentTransferSetup-DHXJIxAp.js +1552 -0
- package/dist/_chunks/ContentTransferSetup-DtjcF_jM.mjs +1550 -0
- package/dist/_chunks/GlobalSettings-BON3kjHK.js +228 -0
- package/dist/_chunks/GlobalSettings-BcdibqNS.mjs +228 -0
- package/dist/_chunks/LanguagesSelector-BeijBEjg.js +47 -0
- package/dist/_chunks/LanguagesSelector-fyAIUp7M.mjs +48 -0
- package/dist/_chunks/en-BTf8goGM.mjs +8 -0
- package/dist/_chunks/en-CRtsEFtl.js +8 -0
- package/dist/_chunks/fr-C8Qw4iPZ.js +4 -0
- package/dist/_chunks/fr-hkSxFuzl.mjs +4 -0
- package/dist/_chunks/has-model-changed-BMCQX2Dd.js +316 -0
- package/dist/_chunks/has-model-changed-Dvtzpc9v.mjs +317 -0
- package/dist/_chunks/index-BQw2qi2G.js +2679 -0
- package/dist/_chunks/index-CN3Gyh5F.mjs +2678 -0
- package/dist/_chunks/isEqual-B-YVnzrp.js +205 -0
- package/dist/_chunks/isEqual-CEyT97-3.mjs +206 -0
- package/dist/_chunks/set-DUdH3vE5.js +54557 -0
- package/dist/_chunks/set-DulHAQhq.mjs +54542 -0
- package/dist/admin/index.js +4 -0
- package/dist/admin/index.mjs +5 -0
- package/dist/admin/src/components/Initializer.d.ts +5 -0
- package/dist/admin/src/config/development/index.d.ts +15 -0
- package/dist/admin/src/config/example/index.example.d.ts +15 -0
- package/dist/admin/src/config/index.d.ts +15 -0
- package/dist/admin/src/config/local/index.d.ts +15 -0
- package/dist/admin/src/config/production/index.d.ts +15 -0
- package/dist/admin/src/i18n.d.ts +2 -0
- package/dist/admin/src/index.d.ts +10 -0
- package/dist/admin/src/modules/@common/api/strapi-api-base.d.ts +6 -0
- package/dist/admin/src/modules/@common/components/Icons/House.d.ts +2 -0
- package/dist/admin/src/modules/@common/components/Icons/Localazy.d.ts +2 -0
- package/dist/admin/src/modules/@common/components/LanguagesSelector.d.ts +11 -0
- package/dist/admin/src/modules/@common/components/PluginPageLoader.d.ts +2 -0
- package/dist/admin/src/modules/@common/components/SideNav.d.ts +2 -0
- package/dist/admin/src/modules/@common/components/TransferReport.d.ts +5 -0
- package/dist/admin/src/modules/@common/functions/flatten-deep.d.ts +2 -0
- package/dist/admin/src/modules/@common/locale/en.d.ts +14 -0
- package/dist/admin/src/modules/@common/models/supported-content-type-fields.d.ts +2 -0
- package/dist/admin/src/modules/@common/models/supported-custom-field-plugins.d.ts +2 -0
- package/dist/admin/src/modules/@common/services/i18n-service.d.ts +3 -0
- package/dist/admin/src/modules/@common/services/plugin.service.d.ts +3 -0
- package/dist/admin/src/modules/@common/services/product-analytics-service.d.ts +14 -0
- package/dist/admin/src/modules/@common/services/project-service.d.ts +4 -0
- package/dist/admin/src/modules/@common/services/user-service.d.ts +5 -0
- package/dist/admin/src/modules/@common/utils/are-locales-compatible.d.ts +2 -0
- package/dist/admin/src/modules/@common/utils/format-number.d.ts +2 -0
- package/dist/admin/src/modules/@common/utils/get-default-locale.d.ts +2 -0
- package/dist/admin/src/modules/@common/utils/history.d.ts +2 -0
- package/dist/admin/src/modules/@common/utils/is-plugin-route.d.ts +2 -0
- package/dist/admin/src/modules/@common/utils/iso-locales-utils.d.ts +3 -0
- package/dist/admin/src/modules/@common/utils/redirect-to-plugin-route.d.ts +13 -0
- package/dist/admin/src/modules/@common/utils/sort-by-model-name.d.ts +2 -0
- package/dist/admin/src/modules/@common/utils/use-header-subtitle.d.ts +2 -0
- package/dist/admin/src/modules/@common/utils/use-header-title.d.ts +2 -0
- package/dist/admin/src/modules/@common/utils/use-nav.d.ts +11 -0
- package/dist/admin/src/modules/alerts/constants/channels.d.ts +1 -0
- package/dist/admin/src/modules/alerts/constants/events.d.ts +4 -0
- package/dist/admin/src/modules/alerts/services/alerts-service.d.ts +8 -0
- package/dist/admin/src/modules/localazy-download/locale/en.d.ts +24 -0
- package/dist/admin/src/modules/localazy-download/services/download-alerts-service.d.ts +5 -0
- package/dist/admin/src/modules/localazy-download/services/localazy-download-service.d.ts +3 -0
- package/dist/admin/src/modules/localazy-upload/components/ReadDocsButton.d.ts +3 -0
- package/dist/admin/src/modules/localazy-upload/locale/en.d.ts +19 -0
- package/dist/admin/src/modules/localazy-upload/services/localazy-upload-service.d.ts +3 -0
- package/dist/admin/src/modules/localazy-upload/services/upload-alerts-service.d.ts +5 -0
- package/dist/admin/src/modules/login/components/FetchIdentity.d.ts +3 -0
- package/dist/admin/src/modules/login/components/LoginButton.d.ts +12 -0
- package/dist/admin/src/modules/login/components/LogoutButton.d.ts +6 -0
- package/dist/admin/src/modules/login/locale/en.d.ts +8 -0
- package/dist/admin/src/modules/login/services/localazy-login-service.d.ts +4 -0
- package/dist/admin/src/modules/overview/components/OverviewItem.d.ts +7 -0
- package/dist/admin/src/modules/overview/components/OverviewItemLink.d.ts +7 -0
- package/dist/admin/src/modules/overview/components/PrerequisitiesInfo.d.ts +3 -0
- package/dist/admin/src/modules/overview/locale/en.d.ts +14 -0
- package/dist/admin/src/modules/plugin-settings/components/ContentTransferSetupEmpty.d.ts +2 -0
- package/dist/admin/src/modules/plugin-settings/components/Tree.d.ts +8 -0
- package/dist/admin/src/modules/plugin-settings/components/TreeItem.d.ts +10 -0
- package/dist/admin/src/modules/plugin-settings/functions/build-content-transfer-setup-schema.d.ts +2 -0
- package/dist/admin/src/modules/plugin-settings/functions/get-content-transfer-setup-keys-sets.d.ts +8 -0
- package/dist/admin/src/modules/plugin-settings/functions/has-model-changed.d.ts +6 -0
- package/dist/admin/src/modules/plugin-settings/locale/en.d.ts +49 -0
- package/dist/admin/src/modules/plugin-settings/services/plugin-settings-service.d.ts +6 -0
- package/dist/admin/src/modules/plugin-settings/services/strapi-model-service.d.ts +4 -0
- package/dist/admin/src/modules/plugin-settings/services/strapi-users-service.d.ts +3 -0
- package/dist/admin/src/modules/plugin-settings/utils/array-of-models-to-object.d.ts +2 -0
- package/dist/admin/src/modules/plugin-settings/utils/find-model-value-by-key.d.ts +2 -0
- package/dist/admin/src/modules/plugin-settings/utils/get-filtered-models-schemas.d.ts +7 -0
- package/dist/admin/src/modules/plugin-settings/utils/get-models-tree.d.ts +5 -0
- package/dist/admin/src/modules/strapi/utils/get-default-theme.d.ts +3 -0
- package/dist/admin/src/modules/user/model/localazy-identity.d.ts +15 -0
- package/dist/admin/src/modules/user/services/localazy-user-service.d.ts +6 -0
- package/dist/admin/src/pages/App.d.ts +3 -0
- package/dist/admin/src/pages/ContentTransferSetup.d.ts +4 -0
- package/dist/admin/src/pages/Download.d.ts +7 -0
- package/dist/admin/src/pages/GlobalSettings.d.ts +4 -0
- package/dist/admin/src/pages/HomePage.d.ts +2 -0
- package/dist/admin/src/pages/Login.d.ts +8 -0
- package/dist/admin/src/pages/Overview.d.ts +8 -0
- package/dist/admin/src/pages/Upload.d.ts +7 -0
- package/dist/admin/src/pluginId.d.ts +2 -0
- package/dist/admin/src/plugins/generic-connector-client.d.ts +3 -0
- package/dist/admin/src/state/localazy-identity.d.ts +13 -0
- package/dist/admin/src/utils/getTranslation.d.ts +2 -0
- package/dist/server/index.js +26000 -0
- package/dist/server/index.mjs +25989 -0
- package/dist/server/src/bootstrap.d.ts +5 -0
- package/dist/server/src/config/core/config.d.ts +1 -0
- package/dist/server/src/config/development/index.d.ts +15 -0
- package/dist/server/src/config/example/index.example.d.ts +15 -0
- package/dist/server/src/config/index.d.ts +18 -0
- package/dist/server/src/config/local/index.d.ts +15 -0
- package/dist/server/src/config/production/index.d.ts +15 -0
- package/dist/server/src/constants/channels.d.ts +3 -0
- package/dist/server/src/constants/events.d.ts +6 -0
- package/dist/server/src/content-types/index.d.ts +2 -0
- package/dist/server/src/controllers/index.d.ts +43 -0
- package/dist/server/src/controllers/localazy-auth-controller.d.ts +8 -0
- package/dist/server/src/controllers/localazy-project-controller.d.ts +7 -0
- package/dist/server/src/controllers/localazy-transfer-controller.d.ts +8 -0
- package/dist/server/src/controllers/localazy-user-controller.d.ts +9 -0
- package/dist/server/src/controllers/plugin-settings-controller.d.ts +10 -0
- package/dist/server/src/controllers/strapi-controller.d.ts +10 -0
- package/dist/server/src/core/index.d.ts +71 -0
- package/dist/server/src/db/model/content-transfer-setup.d.ts +4 -0
- package/dist/server/src/db/model/localazy-user.d.ts +17 -0
- package/dist/server/src/db/model/plugin-settings.d.ts +5 -0
- package/dist/server/src/db/model/utils/get-strapi-store.d.ts +26 -0
- package/dist/server/src/destroy.d.ts +5 -0
- package/dist/server/src/functions/should-set-downloaded-property.d.ts +12 -0
- package/dist/server/src/index.d.ts +189 -0
- package/dist/server/src/lifecycles/deep-populate-hook.d.ts +20 -0
- package/dist/server/src/lifecycles/deprecate-event-entry-in-localazy-hook.d.ts +4 -0
- package/dist/server/src/lifecycles/upload-event-entry-to-localazy-hook.d.ts +12 -0
- package/dist/server/src/middlewares/index.d.ts +2 -0
- package/dist/server/src/models/plugin/content-transfer-setup.d.ts +13 -0
- package/dist/server/src/models/strapi/locale.d.ts +8 -0
- package/dist/server/src/policies/index.d.ts +2 -0
- package/dist/server/src/register.d.ts +5 -0
- package/dist/server/src/routes/index.d.ts +25 -0
- package/dist/server/src/routes/localazy-auth-routes.d.ts +9 -0
- package/dist/server/src/routes/localazy-project-routes.d.ts +9 -0
- package/dist/server/src/routes/localazy-transfer-routes.d.ts +9 -0
- package/dist/server/src/routes/localazy-user-routes.d.ts +9 -0
- package/dist/server/src/routes/plugin-settings-routes.d.ts +9 -0
- package/dist/server/src/routes/strapi-routes.d.ts +9 -0
- package/dist/server/src/services/helpers/job-notification-service.d.ts +14 -0
- package/dist/server/src/services/helpers/plugin-settings-service-helper.d.ts +16 -0
- package/dist/server/src/services/index.d.ts +92 -0
- package/dist/server/src/services/localazy-pubapi-service.d.ts +12 -0
- package/dist/server/src/services/localazy-transfer-download-service.d.ts +11 -0
- package/dist/server/src/services/localazy-transfer-upload-service.d.ts +11 -0
- package/dist/server/src/services/localazy-upload-service.d.ts +28 -0
- package/dist/server/src/services/localazy-user-service.d.ts +11 -0
- package/dist/server/src/services/plugin-settings-service.d.ts +16 -0
- package/dist/server/src/services/strapi-i18n-service.d.ts +19 -0
- package/dist/server/src/services/strapi-localazy-i18n-service.d.ts +9 -0
- package/dist/server/src/services/strapi-service.d.ts +10 -0
- package/dist/server/src/utils/delay.d.ts +1 -0
- package/dist/server/src/utils/drop-property-deep.d.ts +1 -0
- package/dist/server/src/utils/flatten-object.d.ts +2 -0
- package/dist/server/src/utils/generate-random-id.d.ts +2 -0
- package/dist/server/src/utils/get-full-populate-localazy-download-object.d.ts +17 -0
- package/dist/server/src/utils/get-full-populate-localazy-upload-object.d.ts +9 -0
- package/dist/server/src/utils/get-full-populate-object.d.ts +17 -0
- package/dist/server/src/utils/get-main-keys-of-nested-array-objects.d.ts +2 -0
- package/dist/server/src/utils/get-picked-flatten-keys-for-hook-entry.d.ts +5 -0
- package/dist/server/src/utils/intl-display-name.d.ts +1 -0
- package/dist/server/src/utils/is-generally-applicable-content-type.d.ts +2 -0
- package/dist/server/src/utils/is-localazy-applicable-content-type.d.ts +2 -0
- package/dist/server/src/utils/iso-locales-utils.d.ts +3 -0
- package/dist/server/src/utils/localazy-api-client-factory.d.ts +3 -0
- package/dist/server/src/utils/localazy-generic-connector-client-factory.d.ts +3 -0
- package/dist/server/src/utils/model-utils.d.ts +7 -0
- package/dist/server/src/utils/omit-deep.d.ts +2 -0
- package/dist/server/src/utils/parsed-localazy-entry-to-create-entry.d.ts +7 -0
- package/dist/server/src/utils/parsed-localazy-entry-to-update-entry.d.ts +1 -0
- package/dist/server/src/utils/pick-entries.d.ts +2 -0
- package/dist/server/src/utils/populate-create-update-entry-with-base-entry.d.ts +1 -0
- package/dist/server/src/utils/request-initiator-helper.d.ts +9 -0
- package/dist/server/src/utils/reset-array-keys-deep.d.ts +1 -0
- package/dist/server/src/utils/transfer-setup-utils.d.ts +7 -0
- package/install/index.mjs +88 -34
- package/install/vite.config.example.js +40 -0
- package/install/vite.config.example.ts +41 -0
- package/install/{webpack.example.js → webpack.config.example.js} +2 -2
- package/install/webpack.config.example.ts +30 -0
- package/package.json +93 -55
- package/.babelrc +0 -7
- package/.eslintrc +0 -13
- package/.github/workflows/qa.yml +0 -25
- package/.github/workflows/release.yml +0 -46
- package/.nvmrc +0 -1
- package/.strapi-updater.json +0 -4
- package/CHANGELOG.md +0 -60
- package/LICENSE +0 -21
- package/admin/src/components/Initializer/index.js +0 -26
- package/admin/src/components/PluginIcon/index.js +0 -14
- package/admin/src/config/development/index.js +0 -14
- package/admin/src/config/example/index.js +0 -14
- package/admin/src/config/index.js +0 -19
- package/admin/src/config/local/index.js +0 -14
- package/admin/src/config/production/index.js +0 -15
- package/admin/src/i18n.js +0 -41
- package/admin/src/index.js +0 -138
- package/admin/src/modules/@common/components/Icons/Localazy/index.js +0 -12
- package/admin/src/modules/@common/components/LanguagesSelector/index.js +0 -67
- package/admin/src/modules/@common/components/PluginPageLoader/index.js +0 -20
- package/admin/src/modules/@common/components/SideNav/index.js +0 -46
- package/admin/src/modules/@common/components/TransferReport/index.js +0 -53
- package/admin/src/modules/@common/locale/en.js +0 -14
- package/admin/src/modules/@common/models/supported-content-type-fields.js +0 -9
- package/admin/src/modules/@common/models/supported-custom-field-plugins.js +0 -6
- package/admin/src/modules/@common/services/i18n-service.js +0 -15
- package/admin/src/modules/@common/services/plugin.service.js +0 -16
- package/admin/src/modules/@common/services/product-analytics-service.js +0 -86
- package/admin/src/modules/@common/services/project-service.js +0 -15
- package/admin/src/modules/@common/services/user-service.js +0 -38
- package/admin/src/modules/@common/utils/__tests__/iso-locales-utils.test.js +0 -102
- package/admin/src/modules/@common/utils/are-locales-compatible.js +0 -42
- package/admin/src/modules/@common/utils/format-number.js +0 -1
- package/admin/src/modules/@common/utils/functions/flatten-deep.js +0 -23
- package/admin/src/modules/@common/utils/get-default-locale.js +0 -32
- package/admin/src/modules/@common/utils/get-header-subtitle.js +0 -21
- package/admin/src/modules/@common/utils/get-header-title.js +0 -24
- package/admin/src/modules/@common/utils/get-nav.js +0 -35
- package/admin/src/modules/@common/utils/history.js +0 -6
- package/admin/src/modules/@common/utils/is-plugin-route.js +0 -15
- package/admin/src/modules/@common/utils/iso-locales-utils.js +0 -58
- package/admin/src/modules/@common/utils/redirect-to-plugin-route.js +0 -22
- package/admin/src/modules/@common/utils/sort-by-model-name.js +0 -10
- package/admin/src/modules/alerts/constants/channels.js +0 -1
- package/admin/src/modules/alerts/constants/events.js +0 -4
- package/admin/src/modules/alerts/services/alerts-service.js +0 -41
- package/admin/src/modules/localazy-download/locale/en.js +0 -25
- package/admin/src/modules/localazy-download/services/download-alerts-service.js +0 -12
- package/admin/src/modules/localazy-download/services/localazy-download-service.js +0 -16
- package/admin/src/modules/localazy-upload/components/ReadDocsButton.js +0 -20
- package/admin/src/modules/localazy-upload/locale/en.js +0 -20
- package/admin/src/modules/localazy-upload/services/localazy-upload-service.js +0 -16
- package/admin/src/modules/localazy-upload/services/upload-alerts-service.js +0 -12
- package/admin/src/modules/login/components/LoginButton/index.js +0 -55
- package/admin/src/modules/login/components/LogoutButton/index.js +0 -49
- package/admin/src/modules/login/locale/en.js +0 -7
- package/admin/src/modules/login/services/localazy-login-service.js +0 -29
- package/admin/src/modules/plugin-settings/components/ContentTransferSetup/index.js +0 -308
- package/admin/src/modules/plugin-settings/components/ContentTransferSetupEmpty/index.js +0 -86
- package/admin/src/modules/plugin-settings/components/GlobalSettings/index.js +0 -269
- package/admin/src/modules/plugin-settings/components/Tree/index.js +0 -145
- package/admin/src/modules/plugin-settings/components/TreeItem/index.js +0 -48
- package/admin/src/modules/plugin-settings/functions/build-content-transfer-setup-schema.js +0 -57
- package/admin/src/modules/plugin-settings/functions/get-content-transfer-setup-keys-sets.js +0 -85
- package/admin/src/modules/plugin-settings/functions/has-model-changed.js +0 -75
- package/admin/src/modules/plugin-settings/locale/en.js +0 -61
- package/admin/src/modules/plugin-settings/services/plugin-settings-service.js +0 -55
- package/admin/src/modules/plugin-settings/services/strapi-model-service.js +0 -26
- package/admin/src/modules/plugin-settings/services/strapi-users-service.js +0 -26
- package/admin/src/modules/plugin-settings/utils/__tests__/get-models-tree.test.js +0 -135
- package/admin/src/modules/plugin-settings/utils/array-of-models-to-object.js +0 -6
- package/admin/src/modules/plugin-settings/utils/find-model-value-by-key.js +0 -8
- package/admin/src/modules/plugin-settings/utils/get-filtered-models-schemas.js +0 -31
- package/admin/src/modules/plugin-settings/utils/get-models-tree.js +0 -94
- package/admin/src/modules/settings/components/OverviewItem/index.js +0 -44
- package/admin/src/modules/settings/components/OverviewItemLink/index.js +0 -34
- package/admin/src/modules/settings/components/PrerequisitiesInfo/index.js +0 -28
- package/admin/src/modules/settings/locale/en.js +0 -13
- package/admin/src/modules/user/model/localazy-identity.js +0 -14
- package/admin/src/modules/user/services/localazy-user-service.js +0 -38
- package/admin/src/pages/App/index.js +0 -154
- package/admin/src/pages/Download/index.js +0 -280
- package/admin/src/pages/Index/index.js +0 -8
- package/admin/src/pages/Login/index.js +0 -109
- package/admin/src/pages/PluginSettings/index.js +0 -56
- package/admin/src/pages/Settings/index.js +0 -132
- package/admin/src/pages/Upload/index.js +0 -241
- package/admin/src/pluginId.js +0 -5
- package/admin/src/plugins/generic-connector-client.js +0 -9
- package/admin/src/state/localazy-identity.js +0 -29
- package/admin/src/tests/fixtures/all-models.js +0 -877
- package/admin/src/tests/fixtures/restaurant-model.js +0 -230
- package/admin/src/translations/en.json +0 -4
- package/admin/src/translations/fr.json +0 -1
- package/admin/src/utils/createAxiosInstance.js +0 -54
- package/admin/src/utils/getTrad.js +0 -5
- package/jest.config.js +0 -0
- package/server/bootstrap.js +0 -63
- package/server/config/development/index.js +0 -16
- package/server/config/example/index.js +0 -16
- package/server/config/index.js +0 -20
- package/server/config/local/index.js +0 -16
- package/server/config/production/index.js +0 -17
- package/server/config/schema.graphql.js +0 -21
- package/server/constants/channels.js +0 -3
- package/server/constants/events.js +0 -6
- package/server/content-types/index.js +0 -3
- package/server/controllers/index.js +0 -17
- package/server/controllers/localazy-auth-controller.js +0 -22
- package/server/controllers/localazy-project-controller.js +0 -21
- package/server/controllers/localazy-transfer-controller.js +0 -62
- package/server/controllers/localazy-user-controller.js +0 -24
- package/server/controllers/plugin-settings-controller.js +0 -31
- package/server/controllers/strapi-controller.js +0 -27
- package/server/db/model/content-transfer-setup.js +0 -13
- package/server/db/model/localazy-user.js +0 -23
- package/server/db/model/plugin-settings.js +0 -13
- package/server/db/model/utils/get-strapi-store.js +0 -9
- package/server/destroy.js +0 -5
- package/server/functions/should-set-downloaded-property.js +0 -94
- package/server/index.js +0 -25
- package/server/lifecycles/deep-populate-hook.js +0 -12
- package/server/lifecycles/deprecate-event-entry-in-localazy-hook.js +0 -73
- package/server/lifecycles/upload-event-entry-to-localazy-hook.js +0 -36
- package/server/middlewares/index.js +0 -7
- package/server/middlewares/verify-webhook.js +0 -77
- package/server/models/supported-content-type-fields.js +0 -9
- package/server/models/supported-custom-field-plugins.js +0 -6
- package/server/policies/index.js +0 -3
- package/server/register.js +0 -5
- package/server/routes/index.js +0 -28
- package/server/routes/localazy-auth.js +0 -22
- package/server/routes/localazy-project.js +0 -14
- package/server/routes/localazy-public-transfer.js +0 -20
- package/server/routes/localazy-transfer.js +0 -22
- package/server/routes/localazy-user.js +0 -30
- package/server/routes/plugin-settings.js +0 -38
- package/server/routes/strapi.js +0 -38
- package/server/services/helpers/job-notification-service.js +0 -30
- package/server/services/helpers/plugin-settings-service-helper.js +0 -52
- package/server/services/index.js +0 -23
- package/server/services/localazy-pubapi-service.js +0 -53
- package/server/services/localazy-transfer-download-service.js +0 -445
- package/server/services/localazy-transfer-upload-service.js +0 -178
- package/server/services/localazy-upload-service.js +0 -52
- package/server/services/localazy-user-service.js +0 -29
- package/server/services/plugin-settings-service.js +0 -53
- package/server/services/strapi-i18n-service.js +0 -151
- package/server/services/strapi-localazy-i18n-service.js +0 -130
- package/server/services/strapi-service.js +0 -26
- package/server/tests/fixtures/all-models.js +0 -869
- package/server/tests/fixtures/parsed-localazy-entry-to-create-entry-cookbook.js +0 -5761
- package/server/tests/fixtures/parsed-localazy-entry-to-create-entry-lesson-dz.js +0 -402
- package/server/tests/fixtures/parsed-localazy-entry-to-create-entry-page-dz.js +0 -658
- package/server/tests/fixtures/parsed-localazy-entry-to-create-entry-restaurant-simple-menu.js +0 -536
- package/server/tests/fixtures/parsed-localazy-entry-to-update-entry.js +0 -35157
- package/server/tests/fixtures/populate-create-update-entry-with-base-entry-cookbook-empty-recipes.js +0 -202
- package/server/tests/fixtures/populate-create-update-entry-with-base-entry-cookbook.js +0 -2700
- package/server/tests/fixtures/populate-create-update-entry-with-base-entry-lesson-dz.js +0 -309
- package/server/tests/fixtures/populate-create-update-entry-with-base-entry-restaurant-simple-flat-simple.js +0 -47
- package/server/tests/fixtures/populate-create-update-entry-with-base-entry-restaurant-simple-flat-with-media.js +0 -169
- package/server/tests/fixtures/populate-create-update-entry-with-base-entry-restaurant-simple-menu-empty.js +0 -3003
- package/server/tests/fixtures/populate-create-update-entry-with-base-entry-restaurant-simple-menu-with-media.js +0 -2057
- package/server/tests/fixtures/populate-create-update-entry-with-base-entry-sample-json-dz.js +0 -884
- package/server/tests/fixtures/populate-create-update-entry-with-base-entry-sample-json.js +0 -46
- package/server/tests/fixtures/strapi-plugin-all-models.js +0 -7000
- package/server/utils/__tests__/build-populate.test.js +0 -85
- package/server/utils/__tests__/flatten-object.test.js +0 -171
- package/server/utils/__tests__/get-models-tree.test.js +0 -170
- package/server/utils/__tests__/iso-locales-utils.test.js +0 -104
- package/server/utils/__tests__/parsed-localazy-entry-to-create-entry.test.js +0 -258
- package/server/utils/__tests__/parsed-localazy-entry-to-update-entry.test.js +0 -456
- package/server/utils/__tests__/pick-entries.test.js +0 -963
- package/server/utils/__tests__/populate-create-update-entry-with-base-entry.test.js +0 -1176
- package/server/utils/build-populate.js +0 -48
- package/server/utils/delay.js +0 -6
- package/server/utils/flatten-object.js +0 -61
- package/server/utils/generate-random-id.js +0 -3
- package/server/utils/get-full-populate-object.js +0 -66
- package/server/utils/get-main-keys-of-nested-array-objects.js +0 -5
- package/server/utils/get-models-tree.js +0 -47
- package/server/utils/get-picked-flatten-keys-for-hook-entry.js +0 -270
- package/server/utils/intl-display-name.js +0 -4
- package/server/utils/is-generally-applicable-content-type.js +0 -33
- package/server/utils/is-localazy-applicable-content-type.js +0 -36
- package/server/utils/iso-locales-utils.js +0 -60
- package/server/utils/localazy-api-client-factory.js +0 -22
- package/server/utils/localazy-generic-connector-client-factory.js +0 -15
- package/server/utils/model-utils.js +0 -43
- package/server/utils/objectivise-entry.js +0 -41
- package/server/utils/omit-deep.js +0 -24
- package/server/utils/parsed-localazy-entry-to-create-entry.js +0 -194
- package/server/utils/parsed-localazy-entry-to-update-entry.js +0 -83
- package/server/utils/pick-deep.js +0 -22
- package/server/utils/pick-entries.js +0 -37
- package/server/utils/populate-create-update-entry-with-base-entry.js +0 -264
- package/server/utils/request-initiator-helper.js +0 -36
- package/server/utils/reset-array-keys-deep.js +0 -19
- package/server/utils/transfer-setup-utils.js +0 -93
- package/strapi-admin.js +0 -14
- package/strapi-server.js +0 -5
- package/test/helpers/mocks.js +0 -9
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const isEmpty = require("lodash/isEmpty");
|
|
4
|
-
|
|
5
|
-
const getAttribute = (model, attribute) => {
|
|
6
|
-
if (isEmpty(model)) {
|
|
7
|
-
return undefined;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
const attributeObj = model.attributes[attribute];
|
|
11
|
-
return attributeObj;
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
const isComponent = (attributeObj) => {
|
|
15
|
-
return attributeObj.type === "component";
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
const isDynamicZone = (attributeObj) => {
|
|
19
|
-
return attributeObj.type === "dynamiczone";
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const isRepeatable = (attributeObj) => {
|
|
23
|
-
return isComponent(attributeObj) && !!attributeObj.repeatable;
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
const isRelation = (attributeObj) => {
|
|
27
|
-
return attributeObj.type === "relation"
|
|
28
|
-
&& attributeObj.target !== "plugin::upload.file";
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
const findModel = (models, uid) => {
|
|
32
|
-
const model = models.find((model) => model.uid === uid);
|
|
33
|
-
return model;
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
module.exports = {
|
|
37
|
-
getAttribute,
|
|
38
|
-
isComponent,
|
|
39
|
-
isDynamicZone,
|
|
40
|
-
isRepeatable,
|
|
41
|
-
isRelation,
|
|
42
|
-
findModel,
|
|
43
|
-
};
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const set = require("lodash/set");
|
|
4
|
-
|
|
5
|
-
const arrayToObject = (array, keyField) =>
|
|
6
|
-
array.reduce((obj, item) => {
|
|
7
|
-
obj[item[keyField]] = item;
|
|
8
|
-
return obj;
|
|
9
|
-
}, {});
|
|
10
|
-
|
|
11
|
-
const objectiviseEntry = (entry) => {
|
|
12
|
-
const objectivized = {};
|
|
13
|
-
|
|
14
|
-
const objectiviseEntryStep = (entryStep, prefix = "") => {
|
|
15
|
-
if (entryStep === null || typeof entryStep !== "object") {
|
|
16
|
-
set(objectivized, prefix, entryStep);
|
|
17
|
-
} else {
|
|
18
|
-
if (Array.isArray(entryStep)) {
|
|
19
|
-
const arrayedEntry = arrayToObject(entryStep, "id");
|
|
20
|
-
Object.keys(arrayedEntry).forEach((key) => {
|
|
21
|
-
objectiviseEntryStep(
|
|
22
|
-
arrayedEntry[key],
|
|
23
|
-
prefix ? `${prefix}.${key}` : key
|
|
24
|
-
);
|
|
25
|
-
});
|
|
26
|
-
} else {
|
|
27
|
-
Object.keys(entryStep).forEach((key) => {
|
|
28
|
-
objectiviseEntryStep(
|
|
29
|
-
entryStep[key],
|
|
30
|
-
prefix ? `${prefix}.${key}` : key
|
|
31
|
-
);
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
objectiviseEntryStep(entry);
|
|
37
|
-
|
|
38
|
-
return objectivized;
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
module.exports = objectiviseEntry;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const cloneDeepWith = require("lodash/cloneDeepWith");
|
|
4
|
-
|
|
5
|
-
function omitDeep(collection, excludeKeys) {
|
|
6
|
-
function omitFn(value) {
|
|
7
|
-
if (value && typeof value === "object") {
|
|
8
|
-
excludeKeys.forEach((key) => {
|
|
9
|
-
delete value[key];
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
if (Array.isArray(collection)) {
|
|
15
|
-
const clonedData = [];
|
|
16
|
-
for (const collectionItem of collection) {
|
|
17
|
-
clonedData.push(cloneDeepWith(collectionItem, omitFn));
|
|
18
|
-
}
|
|
19
|
-
return clonedData;
|
|
20
|
-
}
|
|
21
|
-
return cloneDeepWith(collection, omitFn);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
module.exports = omitDeep;
|
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const set = require("lodash/set");
|
|
4
|
-
const get = require("lodash/get");
|
|
5
|
-
const resetArrayKeysDeep = require("./reset-array-keys-deep");
|
|
6
|
-
const { getAttribute, isComponent, isDynamicZone, isRepeatable, findModel } = require("./model-utils");
|
|
7
|
-
|
|
8
|
-
const parsedLocalazyEntryToCreateEntry = (
|
|
9
|
-
models,
|
|
10
|
-
parsedLocalazyEntry,
|
|
11
|
-
baseEntry,
|
|
12
|
-
uid,
|
|
13
|
-
locale = ""
|
|
14
|
-
) => {
|
|
15
|
-
const createEntry = {};
|
|
16
|
-
const repeatableComponentsKeystoFilter = [];
|
|
17
|
-
const dynamicZoneComponentKeys = [];
|
|
18
|
-
|
|
19
|
-
const toCreateEntry = (
|
|
20
|
-
entry,
|
|
21
|
-
model,
|
|
22
|
-
// eslint-disable-next-line no-unused-vars
|
|
23
|
-
key = "",
|
|
24
|
-
prefix = "",
|
|
25
|
-
component = "",
|
|
26
|
-
isRepeatableComponent = false,
|
|
27
|
-
isDZ = false,
|
|
28
|
-
isInsideDZ = false,
|
|
29
|
-
) => {
|
|
30
|
-
if (Array.isArray(entry)) {
|
|
31
|
-
// is array
|
|
32
|
-
Object.entries(entry).forEach(([baseEntryItemId, value]) => {
|
|
33
|
-
if (value !== null) {
|
|
34
|
-
if (component && isRepeatableComponent) {
|
|
35
|
-
// used for indices filtering in repeatable components
|
|
36
|
-
if (!repeatableComponentsKeystoFilter.includes(prefix)) {
|
|
37
|
-
repeatableComponentsKeystoFilter.push(prefix);
|
|
38
|
-
}
|
|
39
|
-
const baseEntryRepeatableItemId = parseInt(baseEntryItemId);
|
|
40
|
-
const baseEntryRepeateableGroup = get(baseEntry, prefix);
|
|
41
|
-
if (baseEntryRepeateableGroup !== undefined) {
|
|
42
|
-
const localizedEntryRepeatableItemPosition = baseEntryRepeateableGroup.findIndex((repeatableItem) => !!repeatableItem && repeatableItem.id === baseEntryRepeatableItemId);
|
|
43
|
-
if (localizedEntryRepeatableItemPosition > -1) {
|
|
44
|
-
toCreateEntry(value, model, localizedEntryRepeatableItemPosition, `${prefix}.${localizedEntryRepeatableItemPosition}`, component);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
if (component && !isRepeatableComponent) {
|
|
50
|
-
toCreateEntry(value, model, `${prefix}`, `${prefix}`);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
if (!component && isRepeatableComponent) {
|
|
54
|
-
// used for indices filtering in dynamic zones
|
|
55
|
-
if (!repeatableComponentsKeystoFilter.includes(prefix)) {
|
|
56
|
-
repeatableComponentsKeystoFilter.push(prefix);
|
|
57
|
-
}
|
|
58
|
-
const baseEntryRepeatableItemId = parseInt(baseEntryItemId);
|
|
59
|
-
const baseEntryRepeateableGroup = get(baseEntry, prefix);
|
|
60
|
-
if (baseEntryRepeateableGroup !== undefined) {
|
|
61
|
-
const localizedEntryRepeatableItemPosition = baseEntryRepeateableGroup.findIndex((repeatableItem) => !!repeatableItem && repeatableItem.id === baseEntryRepeatableItemId);
|
|
62
|
-
if (localizedEntryRepeatableItemPosition > -1) {
|
|
63
|
-
const dzEntry = get(baseEntry, prefix).find((v) => v.id === baseEntryRepeatableItemId);
|
|
64
|
-
const dzEntryComponent = dzEntry.__component;
|
|
65
|
-
const dzEntryComponentModel = findModel(models, dzEntryComponent);
|
|
66
|
-
toCreateEntry(
|
|
67
|
-
value,
|
|
68
|
-
dzEntryComponentModel,
|
|
69
|
-
localizedEntryRepeatableItemPosition,
|
|
70
|
-
`${prefix}.${localizedEntryRepeatableItemPosition}`,
|
|
71
|
-
dzEntryComponent,
|
|
72
|
-
true,
|
|
73
|
-
true,
|
|
74
|
-
);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
} else if (isDZ) {
|
|
81
|
-
Object.entries(entry).forEach(([dzEntryIdWithComponent, value]) => {
|
|
82
|
-
let [dzEntryId, dzEntryComponent] = dzEntryIdWithComponent.split(";");
|
|
83
|
-
dzEntryId = parseInt(dzEntryId);
|
|
84
|
-
const baseEntryDZEntry = get(baseEntry, prefix).find((v) => (v.id === dzEntryId) && (v.__component === dzEntryComponent));
|
|
85
|
-
if (baseEntryDZEntry !== undefined) {
|
|
86
|
-
const dzEntryComponentModel = findModel(models, dzEntryComponent);
|
|
87
|
-
toCreateEntry(
|
|
88
|
-
value,
|
|
89
|
-
dzEntryComponentModel,
|
|
90
|
-
dzEntryId,
|
|
91
|
-
`${prefix}.${dzEntryId}`,
|
|
92
|
-
dzEntryComponent,
|
|
93
|
-
true,
|
|
94
|
-
false, // we're already inside, so it's falsy
|
|
95
|
-
true,
|
|
96
|
-
);
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Don't do anything if `baseEntryDZEntry` is `undefined` - it means that the entry was deleted
|
|
100
|
-
* That also automatically presumes that deal with `undefined` `baseEntryDZIndex` inside the Dynamic Zone
|
|
101
|
-
*/
|
|
102
|
-
});
|
|
103
|
-
} else {
|
|
104
|
-
// is object
|
|
105
|
-
Object.entries(entry).forEach(([objectKey, value]) => {
|
|
106
|
-
const attribute = getAttribute(model, objectKey);
|
|
107
|
-
if (attribute === undefined) {
|
|
108
|
-
// logicaly don't anything, skip...
|
|
109
|
-
} else if (isComponent(attribute)) {
|
|
110
|
-
// is component
|
|
111
|
-
const innerComponent = attribute.component;
|
|
112
|
-
const componentModel = findModel(models, innerComponent);
|
|
113
|
-
|
|
114
|
-
let newPrefixBase = prefix;
|
|
115
|
-
let newPrefix = newPrefixBase
|
|
116
|
-
? `${newPrefixBase}.${objectKey}`
|
|
117
|
-
: `${objectKey}`;
|
|
118
|
-
if (isInsideDZ) {
|
|
119
|
-
let [dzParamKey, dzEntryId] = newPrefixBase.split(".");
|
|
120
|
-
dzEntryId = parseInt(dzEntryId);
|
|
121
|
-
const baseEntryDZIndex = get(baseEntry, dzParamKey).findIndex((v) => (v.__component === component) && (v.id === dzEntryId));
|
|
122
|
-
newPrefixBase = `${dzParamKey}.${baseEntryDZIndex}`;
|
|
123
|
-
newPrefix = `${newPrefixBase}.${objectKey}`;
|
|
124
|
-
}
|
|
125
|
-
const isRepeatableComponent = isRepeatable(attribute);
|
|
126
|
-
if (!isRepeatableComponent) {
|
|
127
|
-
set(createEntry, `${newPrefix}.__component`, innerComponent);
|
|
128
|
-
}
|
|
129
|
-
toCreateEntry(
|
|
130
|
-
value,
|
|
131
|
-
componentModel,
|
|
132
|
-
objectKey,
|
|
133
|
-
newPrefix,
|
|
134
|
-
innerComponent,
|
|
135
|
-
isRepeatableComponent,
|
|
136
|
-
false,
|
|
137
|
-
isInsideDZ,
|
|
138
|
-
);
|
|
139
|
-
} else if (isDynamicZone(attribute)) {
|
|
140
|
-
// behaves sort of like repeatable component
|
|
141
|
-
const newPrefix = prefix
|
|
142
|
-
? `${prefix}.${objectKey}`
|
|
143
|
-
: `${objectKey}`;
|
|
144
|
-
toCreateEntry(
|
|
145
|
-
value,
|
|
146
|
-
null, // model is evaluated later as it's dynamic (DZ)
|
|
147
|
-
objectKey,
|
|
148
|
-
newPrefix,
|
|
149
|
-
"", // component is computed later as it's dynamic (DZ)
|
|
150
|
-
true,
|
|
151
|
-
true,
|
|
152
|
-
);
|
|
153
|
-
} else {
|
|
154
|
-
let newPrefixBase = prefix;
|
|
155
|
-
let newPrefix = newPrefixBase ? `${newPrefixBase}.${objectKey}` : `${objectKey}`;
|
|
156
|
-
if (isInsideDZ) {
|
|
157
|
-
let [dzParamKey, dzEntryId] = newPrefixBase.split(".");
|
|
158
|
-
dzEntryId = parseInt(dzEntryId);
|
|
159
|
-
const baseEntryDZIndex = get(baseEntry, dzParamKey).findIndex((v) => (v.__component === component) && (v.id === dzEntryId));
|
|
160
|
-
newPrefixBase = `${dzParamKey}.${baseEntryDZIndex}`;
|
|
161
|
-
newPrefix = `${newPrefixBase}.${objectKey}`;
|
|
162
|
-
}
|
|
163
|
-
set(createEntry, newPrefix, value);
|
|
164
|
-
|
|
165
|
-
if (component) {
|
|
166
|
-
const componentKeyToSet = `${newPrefixBase}.__component`;
|
|
167
|
-
set(createEntry, componentKeyToSet, component);
|
|
168
|
-
|
|
169
|
-
if (isInsideDZ) {
|
|
170
|
-
const isKeyAdded = (typeof dynamicZoneComponentKeys.find((v) => v.key === componentKeyToSet) !== "undefined");
|
|
171
|
-
if (!isKeyAdded)
|
|
172
|
-
dynamicZoneComponentKeys.push({
|
|
173
|
-
key: componentKeyToSet,
|
|
174
|
-
component,
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
// is not component
|
|
179
|
-
}
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
};
|
|
183
|
-
|
|
184
|
-
const model = findModel(models, uid);
|
|
185
|
-
toCreateEntry(parsedLocalazyEntry, model);
|
|
186
|
-
if (locale) {
|
|
187
|
-
createEntry.locale = locale;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
resetArrayKeysDeep(createEntry, repeatableComponentsKeystoFilter);
|
|
191
|
-
return { createEntry, dynamicZoneComponentKeys };
|
|
192
|
-
};
|
|
193
|
-
|
|
194
|
-
module.exports = parsedLocalazyEntryToCreateEntry;
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const merge = require("lodash/merge");
|
|
4
|
-
const parsedLocalazyEntryToCreateEntry = require("./parsed-localazy-entry-to-create-entry");
|
|
5
|
-
const omitDeep = require("./omit-deep");
|
|
6
|
-
const populateCreateUpdateEntryWithBaseEntry = require("./populate-create-update-entry-with-base-entry");
|
|
7
|
-
const { set } = require("lodash");
|
|
8
|
-
|
|
9
|
-
const parsedLocalazyEntryToUpdateEntry = async (
|
|
10
|
-
allModels,
|
|
11
|
-
localazyEntry,
|
|
12
|
-
fullyPopulatedLocalizedEntry,
|
|
13
|
-
currentEntry,
|
|
14
|
-
baseEntry,
|
|
15
|
-
uid,
|
|
16
|
-
locale
|
|
17
|
-
) => {
|
|
18
|
-
const { createEntry, dynamicZoneComponentKeys } = parsedLocalazyEntryToCreateEntry(
|
|
19
|
-
allModels,
|
|
20
|
-
localazyEntry,
|
|
21
|
-
baseEntry,
|
|
22
|
-
uid
|
|
23
|
-
);
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* TODO: possibly improve for the following case:
|
|
27
|
-
* A `key` is deleted from the base entry, and the same `key` still exist in the localized entry.
|
|
28
|
-
* Even though the `key` is deprecated in Localazy, it concludes that the `key` is still used in the localized entry.
|
|
29
|
-
* Therefore, it leads to an error when updating the entry.
|
|
30
|
-
*
|
|
31
|
-
* The solution for now: Delete the localized entry and re-download to force the creation process.
|
|
32
|
-
*/
|
|
33
|
-
let updateEntry = {};
|
|
34
|
-
merge(updateEntry, currentEntry, createEntry);
|
|
35
|
-
updateEntry = omitDeep(updateEntry, [
|
|
36
|
-
"__component",
|
|
37
|
-
"locale",
|
|
38
|
-
"localizations",
|
|
39
|
-
"createdAt",
|
|
40
|
-
"createdBy",
|
|
41
|
-
"updatedAt",
|
|
42
|
-
"updatedBy",
|
|
43
|
-
"publishedAt",
|
|
44
|
-
]);
|
|
45
|
-
// set dynamic zone compoonent keys again
|
|
46
|
-
dynamicZoneComponentKeys.forEach((v) => {
|
|
47
|
-
set(updateEntry, v.key, v.component);
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
const filteredBaseEntry = omitDeep(baseEntry, [
|
|
51
|
-
// "__component", // do not omit the __component
|
|
52
|
-
"locale",
|
|
53
|
-
"localizations",
|
|
54
|
-
"createdAt",
|
|
55
|
-
"createdBy",
|
|
56
|
-
"updatedAt",
|
|
57
|
-
"updatedBy",
|
|
58
|
-
"publishedAt",
|
|
59
|
-
]);
|
|
60
|
-
const filteredFullyPopulatedLocalizedEntry = omitDeep(fullyPopulatedLocalizedEntry, [
|
|
61
|
-
// "__component", // do not omit the __component
|
|
62
|
-
"locale",
|
|
63
|
-
"localizations",
|
|
64
|
-
"createdAt",
|
|
65
|
-
"createdBy",
|
|
66
|
-
"updatedAt",
|
|
67
|
-
"updatedBy",
|
|
68
|
-
"publishedAt",
|
|
69
|
-
]);
|
|
70
|
-
const populatedEntry = await populateCreateUpdateEntryWithBaseEntry(
|
|
71
|
-
allModels,
|
|
72
|
-
updateEntry,
|
|
73
|
-
filteredBaseEntry,
|
|
74
|
-
filteredFullyPopulatedLocalizedEntry,
|
|
75
|
-
uid,
|
|
76
|
-
locale
|
|
77
|
-
);
|
|
78
|
-
|
|
79
|
-
// return updateEntry;
|
|
80
|
-
return populatedEntry;
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
module.exports = parsedLocalazyEntryToUpdateEntry;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
const isObject = require("lodash/isObject");
|
|
3
|
-
const set = require("lodash/set");
|
|
4
|
-
const includes = require("lodash/includes");
|
|
5
|
-
|
|
6
|
-
const deepLodashPick = (obj, keys, newObj = {}, path = []) => {
|
|
7
|
-
for (let k in obj) {
|
|
8
|
-
const value = obj[k];
|
|
9
|
-
|
|
10
|
-
if (isObject(value)) {
|
|
11
|
-
path.push(k);
|
|
12
|
-
deepLodashPick(value, keys, newObj, path);
|
|
13
|
-
path.pop();
|
|
14
|
-
} else if (includes(keys, k)) {
|
|
15
|
-
set(newObj, [...path, k], value);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
return newObj;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
module.exports = deepLodashPick;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const isDynamicZoneKey = (key) => {
|
|
4
|
-
const matches = key.match(/\[\d+;[\w-]+\./g);
|
|
5
|
-
return matches !== null;
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
const pickEntries = (flatten, pickPaths) => {
|
|
9
|
-
// * Dynamic zones properties must! always be in 1st level (not in component; Strapi restrictions)
|
|
10
|
-
const pickedEntries = {};
|
|
11
|
-
const mappedPickPaths = pickPaths.map((pickPath) =>
|
|
12
|
-
pickPath.replace(/\[\d+\]/g, "")
|
|
13
|
-
);
|
|
14
|
-
|
|
15
|
-
// filter out "__component"
|
|
16
|
-
const filteredFlatten = Object.fromEntries(
|
|
17
|
-
Object.entries(flatten).filter(([key]) => !key.includes("__component"))
|
|
18
|
-
);
|
|
19
|
-
Object.keys(filteredFlatten).forEach((key) => {
|
|
20
|
-
let filteredKey = key;
|
|
21
|
-
filteredKey = filteredKey.replace(/\[\d+\]/g, "");
|
|
22
|
-
if (isDynamicZoneKey(key)) {
|
|
23
|
-
filteredKey = filteredKey.replace(/\[\d+;[\w-]+\./g, `[`);
|
|
24
|
-
}
|
|
25
|
-
// if (mappedPickPaths.includes(filteredKey)) {
|
|
26
|
-
if (
|
|
27
|
-
mappedPickPaths.includes(filteredKey) ||
|
|
28
|
-
// include JSON fields
|
|
29
|
-
mappedPickPaths.some((pickPath) => filteredKey.startsWith(`${pickPath}.`))
|
|
30
|
-
) {
|
|
31
|
-
pickedEntries[key] = flatten[key];
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
return pickedEntries;
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
module.exports = pickEntries;
|