@strapi/admin 4.14.3 → 4.14.4
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/.eslintrc.js +4 -1
- package/admin/.eslintrc.js +16 -0
- package/admin/custom.d.ts +8 -0
- package/admin/src/components/AuthenticatedApp/index.js +3 -7
- package/admin/src/components/AuthenticatedApp/utils/api.js +1 -39
- package/admin/src/components/AuthenticatedApp/utils/checkLatestStrapiVersion.ts +13 -0
- package/admin/src/{hooks/useReleaseNotification/utils/api.js → components/AuthenticatedApp/utils/fetchStrapiLatestRelease.ts} +2 -3
- package/admin/src/components/{DragLayer/DragLayer.js → DragLayer.tsx} +18 -10
- package/admin/src/components/PrivateRoute.tsx +42 -0
- package/admin/src/components/Providers/index.js +2 -2
- package/admin/src/components/Theme.tsx +39 -0
- package/admin/src/components/ThemeToggleProvider.tsx +50 -0
- package/admin/src/components/{UnauthenticatedLogo/index.js → UnauthenticatedLogo.tsx} +2 -4
- package/admin/src/content-manager/components/BlocksEditor/BlocksInput/index.js +22 -3
- package/admin/src/content-manager/components/BlocksEditor/Toolbar/index.js +263 -134
- package/admin/src/content-manager/components/BlocksEditor/hooks/useBlocksStore.js +362 -95
- package/admin/src/content-manager/components/BlocksEditor/hooks/useModifiersStore.js +15 -0
- package/admin/src/content-manager/components/BlocksEditor/index.js +99 -9
- package/admin/src/content-manager/components/BlocksEditor/plugins/index.js +4 -0
- package/admin/src/content-manager/components/BlocksEditor/plugins/withLinks.js +61 -0
- package/admin/src/content-manager/components/BlocksEditor/plugins/withStrapiSchema.js +33 -0
- package/admin/src/content-manager/components/BlocksEditor/utils/links.js +90 -0
- package/admin/src/content-manager/components/InputUID/index.js +1 -1
- package/admin/src/content-manager/hooks/useAllowedAttributes.js +9 -1
- package/admin/src/content-manager/pages/EditSettingsView/index.js +1 -0
- package/admin/src/content-manager/pages/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js +1 -0
- package/admin/src/content-manager/pages/ListSettingsView/constants.js +1 -0
- package/admin/src/content-manager/pages/ListView/index.js +2 -1
- package/admin/src/content-manager/utils/checkIfAttributeIsDisplayable.js +1 -1
- package/admin/src/content-manager/utils/schema.js +2 -2
- package/admin/src/contexts/configuration.ts +15 -0
- package/admin/src/contexts/index.js +1 -2
- package/admin/src/contexts/themeToggle.ts +16 -0
- package/admin/src/hooks/{useConfigurations/__mocks__/index.js → __mocks__/useConfigurations.ts} +4 -2
- package/admin/src/hooks/index.js +1 -5
- package/admin/src/hooks/useConfigurations.ts +5 -0
- package/admin/src/hooks/useDebounce.ts +17 -0
- package/admin/src/hooks/useLicenseLimitNotification.ts +3 -0
- package/admin/src/hooks/useThemeToggle.ts +9 -0
- package/admin/src/pages/App/index.js +1 -1
- package/admin/src/pages/AuthPage/components/ForgotPassword/index.js +1 -1
- package/admin/src/pages/AuthPage/components/ForgotPasswordSuccess/index.js +1 -1
- package/admin/src/pages/AuthPage/components/Login/BaseLogin.js +1 -1
- package/admin/src/pages/AuthPage/components/Oops/index.js +1 -1
- package/admin/src/pages/AuthPage/components/Register/index.js +1 -1
- package/admin/src/pages/AuthPage/components/ResetPassword/index.js +1 -1
- package/admin/src/pages/MarketplacePage/components/NpmPackageCard/index.js +0 -2
- package/admin/src/pages/MarketplacePage/hooks/__mocks__/useNavigatorOnline.ts +1 -0
- package/admin/src/{hooks/useNavigatorOnLine/index.js → pages/MarketplacePage/hooks/useNavigatorOnline.ts} +4 -6
- package/admin/src/pages/MarketplacePage/index.js +3 -3
- package/admin/src/pages/ProfilePage/index.js +1 -1
- package/admin/src/pages/SettingsPage/components/Tokens/Regenerate/index.js +1 -1
- package/admin/src/{hooks/useRegenerate/index.js → pages/SettingsPage/hooks/useRegenerate.ts} +13 -7
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Regenerate/index.js +1 -1
- package/admin/src/pages/UseCasePage/index.js +1 -1
- package/admin/src/translations/en.json +8 -0
- package/admin/tsconfig.json +5 -0
- package/build/1049.f7aed23d.chunk.js +1 -0
- package/build/{1227.969e24e6.chunk.js → 1227.f9c74718.chunk.js} +1 -1
- package/build/{1386.db9a2795.chunk.js → 1386.6b8819c6.chunk.js} +2 -2
- package/build/2224.8af54440.chunk.js +138 -0
- package/build/2225.d1bcf7e3.chunk.js +79 -0
- package/build/2379.f0baf826.chunk.js +1 -0
- package/build/{2395.f6ac2863.chunk.js → 2395.aca6ce66.chunk.js} +1 -1
- package/build/2421.a478ba24.chunk.js +105 -0
- package/build/2801.c49f88a1.chunk.js +1 -0
- package/build/{3483.f6b2439f.chunk.js → 3483.5df8e010.chunk.js} +1 -1
- package/build/3911.d4fada48.chunk.js +95 -0
- package/build/412.72afdf0c.chunk.js +689 -0
- package/build/{4174.3e13fb26.chunk.js → 4174.df9aa09a.chunk.js} +1 -1
- package/build/502.8666bbef.chunk.js +25 -0
- package/build/570.2f3b4c56.chunk.js +1 -0
- package/build/5702.5b433d50.chunk.js +1 -0
- package/build/6186.c33ce082.chunk.js +116 -0
- package/build/7464.43a4527c.chunk.js +1 -0
- package/build/7818.d2196a53.chunk.js +29 -0
- package/build/7897.5c03247b.chunk.js +25 -0
- package/build/{8276.951e198e.chunk.js → 8276.d4426fd8.chunk.js} +3 -3
- package/build/8690.33243bba.chunk.js +38 -0
- package/build/{9832.65ed5a44.chunk.js → 8743.31c921b1.chunk.js} +139 -123
- package/build/9218.8bc01ab9.chunk.js +1 -0
- package/build/Admin-authenticatedApp.27545a1b.chunk.js +112 -0
- package/build/{Admin_InternalErrorPage.b3163562.chunk.js → Admin_InternalErrorPage.b66ee9c1.chunk.js} +1 -1
- package/build/Admin_homePage.a6281dd6.chunk.js +124 -0
- package/build/Admin_marketplace.31b962b8.chunk.js +44 -0
- package/build/{Admin_pluginsPage.b9fa2947.chunk.js → Admin_pluginsPage.9217101d.chunk.js} +1 -1
- package/build/{Admin_profilePage.a4d41380.chunk.js → Admin_profilePage.680123d9.chunk.js} +2 -2
- package/build/{Admin_settingsPage.6dc2af9f.chunk.js → Admin_settingsPage.33378310.chunk.js} +1 -1
- package/build/{Upload_ConfigureTheView.cc7ca628.chunk.js → Upload_ConfigureTheView.b40eea4d.chunk.js} +1 -1
- package/build/admin-app.e8c52c37.chunk.js +36 -0
- package/build/admin-edit-roles-page.fcf056bf.chunk.js +275 -0
- package/build/{admin-edit-users.9b42cc9e.chunk.js → admin-edit-users.89efe3c4.chunk.js} +2 -2
- package/build/{admin-roles-list.cf964578.chunk.js → admin-roles-list.8b77704a.chunk.js} +3 -3
- package/build/admin-users.e3f1be14.chunk.js +19 -0
- package/build/{api-tokens-create-page.2f25ddf6.chunk.js → api-tokens-create-page.0dd63e91.chunk.js} +1 -1
- package/build/{api-tokens-edit-page.45faac16.chunk.js → api-tokens-edit-page.78d877f8.chunk.js} +1 -1
- package/build/{api-tokens-list-page.5baabf1a.chunk.js → api-tokens-list-page.ae13346c.chunk.js} +2 -2
- package/build/audit-logs-settings-page.e9c92a75.chunk.js +9 -0
- package/build/content-manager.5849dbe3.chunk.js +1226 -0
- package/build/{content-type-builder-list-view.aa8a5d1a.chunk.js → content-type-builder-list-view.3fffae65.chunk.js} +1 -1
- package/build/{content-type-builder-translation-en-json.b9e5cacd.chunk.js → content-type-builder-translation-en-json.43f9d7bc.chunk.js} +1 -1
- package/build/{content-type-builder.885f2cad.chunk.js → content-type-builder.98c71164.chunk.js} +14 -14
- package/build/{email-settings-page.6bd7b280.chunk.js → email-settings-page.ecfec9b3.chunk.js} +1 -1
- package/build/{en-json.a3973ff5.chunk.js → en-json.bd611a8e.chunk.js} +1 -1
- package/build/{i18n-settings-page.6c0157e7.chunk.js → i18n-settings-page.a9708926.chunk.js} +1 -1
- package/build/index.html +1 -1
- package/build/main.3abb6f34.js +3278 -0
- package/build/{review-workflows-settings-create-view.ae369a88.chunk.js → review-workflows-settings-create-view.b7b0c6c5.chunk.js} +1 -1
- package/build/{review-workflows-settings-edit-view.9a61c69f.chunk.js → review-workflows-settings-edit-view.c331b3fe.chunk.js} +1 -1
- package/build/review-workflows-settings-list-view.70218dc1.chunk.js +75 -0
- package/build/{runtime~main.377a22d0.js → runtime~main.450561b1.js} +1 -1
- package/build/{sso-settings-page.a29e6c38.chunk.js → sso-settings-page.1a9e7f8f.chunk.js} +1 -1
- package/build/{transfer-tokens-create-page.6e1b8cee.chunk.js → transfer-tokens-create-page.e7f541d3.chunk.js} +1 -1
- package/build/{transfer-tokens-edit-page.10bb22e2.chunk.js → transfer-tokens-edit-page.bd1276c2.chunk.js} +1 -1
- package/build/{transfer-tokens-list-page.0306652c.chunk.js → transfer-tokens-list-page.5de6bb9f.chunk.js} +2 -2
- package/build/upload-settings.97ef4c92.chunk.js +14 -0
- package/build/{upload.19e14c8e.chunk.js → upload.f08715a1.chunk.js} +1 -1
- package/build/{users-advanced-settings-page.ed69812f.chunk.js → users-advanced-settings-page.36a3c363.chunk.js} +1 -1
- package/build/users-email-settings-page.47b47962.chunk.js +149 -0
- package/build/users-providers-settings-page.1e0c8376.chunk.js +154 -0
- package/build/{users-roles-settings-page.afab5a0d.chunk.js → users-roles-settings-page.d5a8e8a1.chunk.js} +4 -4
- package/build/{webhook-edit-page.4c037da4.chunk.js → webhook-edit-page.87456194.chunk.js} +3 -3
- package/build/{webhook-list-page.56c82f4a.chunk.js → webhook-list-page.c88a382b.chunk.js} +3 -3
- package/ee/admin/hooks/{useLicenseLimitNotification.js → useLicenseLimitNotification.ts} +4 -4
- package/ee/admin/pages/AuthPage/components/Providers/index.js +1 -1
- package/ee/admin/pages/SettingsPage/pages/Users/ListPage/index.js +1 -3
- package/package.json +12 -11
- package/scripts/build.js +6 -2
- package/webpack.config.js +1 -0
- package/admin/src/components/AuthenticatedApp/utils/checkLatestStrapiVersion.js +0 -11
- package/admin/src/components/DragLayer/index.js +0 -1
- package/admin/src/components/GlobalStyle/index.js +0 -9
- package/admin/src/components/PrivateRoute/index.js +0 -46
- package/admin/src/components/Theme/index.js +0 -26
- package/admin/src/components/ThemeToggleProvider/index.js +0 -79
- package/admin/src/contexts/Configurations/index.js +0 -5
- package/admin/src/contexts/ThemeToggle/index.js +0 -5
- package/admin/src/hooks/useConfigurations/index.js +0 -11
- package/admin/src/hooks/useDebounce/index.js +0 -19
- package/admin/src/hooks/useLicenseLimitNotification/index.js +0 -5
- package/admin/src/hooks/useReleaseNotification/index.js +0 -31
- package/admin/src/hooks/useReleaseNotification/utils/checkLatestStrapiVersion.js +0 -11
- package/admin/src/hooks/useThemeToggle/index.js +0 -11
- package/admin/src/tsconfig.json +0 -10
- package/build/1049.acb0e730.chunk.js +0 -1
- package/build/2225.78fb9b89.chunk.js +0 -79
- package/build/2379.906334f0.chunk.js +0 -1
- package/build/2614.3e088d3e.chunk.js +0 -35
- package/build/2659.cb94f1e7.chunk.js +0 -105
- package/build/2801.2afb4757.chunk.js +0 -1
- package/build/2950.216f2e89.chunk.js +0 -1
- package/build/3021.33ad47fb.chunk.js +0 -103
- package/build/3911.488fbde3.chunk.js +0 -95
- package/build/4546.1203ac95.chunk.js +0 -1
- package/build/502.9918bff7.chunk.js +0 -1
- package/build/5158.c85f841a.chunk.js +0 -1
- package/build/6266.e8990811.chunk.js +0 -146
- package/build/7464.0280cf59.chunk.js +0 -1
- package/build/7897.4a39de37.chunk.js +0 -6
- package/build/Admin-authenticatedApp.a16cdc37.chunk.js +0 -112
- package/build/Admin_homePage.6cb51f18.chunk.js +0 -81
- package/build/Admin_marketplace.3eb5e132.chunk.js +0 -55
- package/build/admin-app.98cdf43a.chunk.js +0 -36
- package/build/admin-edit-roles-page.418bb1c5.chunk.js +0 -267
- package/build/admin-users.8385dd73.chunk.js +0 -11
- package/build/audit-logs-settings-page.91489670.chunk.js +0 -1
- package/build/content-manager.e1e49cc9.chunk.js +0 -1199
- package/build/main.105dcf23.js +0 -2665
- package/build/review-workflows-settings-list-view.067e0c35.chunk.js +0 -56
- package/build/upload-settings.0af6edc5.chunk.js +0 -14
- package/build/users-email-settings-page.131a00fb.chunk.js +0 -9
- package/build/users-providers-settings-page.b3dca41d.chunk.js +0 -14
- package/dist/server/admin/server/src/bootstrap.d.ts +0 -2
- package/dist/server/admin/server/src/controllers/admin.d.ts +0 -42
- package/dist/server/admin/server/src/controllers/api-token.d.ts +0 -10
- package/dist/server/admin/server/src/controllers/authenticated-user.d.ts +0 -6
- package/dist/server/admin/server/src/controllers/authentication.d.ts +0 -12
- package/dist/server/admin/server/src/controllers/permission.d.ts +0 -13
- package/dist/server/admin/server/src/controllers/role.d.ts +0 -43
- package/dist/server/admin/server/src/controllers/transfer/token.d.ts +0 -9
- package/dist/server/admin/server/src/controllers/user.d.ts +0 -13
- package/dist/server/admin/server/src/destroy.d.ts +0 -2
- package/dist/server/admin/server/src/domain/condition/index.d.ts +0 -56
- package/dist/server/admin/server/src/domain/condition/index.js +0 -53
- package/dist/server/admin/server/src/domain/condition/index.js.map +0 -1
- package/dist/server/admin/server/src/domain/condition/provider.d.ts +0 -30
- package/dist/server/admin/server/src/domain/condition/provider.js +0 -37
- package/dist/server/admin/server/src/domain/condition/provider.js.map +0 -1
- package/dist/server/admin/server/src/index.d.ts +0 -10
- package/dist/server/admin/server/src/middlewares/data-transfer.d.ts +0 -2
- package/dist/server/admin/server/src/services/action.d.ts +0 -9
- package/dist/server/admin/server/src/services/auth.d.ts +0 -42
- package/dist/server/admin/server/src/services/condition.d.ts +0 -2
- package/dist/server/admin/server/src/services/content-type.d.ts +0 -51
- package/dist/server/admin/server/src/services/index.d.ts +0 -61
- package/dist/server/admin/server/src/services/metrics.d.ts +0 -7
- package/dist/server/admin/server/src/services/permission/engine.d.ts +0 -15
- package/dist/server/admin/server/src/services/permission/queries.d.ts +0 -44
- package/dist/server/admin/server/src/services/permission.d.ts +0 -67
- package/dist/server/admin/server/src/services/role.d.ts +0 -116
- package/dist/server/admin/server/src/services/transfer/token.d.ts +0 -103
- package/dist/server/admin/server/src/services/transfer/utils.d.ts +0 -19
- package/dist/server/admin/server/src/services/user.d.ts +0 -96
- package/dist/server/admin/server/src/strategies/admin.d.ts +0 -25
- package/dist/server/admin/server/src/strategies/api-token.d.ts +0 -60
- package/dist/server/admin/server/src/strategies/data-transfer.d.ts +0 -50
- package/dist/server/admin/server/src/validation/common-validators.d.ts +0 -59
- package/dist/server/admin/server/src/validation/permission.d.ts +0 -9
- package/dist/server/bootstrap.d.ts +0 -2
- package/dist/server/bootstrap.js +0 -84
- package/dist/server/bootstrap.js.map +0 -1
- package/dist/server/config/admin-actions.d.ts +0 -33
- package/dist/server/config/admin-actions.js +0 -219
- package/dist/server/config/admin-actions.js.map +0 -1
- package/dist/server/config/admin-conditions.d.ts +0 -46
- package/dist/server/config/admin-conditions.js +0 -29
- package/dist/server/config/admin-conditions.js.map +0 -1
- package/dist/server/config/email-templates/forgot-password.d.ts +0 -6
- package/dist/server/config/email-templates/forgot-password.js +0 -19
- package/dist/server/config/email-templates/forgot-password.js.map +0 -1
- package/dist/server/config/index.d.ts +0 -17
- package/dist/server/config/index.js +0 -14
- package/dist/server/config/index.js.map +0 -1
- package/dist/server/config/settings.d.ts +0 -7
- package/dist/server/config/settings.js +0 -11
- package/dist/server/config/settings.js.map +0 -1
- package/dist/server/content-types/Permission.d.ts +0 -62
- package/dist/server/content-types/Permission.js +0 -64
- package/dist/server/content-types/Permission.js.map +0 -1
- package/dist/server/content-types/Role.d.ts +0 -57
- package/dist/server/content-types/Role.js +0 -59
- package/dist/server/content-types/Role.js.map +0 -1
- package/dist/server/content-types/User.d.ts +0 -106
- package/dist/server/content-types/User.js +0 -109
- package/dist/server/content-types/User.js.map +0 -1
- package/dist/server/content-types/api-token-permission.d.ts +0 -35
- package/dist/server/content-types/api-token-permission.js +0 -37
- package/dist/server/content-types/api-token-permission.js.map +0 -1
- package/dist/server/content-types/api-token.d.ts +0 -73
- package/dist/server/content-types/api-token.js +0 -79
- package/dist/server/content-types/api-token.js.map +0 -1
- package/dist/server/content-types/index.d.ts +0 -437
- package/dist/server/content-types/index.js +0 -22
- package/dist/server/content-types/index.js.map +0 -1
- package/dist/server/content-types/transfer-token-permission.d.ts +0 -35
- package/dist/server/content-types/transfer-token-permission.js +0 -37
- package/dist/server/content-types/transfer-token-permission.js.map +0 -1
- package/dist/server/content-types/transfer-token.d.ts +0 -65
- package/dist/server/content-types/transfer-token.js +0 -67
- package/dist/server/content-types/transfer-token.js.map +0 -1
- package/dist/server/controllers/admin.d.ts +0 -42
- package/dist/server/controllers/admin.js +0 -131
- package/dist/server/controllers/admin.js.map +0 -1
- package/dist/server/controllers/api-token.d.ts +0 -10
- package/dist/server/controllers/api-token.js +0 -106
- package/dist/server/controllers/api-token.js.map +0 -1
- package/dist/server/controllers/authenticated-user.d.ts +0 -6
- package/dist/server/controllers/authenticated-user.js +0 -41
- package/dist/server/controllers/authenticated-user.js.map +0 -1
- package/dist/server/controllers/authentication.d.ts +0 -12
- package/dist/server/controllers/authentication.js +0 -130
- package/dist/server/controllers/authentication.js.map +0 -1
- package/dist/server/controllers/content-api.d.ts +0 -5
- package/dist/server/controllers/content-api.js +0 -13
- package/dist/server/controllers/content-api.js.map +0 -1
- package/dist/server/controllers/formatters/conditions.d.ts +0 -3
- package/dist/server/controllers/formatters/conditions.js +0 -9
- package/dist/server/controllers/formatters/conditions.js.map +0 -1
- package/dist/server/controllers/formatters/format-actions-by-sections.d.ts +0 -7
- package/dist/server/controllers/formatters/format-actions-by-sections.js +0 -36
- package/dist/server/controllers/formatters/format-actions-by-sections.js.map +0 -1
- package/dist/server/controllers/formatters/index.d.ts +0 -2
- package/dist/server/controllers/formatters/index.js +0 -11
- package/dist/server/controllers/formatters/index.js.map +0 -1
- package/dist/server/controllers/index.d.ts +0 -68
- package/dist/server/controllers/index.js +0 -51
- package/dist/server/controllers/index.js.map +0 -1
- package/dist/server/controllers/permission.d.ts +0 -13
- package/dist/server/controllers/permission.js +0 -38
- package/dist/server/controllers/permission.js.map +0 -1
- package/dist/server/controllers/role.d.ts +0 -43
- package/dist/server/controllers/role.js +0 -148
- package/dist/server/controllers/role.js.map +0 -1
- package/dist/server/controllers/transfer/index.d.ts +0 -4
- package/dist/server/controllers/transfer/index.js +0 -14
- package/dist/server/controllers/transfer/index.js.map +0 -1
- package/dist/server/controllers/transfer/runner.d.ts +0 -6
- package/dist/server/controllers/transfer/runner.js +0 -25
- package/dist/server/controllers/transfer/runner.js.map +0 -1
- package/dist/server/controllers/transfer/token.d.ts +0 -9
- package/dist/server/controllers/transfer/token.js +0 -100
- package/dist/server/controllers/transfer/token.js.map +0 -1
- package/dist/server/controllers/user.d.ts +0 -13
- package/dist/server/controllers/user.js +0 -105
- package/dist/server/controllers/user.js.map +0 -1
- package/dist/server/controllers/webhooks.d.ts +0 -10
- package/dist/server/controllers/webhooks.js +0 -100
- package/dist/server/controllers/webhooks.js.map +0 -1
- package/dist/server/destroy.d.ts +0 -2
- package/dist/server/destroy.js +0 -9
- package/dist/server/destroy.js.map +0 -1
- package/dist/server/domain/action/index.d.ts +0 -33
- package/dist/server/domain/action/index.js +0 -98
- package/dist/server/domain/action/index.js.map +0 -1
- package/dist/server/domain/action/provider.d.ts +0 -38
- package/dist/server/domain/action/provider.js +0 -66
- package/dist/server/domain/action/provider.js.map +0 -1
- package/dist/server/domain/condition/index.d.ts +0 -53
- package/dist/server/domain/condition/index.js +0 -56
- package/dist/server/domain/condition/index.js.map +0 -1
- package/dist/server/domain/condition/provider.d.ts +0 -30
- package/dist/server/domain/condition/provider.js +0 -37
- package/dist/server/domain/condition/provider.js.map +0 -1
- package/dist/server/domain/permission/index.d.ts +0 -77
- package/dist/server/domain/permission/index.js +0 -119
- package/dist/server/domain/permission/index.js.map +0 -1
- package/dist/server/domain/user.d.ts +0 -32
- package/dist/server/domain/user.js +0 -28
- package/dist/server/domain/user.js.map +0 -1
- package/dist/server/index.d.ts +0 -10
- package/dist/server/index.js +0 -27
- package/dist/server/index.js.map +0 -1
- package/dist/server/middlewares/data-transfer.d.ts +0 -2
- package/dist/server/middlewares/data-transfer.js +0 -21
- package/dist/server/middlewares/data-transfer.js.map +0 -1
- package/dist/server/middlewares/index.d.ts +0 -9
- package/dist/server/middlewares/index.js +0 -17
- package/dist/server/middlewares/index.js.map +0 -1
- package/dist/server/middlewares/rateLimit.d.ts +0 -5
- package/dist/server/middlewares/rateLimit.js +0 -42
- package/dist/server/middlewares/rateLimit.js.map +0 -1
- package/dist/server/policies/hasPermissions.d.ts +0 -6
- package/dist/server/policies/hasPermissions.js +0 -38
- package/dist/server/policies/hasPermissions.js.map +0 -1
- package/dist/server/policies/index.d.ts +0 -14
- package/dist/server/policies/index.js +0 -10
- package/dist/server/policies/index.js.map +0 -1
- package/dist/server/policies/isAuthenticatedAdmin.d.ts +0 -2
- package/dist/server/policies/isAuthenticatedAdmin.js +0 -6
- package/dist/server/policies/isAuthenticatedAdmin.js.map +0 -1
- package/dist/server/policies/isTelemetryEnabled.d.ts +0 -10
- package/dist/server/policies/isTelemetryEnabled.js +0 -18
- package/dist/server/policies/isTelemetryEnabled.js.map +0 -1
- package/dist/server/register.d.ts +0 -2
- package/dist/server/register.js +0 -18
- package/dist/server/register.js.map +0 -1
- package/dist/server/routes/admin.d.ts +0 -23
- package/dist/server/routes/admin.js +0 -72
- package/dist/server/routes/admin.js.map +0 -1
- package/dist/server/routes/api-tokens.d.ts +0 -14
- package/dist/server/routes/api-tokens.js +0 -71
- package/dist/server/routes/api-tokens.js.map +0 -1
- package/dist/server/routes/authentication.d.ts +0 -29
- package/dist/server/routes/authentication.js +0 -58
- package/dist/server/routes/authentication.js.map +0 -1
- package/dist/server/routes/content-api.d.ts +0 -9
- package/dist/server/routes/content-api.js +0 -21
- package/dist/server/routes/content-api.js.map +0 -1
- package/dist/server/routes/index.d.ts +0 -66
- package/dist/server/routes/index.js +0 -32
- package/dist/server/routes/index.js.map +0 -1
- package/dist/server/routes/permissions.d.ts +0 -9
- package/dist/server/routes/permissions.js +0 -21
- package/dist/server/routes/permissions.js.map +0 -1
- package/dist/server/routes/roles.d.ts +0 -14
- package/dist/server/routes/roles.js +0 -108
- package/dist/server/routes/roles.js.map +0 -1
- package/dist/server/routes/serve-admin-panel.d.ts +0 -5
- package/dist/server/routes/serve-admin-panel.js +0 -65
- package/dist/server/routes/serve-admin-panel.js.map +0 -1
- package/dist/server/routes/transfer.d.ts +0 -55
- package/dist/server/routes/transfer.js +0 -105
- package/dist/server/routes/transfer.js.map +0 -1
- package/dist/server/routes/users.d.ts +0 -14
- package/dist/server/routes/users.js +0 -89
- package/dist/server/routes/users.js.map +0 -1
- package/dist/server/routes/webhooks.d.ts +0 -14
- package/dist/server/routes/webhooks.js +0 -82
- package/dist/server/routes/webhooks.js.map +0 -1
- package/dist/server/services/action.d.ts +0 -9
- package/dist/server/services/action.js +0 -29
- package/dist/server/services/action.js.map +0 -1
- package/dist/server/services/api-token.d.ts +0 -102
- package/dist/server/services/api-token.js +0 -378
- package/dist/server/services/api-token.js.map +0 -1
- package/dist/server/services/auth.d.ts +0 -42
- package/dist/server/services/auth.js +0 -98
- package/dist/server/services/auth.js.map +0 -1
- package/dist/server/services/condition.d.ts +0 -2
- package/dist/server/services/condition.js +0 -11
- package/dist/server/services/condition.js.map +0 -1
- package/dist/server/services/constants.d.ts +0 -33
- package/dist/server/services/constants.js +0 -37
- package/dist/server/services/constants.js.map +0 -1
- package/dist/server/services/content-type.d.ts +0 -51
- package/dist/server/services/content-type.js +0 -158
- package/dist/server/services/content-type.js.map +0 -1
- package/dist/server/services/index.d.ts +0 -61
- package/dist/server/services/index.js +0 -57
- package/dist/server/services/index.js.map +0 -1
- package/dist/server/services/metrics.d.ts +0 -7
- package/dist/server/services/metrics.js +0 -37
- package/dist/server/services/metrics.js.map +0 -1
- package/dist/server/services/passport/local-strategy.d.ts +0 -3
- package/dist/server/services/passport/local-strategy.js +0 -28
- package/dist/server/services/passport/local-strategy.js.map +0 -1
- package/dist/server/services/passport.d.ts +0 -7
- package/dist/server/services/passport.js +0 -40
- package/dist/server/services/passport.js.map +0 -1
- package/dist/server/services/permission/engine.d.ts +0 -15
- package/dist/server/services/permission/engine.js +0 -67
- package/dist/server/services/permission/engine.js.map +0 -1
- package/dist/server/services/permission/permissions-manager/index.d.ts +0 -16
- package/dist/server/services/permission/permissions-manager/index.js +0 -48
- package/dist/server/services/permission/permissions-manager/index.js.map +0 -1
- package/dist/server/services/permission/permissions-manager/query-builders.d.ts +0 -3
- package/dist/server/services/permission/permissions-manager/query-builders.js +0 -66
- package/dist/server/services/permission/permissions-manager/query-builders.js.map +0 -1
- package/dist/server/services/permission/permissions-manager/sanitize.d.ts +0 -6
- package/dist/server/services/permission/permissions-manager/sanitize.js +0 -184
- package/dist/server/services/permission/permissions-manager/sanitize.js.map +0 -1
- package/dist/server/services/permission/permissions-manager/validate.d.ts +0 -5
- package/dist/server/services/permission/permissions-manager/validate.js +0 -134
- package/dist/server/services/permission/permissions-manager/validate.js.map +0 -1
- package/dist/server/services/permission/queries.d.ts +0 -44
- package/dist/server/services/permission/queries.js +0 -159
- package/dist/server/services/permission/queries.js.map +0 -1
- package/dist/server/services/permission/sections-builder/builder.d.ts +0 -39
- package/dist/server/services/permission/sections-builder/builder.js +0 -75
- package/dist/server/services/permission/sections-builder/builder.js.map +0 -1
- package/dist/server/services/permission/sections-builder/handlers.d.ts +0 -44
- package/dist/server/services/permission/sections-builder/handlers.js +0 -124
- package/dist/server/services/permission/sections-builder/handlers.js.map +0 -1
- package/dist/server/services/permission/sections-builder/index.d.ts +0 -8
- package/dist/server/services/permission/sections-builder/index.js +0 -39
- package/dist/server/services/permission/sections-builder/index.js.map +0 -1
- package/dist/server/services/permission/sections-builder/section.d.ts +0 -38
- package/dist/server/services/permission/sections-builder/section.js +0 -56
- package/dist/server/services/permission/sections-builder/section.js.map +0 -1
- package/dist/server/services/permission/sections-builder/utils.d.ts +0 -12
- package/dist/server/services/permission/sections-builder/utils.js +0 -23
- package/dist/server/services/permission/sections-builder/utils.js.map +0 -1
- package/dist/server/services/permission.d.ts +0 -67
- package/dist/server/services/permission.js +0 -33
- package/dist/server/services/permission.js.map +0 -1
- package/dist/server/services/project-settings.d.ts +0 -5
- package/dist/server/services/project-settings.js +0 -139
- package/dist/server/services/project-settings.js.map +0 -1
- package/dist/server/services/role.d.ts +0 -116
- package/dist/server/services/role.js +0 -382
- package/dist/server/services/role.js.map +0 -1
- package/dist/server/services/token.d.ts +0 -35
- package/dist/server/services/token.js +0 -58
- package/dist/server/services/token.js.map +0 -1
- package/dist/server/services/transfer/index.d.ts +0 -4
- package/dist/server/services/transfer/index.js +0 -33
- package/dist/server/services/transfer/index.js.map +0 -1
- package/dist/server/services/transfer/permission.d.ts +0 -6
- package/dist/server/services/transfer/permission.js +0 -20
- package/dist/server/services/transfer/permission.js.map +0 -1
- package/dist/server/services/transfer/token.d.ts +0 -84
- package/dist/server/services/transfer/token.js +0 -273
- package/dist/server/services/transfer/token.js.map +0 -1
- package/dist/server/services/transfer/utils.d.ts +0 -13
- package/dist/server/services/transfer/utils.js +0 -29
- package/dist/server/services/transfer/utils.js.map +0 -1
- package/dist/server/services/user.d.ts +0 -96
- package/dist/server/services/user.js +0 -311
- package/dist/server/services/user.js.map +0 -1
- package/dist/server/strategies/admin.d.ts +0 -25
- package/dist/server/strategies/admin.js +0 -44
- package/dist/server/strategies/admin.js.map +0 -1
- package/dist/server/strategies/api-token.d.ts +0 -60
- package/dist/server/strategies/api-token.js +0 -121
- package/dist/server/strategies/api-token.js.map +0 -1
- package/dist/server/strategies/data-transfer.d.ts +0 -66
- package/dist/server/strategies/data-transfer.js +0 -94
- package/dist/server/strategies/data-transfer.js.map +0 -1
- package/dist/server/strategies/index.d.ts +0 -17
- package/dist/server/strategies/index.js +0 -27
- package/dist/server/strategies/index.js.map +0 -1
- package/dist/server/types/src/types/utils/object.d.ts +0 -58
- package/dist/server/types/src/types/utils/object.js +0 -3
- package/dist/server/types/src/types/utils/object.js.map +0 -1
- package/dist/server/utils/index.d.ts +0 -1
- package/dist/server/utils/index.js +0 -9
- package/dist/server/utils/index.js.map +0 -1
- package/dist/server/utils/types.d.ts +0 -14
- package/dist/server/utils/types.js +0 -3
- package/dist/server/utils/types.js.map +0 -1
- package/dist/server/validation/action-provider.d.ts +0 -5
- package/dist/server/validation/action-provider.js +0 -58
- package/dist/server/validation/action-provider.js.map +0 -1
- package/dist/server/validation/api-tokens.d.ts +0 -7
- package/dist/server/validation/api-tokens.js +0 -36
- package/dist/server/validation/api-tokens.js.map +0 -1
- package/dist/server/validation/authentication/forgot-password.d.ts +0 -2
- package/dist/server/validation/authentication/forgot-password.js +0 -16
- package/dist/server/validation/authentication/forgot-password.js.map +0 -1
- package/dist/server/validation/authentication/index.d.ts +0 -5
- package/dist/server/validation/authentication/index.js +0 -17
- package/dist/server/validation/authentication/index.js.map +0 -1
- package/dist/server/validation/authentication/register.d.ts +0 -9
- package/dist/server/validation/authentication/register.js +0 -49
- package/dist/server/validation/authentication/register.js.map +0 -1
- package/dist/server/validation/authentication/renew-token.d.ts +0 -2
- package/dist/server/validation/authentication/renew-token.js +0 -6
- package/dist/server/validation/authentication/renew-token.js.map +0 -1
- package/dist/server/validation/authentication/reset-password.d.ts +0 -2
- package/dist/server/validation/authentication/reset-password.js +0 -17
- package/dist/server/validation/authentication/reset-password.js.map +0 -1
- package/dist/server/validation/common-functions/check-fields-are-correctly-nested.d.ts +0 -2
- package/dist/server/validation/common-functions/check-fields-are-correctly-nested.js +0 -26
- package/dist/server/validation/common-functions/check-fields-are-correctly-nested.js.map +0 -1
- package/dist/server/validation/common-functions/check-fields-dont-have-duplicates.d.ts +0 -2
- package/dist/server/validation/common-functions/check-fields-dont-have-duplicates.js +0 -18
- package/dist/server/validation/common-functions/check-fields-dont-have-duplicates.js.map +0 -1
- package/dist/server/validation/common-functions/index.d.ts +0 -3
- package/dist/server/validation/common-functions/index.js +0 -11
- package/dist/server/validation/common-functions/index.js.map +0 -1
- package/dist/server/validation/common-validators.d.ts +0 -59
- package/dist/server/validation/common-validators.js +0 -162
- package/dist/server/validation/common-validators.js.map +0 -1
- package/dist/server/validation/permission.d.ts +0 -9
- package/dist/server/validation/permission.js +0 -46
- package/dist/server/validation/permission.js.map +0 -1
- package/dist/server/validation/policies/hasPermissions.d.ts +0 -5
- package/dist/server/validation/policies/hasPermissions.js +0 -29
- package/dist/server/validation/policies/hasPermissions.js.map +0 -1
- package/dist/server/validation/project-settings.d.ts +0 -9
- package/dist/server/validation/project-settings.js +0 -44
- package/dist/server/validation/project-settings.js.map +0 -1
- package/dist/server/validation/role.d.ts +0 -11
- package/dist/server/validation/role.js +0 -62
- package/dist/server/validation/role.js.map +0 -1
- package/dist/server/validation/transfer/index.d.ts +0 -1
- package/dist/server/validation/transfer/index.js +0 -9
- package/dist/server/validation/transfer/index.js.map +0 -1
- package/dist/server/validation/transfer/token.d.ts +0 -7
- package/dist/server/validation/transfer/token.js +0 -46
- package/dist/server/validation/transfer/token.js.map +0 -1
- package/dist/server/validation/user.d.ts +0 -117
- package/dist/server/validation/user.js +0 -69
- package/dist/server/validation/user.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4121],{80290:function(R,h,t){t.r(h),t.d(h,{default:function(){return ue}});var e=t(32735),s=t(
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4121],{80290:function(R,h,t){t.r(h),t.d(h,{default:function(){return ue}});var e=t(32735),s=t(61489),c=t(15062),u=t(30305),g=t(36150),L=t(99226),S=t(95162),D=t(64092),P=t(95181),l=t(8365),C=t(91779),j=t(56932),U=t(77981),_=t(23699),ee=t(22116),te=t(41013),K=t(45037),i=t(27947),V=t(96669),ne=t(99320),ae=t(1690),k=t(84642),E=t(74512),F=t(8471);const w=F.ZP.div`
|
|
2
2
|
background: ${({theme:o})=>o.colors.danger500};
|
|
3
3
|
border: none;
|
|
4
4
|
border-radius: 16px;
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
&[aria-checked='true'] ${w}:before {
|
|
40
40
|
transform: translateX(1rem);
|
|
41
41
|
}
|
|
42
|
-
`,oe=e.forwardRef(({label:o,onChange:m,onLabel:f="On",offLabel:d="Off",selected:M,visibleLabels:a=!1,...v},b)=>(0,E.jsx)(se,{ref:b,role:"switch","aria-checked":M,"aria-label":o,onClick:m,visibleLabels:a,type:"button",...v,children:(0,E.jsxs)(k.k,{children:[(0,E.jsxs)(w,{children:[(0,E.jsx)("span",{children:f}),(0,E.jsx)("span",{children:d})]}),a&&(0,E.jsx)(U.x,{as:"span","aria-hidden":!0,paddingLeft:2,color:M?"success600":"danger600",children:M?f:d})]})}));var z=t(14763),le=t(80564),$=t(82064),H=t(94997),re=t(63318),ie=t(23982),de=t(67879),B=t(20108),N=t(53038),ce=()=>{const[o,m]=(0,e.useState)(!1),[f,d]=(0,e.useState)([]),M=(0,c.v9)(u._),{formatMessage:a}=(0,de.Z)(),{formatAPIError:v}=(0,s.So)(),b=(0,s.lm)();(0,s.go)();const{push:me}=(0,N.k6)(),{pathname:Q}=(0,N.TH)(),{isLoading:he,allowedActions:{canCreate:O,canUpdate:Y,canDelete:G}}=(0,s.ss)(M.settings.webhooks),{get:ge,post:Ee,put:fe}=(0,s.kY)(),{notifyStatus:X}=(0,g.G)(),ve="webhooks",{isLoading:be,data:x,error:Z,refetch:J}=(0,B.useQuery)(ve,async()=>{const{data:{data:n}}=await ge("/admin/webhooks");return n});(0,e.useEffect)(()=>{if(Z){b({type:"warning",message:v(Z)});return}x&&X(a({id:"Settings.webhooks.list.loading.success",defaultMessage:"Webhooks have been loaded"}))},[x,Z,b,a,X,v]);const q=(0,B.useMutation)(async()=>{await Ee("/admin/webhooks/batch-delete",{ids:f})},{onError(n){b({type:"warning",message:v(n)}),m(!1)},onSuccess(){d([]),m(!1),J()}}),xe=(0,B.useMutation)(async({isEnabled:n,id:r})=>{const{id:T,...I}=x.find(Te=>Te.id===r)??{},
|
|
42
|
+
`,oe=e.forwardRef(({label:o,onChange:m,onLabel:f="On",offLabel:d="Off",selected:M,visibleLabels:a=!1,...v},b)=>(0,E.jsx)(se,{ref:b,role:"switch","aria-checked":M,"aria-label":o,onClick:m,visibleLabels:a,type:"button",...v,children:(0,E.jsxs)(k.k,{children:[(0,E.jsxs)(w,{children:[(0,E.jsx)("span",{children:f}),(0,E.jsx)("span",{children:d})]}),a&&(0,E.jsx)(U.x,{as:"span","aria-hidden":!0,paddingLeft:2,color:M?"success600":"danger600",children:M?f:d})]})}));var z=t(14763),le=t(80564),$=t(82064),H=t(94997),re=t(63318),ie=t(23982),de=t(67879),B=t(20108),N=t(53038),ce=()=>{const[o,m]=(0,e.useState)(!1),[f,d]=(0,e.useState)([]),M=(0,c.v9)(u._),{formatMessage:a}=(0,de.Z)(),{formatAPIError:v}=(0,s.So)(),b=(0,s.lm)();(0,s.go)();const{push:me}=(0,N.k6)(),{pathname:Q}=(0,N.TH)(),{isLoading:he,allowedActions:{canCreate:O,canUpdate:Y,canDelete:G}}=(0,s.ss)(M.settings.webhooks),{get:ge,post:Ee,put:fe}=(0,s.kY)(),{notifyStatus:X}=(0,g.G)(),ve="webhooks",{isLoading:be,data:x,error:Z,refetch:J}=(0,B.useQuery)(ve,async()=>{const{data:{data:n}}=await ge("/admin/webhooks");return n});(0,e.useEffect)(()=>{if(Z){b({type:"warning",message:v(Z)});return}x&&X(a({id:"Settings.webhooks.list.loading.success",defaultMessage:"Webhooks have been loaded"}))},[x,Z,b,a,X,v]);const q=(0,B.useMutation)(async()=>{await Ee("/admin/webhooks/batch-delete",{ids:f})},{onError(n){b({type:"warning",message:v(n)}),m(!1)},onSuccess(){d([]),m(!1),J()}}),xe=(0,B.useMutation)(async({isEnabled:n,id:r})=>{const{id:T,...I}=x.find(Te=>Te.id===r)??{},pe={...I,isEnabled:n};await fe(`/admin/webhooks/${r}`,pe)},{onError(n){b({type:"warning",message:v(n)})},onSuccess(){J()}}),Me=()=>q.mutate(),ye=n=>d(n?x.map(r=>r.id):[]),Ce=(n,r)=>d(n?T=>[...T,r]:T=>T.filter(I=>I!==r)),W=n=>me(`${Q}/${n}`),A=he||be,p=x?.length??0,y=f.length;return e.createElement(L.A,null,e.createElement(s.SL,{name:"Webhooks"}),e.createElement(S.o,{"aria-busy":A},e.createElement(D.T,{title:a({id:"Settings.webhooks.title",defaultMessage:"Webhooks"}),subtitle:a({id:"Settings.webhooks.list.description",defaultMessage:"Get POST changes notifications"}),primaryAction:O&&!A&&e.createElement(s.Qj,{startIcon:e.createElement($.Z,null),variant:"default",to:`${Q}/create`,size:"S"},a({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))}),y>0&&G&&e.createElement(P.Z,{startActions:e.createElement(e.Fragment,null,e.createElement(l.Z,{variant:"epsilon",textColor:"neutral600"},a({id:"Settings.webhooks.to.delete",defaultMessage:"{webhooksToDeleteLength, plural, one {# webhook} other {# webhooks}} selected"},{webhooksToDeleteLength:y})),e.createElement(C.z,{onClick:()=>m(!0),startIcon:e.createElement(H.Z,null),size:"L",variant:"danger-light"},a({id:"global.delete",defaultMessage:"Delete"})))}),e.createElement(j.D,null,A?e.createElement(U.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(s.dO,null)):p>0?e.createElement(_.i,{colCount:5,rowCount:p+1,footer:e.createElement(ee.c,{onClick:()=>O?W("create"):{},icon:e.createElement($.Z,null)},a({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))},e.createElement(te.h,null,e.createElement(K.Tr,null,e.createElement(i.Th,null,e.createElement(V.C,{"aria-label":a({id:"global.select-all-entries",defaultMessage:"Select all entries"}),indeterminate:y>0&&y<p,value:y===p,onValueChange:ye})),e.createElement(i.Th,{width:"20%"},e.createElement(l.Z,{variant:"sigma",textColor:"neutral600"},a({id:"global.name",defaultMessage:"Name"}))),e.createElement(i.Th,{width:"60%"},e.createElement(l.Z,{variant:"sigma",textColor:"neutral600"},a({id:"Settings.webhooks.form.url",defaultMessage:"URL"}))),e.createElement(i.Th,{width:"20%"},e.createElement(l.Z,{variant:"sigma",textColor:"neutral600"},a({id:"Settings.webhooks.list.th.status",defaultMessage:"Status"}))),e.createElement(i.Th,null,e.createElement(ne.T,null,a({id:"Settings.webhooks.list.th.actions",defaultMessage:"Actions"}))))),e.createElement(ae.p,null,x.map(n=>e.createElement(K.Tr,{key:n.id,...(0,s.X7)({fn:()=>W(n.id),condition:Y})},e.createElement(i.Td,{...s.UW},e.createElement(V.C,{"aria-label":`${a({id:"global.select",defaultMessage:"Select"})} ${n.name}`,value:f?.includes(n.id),onValueChange:r=>Ce(r,n.id),name:"select"})),e.createElement(i.Td,null,e.createElement(l.Z,{fontWeight:"semiBold",textColor:"neutral800"},n.name)),e.createElement(i.Td,null,e.createElement(l.Z,{textColor:"neutral800"},n.url)),e.createElement(i.Td,null,e.createElement(k.k,null,e.createElement(oe,{onLabel:a({id:"global.enabled",defaultMessage:"Enabled"}),offLabel:a({id:"global.disabled",defaultMessage:"Disabled"}),label:`${n.name} ${a({id:"Settings.webhooks.list.th.status",defaultMessage:"Status"})}`,selected:n.isEnabled,onChange:r=>{r.stopPropagation(),xe.mutate({isEnabled:!n.isEnabled,id:n.id})},visibleLabels:!0}))),e.createElement(i.Td,null,e.createElement(k.k,{gap:1},Y&&e.createElement(z.h,{label:a({id:"Settings.webhooks.events.update",defaultMessage:"Update"}),icon:e.createElement(re.Z,null),noBorder:!0}),G&&e.createElement(z.h,{onClick:r=>{r.stopPropagation(),d([n.id]),m(!0)},label:a({id:"Settings.webhooks.events.delete",defaultMessage:"Delete webhook"}),icon:e.createElement(H.Z,null),noBorder:!0}))))))):e.createElement(le.x,{icon:e.createElement(ie.Z,{width:"160px"}),content:a({id:"Settings.webhooks.list.empty.description",defaultMessage:"No webhooks found"}),action:e.createElement(C.z,{variant:"secondary",startIcon:e.createElement($.Z,null),onClick:()=>O?W("create"):{}},a({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))}))),e.createElement(s.QH,{isOpen:o,onToggleDialog:()=>m(n=>!n),onConfirm:Me,isConfirmButtonLoading:q.isLoading}))},ue=()=>{const o=(0,c.v9)(u._);return e.createElement(s.O4,{permissions:o.settings.webhooks.main},e.createElement(ce,null))}},95181:function(R,h,t){t.d(h,{Z:function(){return c}});var e=t(74512),s=t(84642);const c=({startActions:u,endActions:g})=>!u&&!g?null:(0,e.jsxs)(s.k,{justifyContent:"space-between",alignItems:"flex-start",paddingBottom:4,paddingLeft:10,paddingRight:10,children:[(0,e.jsx)(s.k,{gap:2,wrap:"wrap",children:u}),(0,e.jsx)(s.k,{gap:2,shrink:0,wrap:"wrap",children:g})]})},22116:function(R,h,t){t.d(h,{c:function(){return P}});var e=t(74512),s=t(8471),c=t(77981),u=t(2775),g=t(84642),L=t(8365);const S=(0,s.ZP)(c.x)`
|
|
43
43
|
height: ${24/16}rem;
|
|
44
44
|
width: ${24/16}rem;
|
|
45
45
|
border-radius: 50%;
|
|
@@ -60,4 +60,4 @@
|
|
|
60
60
|
display: block;
|
|
61
61
|
width: 100%;
|
|
62
62
|
border: none;
|
|
63
|
-
`,P=({children:l,icon:
|
|
63
|
+
`,P=({children:l,icon:C,...j})=>(0,e.jsxs)("div",{children:[(0,e.jsx)(u.i,{}),(0,e.jsx)(D,{as:"button",background:"primary100",padding:5,...j,children:(0,e.jsxs)(g.k,{children:[(0,e.jsx)(S,{"aria-hidden":!0,background:"primary200",children:C}),(0,e.jsx)(c.x,{paddingLeft:3,children:(0,e.jsx)(L.Z,{variant:"pi",fontWeight:"bold",textColor:"primary600",children:l})})]})})]})}}]);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* useLicenseLimitNotification
|
|
4
4
|
*
|
|
5
5
|
*/
|
|
6
|
-
import
|
|
6
|
+
import * as React from 'react';
|
|
7
7
|
|
|
8
8
|
import { useNotification } from '@strapi/helper-plugin';
|
|
9
9
|
import isNil from 'lodash/isNil';
|
|
@@ -19,14 +19,14 @@ const BILLING_SELF_HOSTED_URL = 'https://strapi.io/billing/request-seats';
|
|
|
19
19
|
|
|
20
20
|
export const useLicenseLimitNotification = () => {
|
|
21
21
|
const { formatMessage } = useIntl();
|
|
22
|
-
|
|
22
|
+
const { license, isError, isLoading } = useLicenseLimits();
|
|
23
23
|
const toggleNotification = useNotification();
|
|
24
24
|
const { pathname } = useLocation();
|
|
25
25
|
|
|
26
26
|
const { enforcementUserCount, permittedSeats, licenseLimitStatus, isHostedOnStrapiCloud } =
|
|
27
27
|
license;
|
|
28
28
|
|
|
29
|
-
useEffect(() => {
|
|
29
|
+
React.useEffect(() => {
|
|
30
30
|
if (isError || isLoading) {
|
|
31
31
|
return;
|
|
32
32
|
}
|
|
@@ -80,7 +80,7 @@ export const useLicenseLimitNotification = () => {
|
|
|
80
80
|
},
|
|
81
81
|
blockTransition: true,
|
|
82
82
|
onClose() {
|
|
83
|
-
window.sessionStorage.setItem(`${STORAGE_KEY_PREFIX}-${pathname}`, true);
|
|
83
|
+
window.sessionStorage.setItem(`${STORAGE_KEY_PREFIX}-${pathname}`, 'true');
|
|
84
84
|
},
|
|
85
85
|
});
|
|
86
86
|
}
|
|
@@ -6,7 +6,7 @@ import { useIntl } from 'react-intl';
|
|
|
6
6
|
import { Redirect, useHistory } from 'react-router-dom';
|
|
7
7
|
import styled from 'styled-components';
|
|
8
8
|
|
|
9
|
-
import Logo from '../../../../../../admin/src/components/UnauthenticatedLogo';
|
|
9
|
+
import { Logo } from '../../../../../../admin/src/components/UnauthenticatedLogo';
|
|
10
10
|
import UnauthenticatedLayout, {
|
|
11
11
|
Column,
|
|
12
12
|
LayoutContent,
|
|
@@ -4,10 +4,8 @@ import * as React from 'react';
|
|
|
4
4
|
import { UserListPageCE } from '../../../../../../../admin/src/pages/SettingsPage/pages/Users/ListPage';
|
|
5
5
|
import { useLicenseLimitNotification } from '../../../../../hooks/useLicenseLimitNotification';
|
|
6
6
|
|
|
7
|
-
function UserListPageEE() {
|
|
7
|
+
export function UserListPageEE() {
|
|
8
8
|
useLicenseLimitNotification();
|
|
9
9
|
|
|
10
10
|
return <UserListPageCE />;
|
|
11
11
|
}
|
|
12
|
-
|
|
13
|
-
export { UserListPageEE };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@strapi/admin",
|
|
3
|
-
"version": "4.14.
|
|
3
|
+
"version": "4.14.4",
|
|
4
4
|
"description": "Strapi Admin",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -37,20 +37,21 @@
|
|
|
37
37
|
"test:front:ce": "run -T cross-env IS_EE=false jest --config ./jest.config.front.js",
|
|
38
38
|
"test:front:watch:ce": "run -T cross-env IS_EE=false jest --config ./jest.config.front.js --watchAll",
|
|
39
39
|
"test:front:ce:cov": "run -T cross-env IS_EE=false jest --config ./jest.config.front.js --coverage",
|
|
40
|
+
"test:ts:front": "run -T tsc -p admin/tsconfig.json",
|
|
40
41
|
"lint": "run -T eslint ."
|
|
41
42
|
},
|
|
42
43
|
"dependencies": {
|
|
43
44
|
"@casl/ability": "6.5.0",
|
|
44
45
|
"@pmmmwh/react-refresh-webpack-plugin": "0.5.10",
|
|
45
46
|
"@radix-ui/react-toolbar": "1.0.4",
|
|
46
|
-
"@strapi/data-transfer": "4.14.
|
|
47
|
-
"@strapi/design-system": "1.
|
|
48
|
-
"@strapi/helper-plugin": "4.14.
|
|
49
|
-
"@strapi/icons": "1.
|
|
50
|
-
"@strapi/permissions": "4.14.
|
|
51
|
-
"@strapi/provider-audit-logs-local": "4.14.
|
|
52
|
-
"@strapi/typescript-utils": "4.14.
|
|
53
|
-
"@strapi/utils": "4.14.
|
|
47
|
+
"@strapi/data-transfer": "4.14.4",
|
|
48
|
+
"@strapi/design-system": "1.12.0",
|
|
49
|
+
"@strapi/helper-plugin": "4.14.4",
|
|
50
|
+
"@strapi/icons": "1.12.0",
|
|
51
|
+
"@strapi/permissions": "4.14.4",
|
|
52
|
+
"@strapi/provider-audit-logs-local": "4.14.4",
|
|
53
|
+
"@strapi/typescript-utils": "4.14.4",
|
|
54
|
+
"@strapi/utils": "4.14.4",
|
|
54
55
|
"axios": "1.5.0",
|
|
55
56
|
"bcryptjs": "2.4.3",
|
|
56
57
|
"browserslist": "^4.22.1",
|
|
@@ -66,7 +67,7 @@
|
|
|
66
67
|
"execa": "5.1.1",
|
|
67
68
|
"fast-deep-equal": "3.1.3",
|
|
68
69
|
"find-root": "1.1.0",
|
|
69
|
-
"fork-ts-checker-webpack-plugin": "
|
|
70
|
+
"fork-ts-checker-webpack-plugin": "8.0.0",
|
|
70
71
|
"formik": "2.4.0",
|
|
71
72
|
"fractional-indexing": "3.2.0",
|
|
72
73
|
"fs-extra": "10.0.0",
|
|
@@ -162,5 +163,5 @@
|
|
|
162
163
|
"!@strapi/strapi"
|
|
163
164
|
]
|
|
164
165
|
},
|
|
165
|
-
"gitHead": "
|
|
166
|
+
"gitHead": "fbd6e3e3014b1c5eee1d7bb8d65e273318662656"
|
|
166
167
|
}
|
package/scripts/build.js
CHANGED
|
@@ -15,7 +15,7 @@ const smp = new SpeedMeasurePlugin();
|
|
|
15
15
|
const buildAdmin = async () => {
|
|
16
16
|
const entry = path.join(__dirname, '..', 'admin', 'src');
|
|
17
17
|
const dest = path.join(__dirname, '..', 'build');
|
|
18
|
-
const tsConfigFilePath = path.join(__dirname, '..', 'admin', '
|
|
18
|
+
const tsConfigFilePath = path.join(__dirname, '..', 'admin', 'tsconfig.json');
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* We _always_ install these FE plugins, they're considered "core"
|
|
@@ -94,7 +94,11 @@ const buildAdmin = async () => {
|
|
|
94
94
|
return acc + error.message;
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
|
|
97
|
+
if (Array.isArray(error)) {
|
|
98
|
+
return acc + error.join('\n\n');
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
return acc + error;
|
|
98
102
|
}, '')
|
|
99
103
|
)
|
|
100
104
|
);
|
package/webpack.config.js
CHANGED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import semver from 'semver';
|
|
2
|
-
|
|
3
|
-
const checkLatestStrapiVersion = (currentPackageVersion, latestPublishedVersion) => {
|
|
4
|
-
if (!semver.valid(currentPackageVersion) || !semver.valid(latestPublishedVersion)) {
|
|
5
|
-
return false;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
return semver.lt(currentPackageVersion, latestPublishedVersion);
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
export default checkLatestStrapiVersion;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './DragLayer';
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
3
|
-
* PrivateRoute
|
|
4
|
-
* Higher Order Component that blocks navigation when the user is not logged in
|
|
5
|
-
* and redirect the user to login page
|
|
6
|
-
*
|
|
7
|
-
* Wrap your protected routes to secure your container
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import React, { memo } from 'react';
|
|
11
|
-
|
|
12
|
-
import { auth } from '@strapi/helper-plugin';
|
|
13
|
-
import PropTypes from 'prop-types';
|
|
14
|
-
import { Redirect, Route, useLocation } from 'react-router-dom';
|
|
15
|
-
|
|
16
|
-
/* eslint-disable react/jsx-curly-newline */
|
|
17
|
-
|
|
18
|
-
const PrivateRoute = ({ component: Component, path, ...rest }) => {
|
|
19
|
-
const { pathname, search } = useLocation();
|
|
20
|
-
|
|
21
|
-
return (
|
|
22
|
-
<Route
|
|
23
|
-
path={path}
|
|
24
|
-
render={(props) =>
|
|
25
|
-
auth.getToken() !== null ? (
|
|
26
|
-
<Component {...rest} {...props} />
|
|
27
|
-
) : (
|
|
28
|
-
<Redirect
|
|
29
|
-
to={{
|
|
30
|
-
pathname: '/auth/login',
|
|
31
|
-
search:
|
|
32
|
-
pathname !== '/' && `?redirectTo=${encodeURIComponent(`${pathname}${search}`)}`,
|
|
33
|
-
}}
|
|
34
|
-
/>
|
|
35
|
-
)
|
|
36
|
-
}
|
|
37
|
-
/>
|
|
38
|
-
);
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
PrivateRoute.propTypes = {
|
|
42
|
-
component: PropTypes.any.isRequired,
|
|
43
|
-
path: PropTypes.string.isRequired,
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
export default memo(PrivateRoute);
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
import { DesignSystemProvider } from '@strapi/design-system';
|
|
4
|
-
import PropTypes from 'prop-types';
|
|
5
|
-
import { useIntl } from 'react-intl';
|
|
6
|
-
|
|
7
|
-
import { useThemeToggle } from '../../hooks';
|
|
8
|
-
import GlobalStyle from '../GlobalStyle';
|
|
9
|
-
|
|
10
|
-
const Theme = ({ children }) => {
|
|
11
|
-
const { currentTheme, themes } = useThemeToggle();
|
|
12
|
-
const { locale } = useIntl();
|
|
13
|
-
|
|
14
|
-
return (
|
|
15
|
-
<DesignSystemProvider locale={locale} theme={themes[currentTheme] || themes.light}>
|
|
16
|
-
{children}
|
|
17
|
-
<GlobalStyle />
|
|
18
|
-
</DesignSystemProvider>
|
|
19
|
-
);
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
Theme.propTypes = {
|
|
23
|
-
children: PropTypes.element.isRequired,
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
export default Theme;
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
3
|
-
* ThemeToggleProvider
|
|
4
|
-
*
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import React, { useCallback, useMemo, useState } from 'react';
|
|
8
|
-
|
|
9
|
-
import PropTypes from 'prop-types';
|
|
10
|
-
|
|
11
|
-
import { ThemeToggleContext } from '../../contexts';
|
|
12
|
-
|
|
13
|
-
const THEME_KEY = 'STRAPI_THEME';
|
|
14
|
-
|
|
15
|
-
const getDefaultTheme = () => {
|
|
16
|
-
const browserTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
|
|
17
|
-
const persistedTheme = localStorage.getItem(THEME_KEY);
|
|
18
|
-
|
|
19
|
-
if (!persistedTheme) {
|
|
20
|
-
localStorage.setItem(THEME_KEY, browserTheme);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
return persistedTheme || browserTheme;
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
const ThemeToggleProvider = ({ children, themes }) => {
|
|
27
|
-
const [currentTheme, setCurrentTheme] = useState(getDefaultTheme());
|
|
28
|
-
|
|
29
|
-
const handleChangeTheme = useCallback(
|
|
30
|
-
(nextTheme) => {
|
|
31
|
-
setCurrentTheme(nextTheme);
|
|
32
|
-
localStorage.setItem(THEME_KEY, nextTheme);
|
|
33
|
-
},
|
|
34
|
-
[setCurrentTheme]
|
|
35
|
-
);
|
|
36
|
-
|
|
37
|
-
const themeValues = useMemo(() => {
|
|
38
|
-
return {
|
|
39
|
-
currentTheme,
|
|
40
|
-
onChangeTheme: handleChangeTheme,
|
|
41
|
-
themes,
|
|
42
|
-
};
|
|
43
|
-
}, [currentTheme, handleChangeTheme, themes]);
|
|
44
|
-
|
|
45
|
-
return <ThemeToggleContext.Provider value={themeValues}>{children}</ThemeToggleContext.Provider>;
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
ThemeToggleProvider.propTypes = {
|
|
49
|
-
children: PropTypes.node.isRequired,
|
|
50
|
-
themes: PropTypes.shape({
|
|
51
|
-
light: PropTypes.shape({
|
|
52
|
-
colors: PropTypes.object.isRequired,
|
|
53
|
-
shadows: PropTypes.object.isRequired,
|
|
54
|
-
sizes: PropTypes.object.isRequired,
|
|
55
|
-
zIndices: PropTypes.array.isRequired,
|
|
56
|
-
spaces: PropTypes.array.isRequired,
|
|
57
|
-
borderRadius: PropTypes.string.isRequired,
|
|
58
|
-
mediaQueries: PropTypes.object.isRequired,
|
|
59
|
-
fontSizes: PropTypes.array.isRequired,
|
|
60
|
-
lineHeights: PropTypes.array.isRequired,
|
|
61
|
-
fontWeights: PropTypes.object.isRequired,
|
|
62
|
-
}).isRequired,
|
|
63
|
-
dark: PropTypes.shape({
|
|
64
|
-
colors: PropTypes.object.isRequired,
|
|
65
|
-
shadows: PropTypes.object.isRequired,
|
|
66
|
-
sizes: PropTypes.object.isRequired,
|
|
67
|
-
zIndices: PropTypes.array.isRequired,
|
|
68
|
-
spaces: PropTypes.array.isRequired,
|
|
69
|
-
borderRadius: PropTypes.string.isRequired,
|
|
70
|
-
mediaQueries: PropTypes.object.isRequired,
|
|
71
|
-
fontSizes: PropTypes.array.isRequired,
|
|
72
|
-
lineHeights: PropTypes.array.isRequired,
|
|
73
|
-
fontWeights: PropTypes.object.isRequired,
|
|
74
|
-
}).isRequired,
|
|
75
|
-
custom: PropTypes.object,
|
|
76
|
-
}).isRequired,
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
export default ThemeToggleProvider;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { useEffect, useState } from 'react';
|
|
2
|
-
|
|
3
|
-
const useDebounce = (value, delay) => {
|
|
4
|
-
const [debouncedValue, setDebouncedValue] = useState(value);
|
|
5
|
-
|
|
6
|
-
useEffect(() => {
|
|
7
|
-
const handler = setTimeout(() => {
|
|
8
|
-
setDebouncedValue(value);
|
|
9
|
-
}, delay);
|
|
10
|
-
|
|
11
|
-
return () => {
|
|
12
|
-
clearTimeout(handler);
|
|
13
|
-
};
|
|
14
|
-
}, [value, delay]);
|
|
15
|
-
|
|
16
|
-
return debouncedValue;
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export default useDebounce;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { useEffect } from 'react';
|
|
2
|
-
|
|
3
|
-
import { useAppInfo, useNotification } from '@strapi/helper-plugin';
|
|
4
|
-
|
|
5
|
-
const showUpdateNotif = !JSON.parse(localStorage.getItem('STRAPI_UPDATE_NOTIF'));
|
|
6
|
-
|
|
7
|
-
const useReleaseNotification = () => {
|
|
8
|
-
const { latestStrapiReleaseTag, shouldUpdateStrapi } = useAppInfo();
|
|
9
|
-
const toggleNotification = useNotification();
|
|
10
|
-
|
|
11
|
-
useEffect(() => {
|
|
12
|
-
if (shouldUpdateStrapi && showUpdateNotif) {
|
|
13
|
-
toggleNotification({
|
|
14
|
-
type: 'info',
|
|
15
|
-
message: { id: 'notification.version.update.message' },
|
|
16
|
-
link: {
|
|
17
|
-
url: `https://github.com/strapi/strapi/releases/tag/${latestStrapiReleaseTag}`,
|
|
18
|
-
label: {
|
|
19
|
-
id: 'global.see-more',
|
|
20
|
-
},
|
|
21
|
-
},
|
|
22
|
-
blockTransition: true,
|
|
23
|
-
onClose: () => localStorage.setItem('STRAPI_UPDATE_NOTIF', true),
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
}, [latestStrapiReleaseTag, shouldUpdateStrapi, toggleNotification]);
|
|
27
|
-
|
|
28
|
-
return null;
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
export default useReleaseNotification;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import semver from 'semver';
|
|
2
|
-
|
|
3
|
-
const checkLatestStrapiVersion = (currentPackageVersion, latestPublishedVersion) => {
|
|
4
|
-
if (!semver.valid(currentPackageVersion) || !semver.valid(latestPublishedVersion)) {
|
|
5
|
-
return false;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
return semver.lt(currentPackageVersion, latestPublishedVersion);
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
export default checkLatestStrapiVersion;
|
package/admin/src/tsconfig.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[1049],{39404:function(A,T,e){e.d(T,{Z:function(){return M}});var t=e(32735),y=e(64092),c=e(84642),o=e(91779),s=e(43806),a=e(40501),r=e(70788),f=e(60216),n=e.n(f),m=e(67879),u=e(69321),E=e(79652);const d=({onRegenerate:R,idToRegenerate:O,backUrl:L,onError:W})=>{const{formatMessage:i}=(0,m.Z)(),[K,B]=(0,t.useState)(!1),{regenerateData:U,isLoadingConfirmation:x}=(0,E.rW)(L,O,R,W),h=async()=>{U(),B(!1)};return t.createElement(t.Fragment,null,t.createElement(o.z,{startIcon:t.createElement(u.Z,null),type:"button",size:"S",variant:"tertiary",onClick:()=>B(!0),name:"regenerate"},i({id:"Settings.tokens.regenerate",defaultMessage:"Regenerate"})),t.createElement(s.QH,{bodyText:{id:"Settings.tokens.popUpWarning.message",defaultMessage:"Are you sure you want to regenerate this token?"},iconRightButton:t.createElement(u.Z,null),isConfirmButtonLoading:x,isOpen:K,onToggleDialog:()=>B(!1),onConfirm:h,leftButtonText:{id:"Settings.tokens.Button.cancel",defaultMessage:"Cancel"},rightButtonText:{id:"Settings.tokens.Button.regenerate",defaultMessage:"Regenerate"},title:{id:"Settings.tokens.RegenerateDialog.title",defaultMessage:"Regenerate token"}}))};d.defaultProps={onRegenerate(){},onError:void 0},d.propTypes={onRegenerate:n().func,idToRegenerate:n().oneOfType([n().number,n().string]).isRequired,backUrl:n().string.isRequired,onError:n().func};var g=d;const l=({title:R,token:O,setToken:L,canEditInputs:W,canRegenerate:i,isSubmitting:K,backUrl:B,regenerateUrl:U,onErrorRegenerate:x})=>{const{formatMessage:h}=(0,m.Z)(),z=j=>{L({...O,accessKey:j})};return t.createElement(y.T,{title:O?.name||h(R),primaryAction:W?t.createElement(c.k,{gap:2},i&&O?.id&&t.createElement(g,{backUrl:U,onRegenerate:z,idToRegenerate:O?.id,onError:x}),t.createElement(o.z,{disabled:K,loading:K,startIcon:t.createElement(a.Z,null),type:"submit",size:"S"},h({id:"global.save",defaultMessage:"Save"}))):i&&O?.id&&t.createElement(g,{onRegenerate:z,idToRegenerate:O?.id,backUrl:U}),navigationAction:t.createElement(s.rU,{startIcon:t.createElement(r.Z,null),to:B},h({id:"global.back",defaultMessage:"Back"})),ellipsis:!0})};l.propTypes={token:n().shape({id:n().oneOfType([n().number,n().string]),type:n().string,lifespan:n().oneOfType([n().number,n().string]),name:n().string,accessKey:n().string,permissions:n().array,description:n().string,createdAt:n().string}),canEditInputs:n().bool.isRequired,canRegenerate:n().bool.isRequired,setToken:n().func.isRequired,isSubmitting:n().bool.isRequired,backUrl:n().string.isRequired,title:n().shape({id:n().string,label:n().string}).isRequired,regenerateUrl:n().string.isRequired,onErrorRegenerate:n().func},l.defaultProps={token:void 0,onErrorRegenerate:void 0};var M=l},82505:function(A,T,e){var t=e(32735),y=e(16773),c=e(40260),o=e(8365),s=e(60216),a=e.n(s),r=e(67879),f=e(25652);const n=({token:m,errors:u,values:E,onChange:d,isCreating:g})=>{const{formatMessage:l}=(0,r.Z)();return t.createElement(t.Fragment,null,t.createElement(y.P,{name:"lifespan",label:l({id:"Settings.tokens.form.duration",defaultMessage:"Token duration"}),value:E.lifespan!==null?E.lifespan:"0",error:u.lifespan?l(u.lifespan?.id?u.lifespan:{id:u.lifespan,defaultMessage:u.lifespan}):null,onChange:M=>{d({target:{name:"lifespan",value:M}})},required:!0,disabled:!g,placeholder:"Select"},t.createElement(c.W,{value:"604800000"},l({id:"Settings.tokens.duration.7-days",defaultMessage:"7 days"})),t.createElement(c.W,{value:"2592000000"},l({id:"Settings.tokens.duration.30-days",defaultMessage:"30 days"})),t.createElement(c.W,{value:"7776000000"},l({id:"Settings.tokens.duration.90-days",defaultMessage:"90 days"})),t.createElement(c.W,{value:"0"},l({id:"Settings.tokens.duration.unlimited",defaultMessage:"Unlimited"}))),t.createElement(o.Z,{variant:"pi",textColor:"neutral600"},!g&&`${l({id:"Settings.tokens.duration.expiration-date",defaultMessage:"Expiration date"})}: ${(0,f.IX)(m?.createdAt,parseInt(E.lifespan,10))}`))};n.propTypes={errors:a().shape({lifespan:a().string}),onChange:a().func.isRequired,values:a().shape({lifespan:a().oneOfType([a().number,a().string])}).isRequired,isCreating:a().bool.isRequired,token:a().shape({id:a().oneOfType([a().number,a().string]),type:a().string,lifespan:a().string,name:a().string,accessKey:a().string,permissions:a().array,description:a().string,createdAt:a().string})},n.defaultProps={errors:{},token:{}},T.Z=n},7210:function(A,T,e){var t=e(32735),y=e(14763),c=e(43806),o=e(94958),s=e(42815),a=e(60216),r=e.n(a),f=e(67879);const n=({token:m,tokenType:u})=>{const{formatMessage:E}=(0,f.Z)(),d=(0,c.lm)(),{trackUsage:g}=(0,c.rS)(),{copy:l}=(0,c.VP)(),M=R=>async()=>{await l(R)&&(g("didCopyTokenKey",{tokenType:u}),d({type:"success",message:{id:"Settings.tokens.notification.copied"}}))};return t.createElement(c.Y_,{endAction:m&&t.createElement("span",{style:{alignSelf:"start"}},t.createElement(y.h,{label:E({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"}),onClick:M(m),noBorder:!0,icon:t.createElement(o.Z,null),style:{padding:0,height:"1rem"}})),title:m||E({id:"Settings.tokens.copy.editTitle",defaultMessage:"This token isn\u2019t accessible anymore."}),subtitle:E(m?{id:"Settings.tokens.copy.lastWarning",defaultMessage:"Make sure to copy this token, you won\u2019t be able to see it again!"}:{id:"Settings.tokens.copy.editMessage",defaultMessage:"For security reasons, you can only see your token once."}),icon:t.createElement(s.Z,null),iconBackground:"neutral100"})};n.defaultProps={token:null},n.propTypes={token:r().string,tokenType:r().string.isRequired},T.Z=n},58380:function(A,T,e){var t=e(32735),y=e(15367),c=e(60216),o=e.n(c),s=e(67879);const a=({errors:r,values:f,onChange:n,canEditInputs:m})=>{const{formatMessage:u}=(0,s.Z)();return t.createElement(y.g,{label:u({id:"Settings.tokens.form.description",defaultMessage:"Description"}),id:"description",error:r.description?u(r.description?.id?r.description:{id:r.description,defaultMessage:r.description}):null,onChange:n,disabled:!m},f.description)};a.propTypes={errors:o().shape({description:o().string}),onChange:o().func.isRequired,canEditInputs:o().bool.isRequired,values:o().shape({description:o().string}).isRequired},a.defaultProps={errors:{}},T.Z=a},37823:function(A,T,e){var t=e(32735),y=e(2846),c=e(60216),o=e.n(c),s=e(67879);const a=({errors:r,values:f,onChange:n,canEditInputs:m})=>{const{formatMessage:u}=(0,s.Z)();return t.createElement(y.o,{name:"name",error:r.name?u(r.name?.id?r.name:{id:r.name,defaultMessage:r.name}):null,label:u({id:"Settings.tokens.form.name",defaultMessage:"Name"}),onChange:n,value:f.name,disabled:!m,required:!0})};a.propTypes={errors:o().shape({name:o().string}),onChange:o().func.isRequired,canEditInputs:o().bool.isRequired,values:o().shape({name:o().string}).isRequired},a.defaultProps={errors:{}},T.Z=a},32655:function(A,T,e){var t=e(32735),y=e(16773),c=e(40260),o=e(60216),s=e.n(o),a=e(67879);const r=({name:f,errors:n,values:m,onChange:u,canEditInputs:E,options:d,label:g})=>{const{formatMessage:l}=(0,a.Z)();return t.createElement(y.P,{name:f,label:l({id:g.id,defaultMessage:g.defaultMessage}),value:m&&m[f],error:n[f]?l(n[f]?.id?n[f]:{id:n[f],defaultMessage:n[f]}):null,onChange:u,placeholder:"Select",required:!0,disabled:!E},d&&d.map(({value:M,label:R})=>t.createElement(c.W,{key:M,value:M},l(R))))};r.propTypes={name:s().string,options:s().arrayOf(s().shape({label:s().shape({id:s().string,defaultMessage:s().string}),value:s().string})),errors:s().shape({type:s().string}),onChange:s().func.isRequired,canEditInputs:s().bool.isRequired,values:s().shape({type:s().string}).isRequired,label:s().shape({id:s().string,defaultMessage:s().string}).isRequired},r.defaultProps={name:"type",errors:{},options:[]},T.Z=r},49756:function(A,T,e){e.d(T,{Z:function(){return t},f:function(){return y}});const t="api-token",y="transfer-token"},25652:function(A,T,e){e.d(T,{IX:function(){return s},fK:function(){return n},mk:function(){return u}});var t=e(14723),y=e(85544),c=e(76698),s=(E,d,g="en")=>{if(d&&typeof d=="number"){const l=d/24/60/60/1e3;return(0,t.Z)((0,y.Z)(new Date(E),l),"PPP",{locale:c[g]})}return"Unlimited"},a=e(43806),r=e(24346),n=r.Ry().shape({name:r.Z_(a.I0.string).max(100).required(a.I0.required),type:r.Z_(a.I0.string).oneOf(["read-only","full-access","custom"]).required(a.I0.required),description:r.Z_().nullable(),lifespan:r.Rx().integer().min(0).nullable().defined(a.I0.required)}),u=E=>{const d={allActionsIds:[],permissions:[]};return d.permissions=Object.keys(E).map(g=>({apiId:g,label:g.split("::")[1],controllers:Object.keys(E[g].controllers).map(l=>({controller:l,actions:E[g].controllers[l].map(M=>{const R=`${g}.${l}.${M}`;return g.includes("api::")&&d.allActionsIds.push(R),{action:M,actionId:R}}).flat()})).flat()})),d}},1930:function(A,T,e){e.d(T,{Z:function(){return ne}});var t=e(32735),y=e(95162),c=e(56932),o=e(84642),s=e(43806),a=e(92802),r=e(67879),f=e(20108),n=e(15062),m=e(53038),u=e(90869),E=e(30305),d=e(49756),g=e(39404),l=e(7210),M=e(77981),R=e(8365),O=e(10710),L=e(97037),W=e(60216),i=e.n(W),K=e(82505),B=e(58380),U=e(37823),x=e(32655);const h=({errors:C,onChange:k,canEditInputs:Z,isCreating:D,values:S,transferToken:v})=>{const{formatMessage:F}=(0,r.Z)(),Q=[{value:"push",label:{id:"Settings.transferTokens.types.push",defaultMessage:"Push"}},{value:"pull",label:{id:"Settings.transferTokens.types.pull",defaultMessage:"Pull"}},{value:"push-pull",label:{id:"Settings.transferTokens.types.push-pull",defaultMessage:"Full Access"}}];return t.createElement(M.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(o.k,{direction:"column",alignItems:"stretch",gap:4},t.createElement(R.Z,{variant:"delta",as:"h2"},F({id:"global.details",defaultMessage:"Details"})),t.createElement(O.r,{gap:5},t.createElement(L.P,{key:"name",col:6,xs:12},t.createElement(U.Z,{errors:C,values:S,canEditInputs:Z,onChange:k})),t.createElement(L.P,{key:"description",col:6,xs:12},t.createElement(B.Z,{errors:C,values:S,canEditInputs:Z,onChange:k})),t.createElement(L.P,{key:"lifespan",col:6,xs:12},t.createElement(K.Z,{isCreating:D,errors:C,values:S,onChange:k,token:v})),t.createElement(L.P,{key:"permissions",col:6,xs:12},t.createElement(x.Z,{name:"permissions",values:S,errors:C,label:{id:"Settings.tokens.form.type",defaultMessage:"Token type"},onChange:V=>{k({target:{name:"permissions",value:V}})},options:Q,canEditInputs:Z})))))};h.propTypes={errors:i().shape({name:i().string,description:i().string,lifespan:i().string,type:i().string}),onChange:i().func.isRequired,canEditInputs:i().bool.isRequired,values:i().shape({name:i().string,description:i().string,lifespan:i().oneOfType([i().number,i().string]),type:i().string}).isRequired,isCreating:i().bool.isRequired,transferToken:i().shape({id:i().oneOfType([i().number,i().string]),type:i().string,lifespan:i().string,name:i().string,accessKey:i().string,permissions:i().array,description:i().string,createdAt:i().string})},h.defaultProps={errors:{},transferToken:{}};var z=h,j=e(64092),_=e(91779),q=e(40501);const G=({transferTokenName:C})=>{const{formatMessage:k}=(0,r.Z)();return(0,s.go)(),t.createElement(y.o,{"aria-busy":"true"},t.createElement(s.SL,{name:"Transfer Tokens"}),t.createElement(j.T,{primaryAction:t.createElement(_.z,{disabled:!0,startIcon:t.createElement(q.Z,null),type:"button",size:"L"},k({id:"global.save",defaultMessage:"Save"})),title:C||k({id:"Settings.transferTokens.createPage.title",defaultMessage:"Create Transfer Token"})}),t.createElement(c.D,null,t.createElement(s.dO,null)))};G.defaultProps={transferTokenName:null},G.propTypes={transferTokenName:i().string};var w=G,N=e(24346),ee=N.Ry().shape({name:N.Z_(s.I0.string).max(100).required(s.I0.required),description:N.Z_().nullable(),lifespan:N.Rx().integer().min(0).nullable().defined(s.I0.required),permissions:N.Z_(s.I0.string).required(s.I0.required)});const te="Name already taken";var ne=()=>{(0,s.go)();const{formatMessage:C}=(0,r.Z)(),{lockApp:k,unlockApp:Z}=(0,s.o1)(),D=(0,s.lm)(),S=(0,m.k6)(),[v,F]=(0,t.useState)(S.location.state?.transferToken.accessKey?{...S.location.state.transferToken}:null),{trackUsage:Q}=(0,s.rS)(),V=(0,t.useRef)(Q),{setCurrentStep:se}=(0,s.c1)(),ae=(0,n.v9)(E._),{allowedActions:{canCreate:re,canUpdate:ie,canRegenerate:oe}}=(0,s.ss)(ae.settings["transfer-tokens"]),{params:{id:Y}}=(0,m.$B)("/settings/transfer-tokens/:id"),{get:le,post:de,put:ce}=(0,s.kY)(),P=Y==="create",{formatAPIError:J}=(0,s.So)();(0,t.useEffect)(()=>{V.current(P?"didAddTokenFromList":"didEditTokenFromList",{tokenType:d.f})},[P]);const{status:ue}=(0,f.useQuery)(["transfer-token",Y],async()=>{const{data:{data:p}}=await le(`/admin/transfer/tokens/${Y}`);return F({...p}),p},{enabled:!P&&!v,onError(p){p.response.data.error.details?.code==="INVALID_TOKEN_SALT"?D({type:"warning",message:{id:"notification.error.invalid.configuration",defaultMessage:"You have an invalid configuration, check your server log for more information."}}):D({type:"warning",message:J(p)})}}),ge=async(p,$)=>{V.current(P?"willCreateToken":"willEditToken",{tokenType:d.f}),k();const X=p.lifespan&&parseInt(p.lifespan,10)&&p.lifespan!=="0"?parseInt(p.lifespan,10):null,H=p.permissions.split("-");try{const{data:{data:I}}=P?await de("/admin/transfer/tokens",{...p,lifespan:X,permissions:H}):await ce(`/admin/transfer/tokens/${Y}`,{name:p.name,description:p.description,permissions:H});Z(),P&&(S.replace(`/settings/transfer-tokens/${I.id}`,{transferToken:I}),se("transferTokens.success")),F({...I}),D({type:"success",message:C(P?{id:"notification.success.transfertokencreated",defaultMessage:"Transfer Token successfully created"}:{id:"notification.success.transfertokenedited",defaultMessage:"Transfer Token successfully edited"})}),V.current(P?"didCreateToken":"didEditToken",{type:v?.permissions,tokenType:d.f})}catch(I){const fe=(0,u.Iz)(I.response.data);$.setErrors(fe),I?.response?.data?.error?.message===te?D({type:"warning",message:I.response.data.message||"notification.error.tokennamenotunique"}):I?.response?.data?.error?.details?.code==="INVALID_TOKEN_SALT"?D({type:"warning",message:{id:"notification.error.invalid.configuration",defaultMessage:"You have an invalid configuration, check your server log for more information."}}):D({type:"warning",message:I?.response?.data?.message||"notification.error"}),Z()}},b=ie&&!P||re&&P;if(!P&&!v&&ue!=="success")return t.createElement(w,{transferTokenName:v?.name});const pe=p=>{p?.response?.data?.error?.details?.code==="INVALID_TOKEN_SALT"?D({type:"warning",message:{id:"notification.error.invalid.configuration",defaultMessage:"You have an invalid configuration, check your server log for more information."}}):D({type:"warning",message:J(p)})};return t.createElement(y.o,null,t.createElement(s.SL,{name:"Transfer Tokens"}),t.createElement(a.J9,{validationSchema:ee,validateOnChange:!1,initialValues:{name:v?.name||"",description:v?.description||"",lifespan:v?.lifespan?v.lifespan.toString():v?.lifespan,permissions:v?.permissions.join("-")},enableReinitialize:!0,onSubmit:(p,$)=>ge(p,$)},({errors:p,handleChange:$,isSubmitting:X,values:H})=>t.createElement(s.l0,null,t.createElement(g.Z,{backUrl:"/settings/transfer-tokens",title:{id:"Settings.transferTokens.createPage.title",defaultMessage:"Create Transfer Token"},token:v,setToken:F,canEditInputs:b,canRegenerate:oe,isSubmitting:X,regenerateUrl:"/admin/transfer/tokens/",onErrorRegenerate:pe}),t.createElement(c.D,null,t.createElement(o.k,{direction:"column",alignItems:"stretch",gap:6},Boolean(v?.name)&&t.createElement(l.Z,{token:v?.accessKey,tokenType:d.f}),t.createElement(z,{errors:p,onChange:$,canEditInputs:b,isCreating:P,values:H,transferToken:v}))))))}}}]);
|