@strapi/admin 4.6.0 → 4.6.2
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/.browserslistrc +2 -1
- package/admin/src/StrapiApp.js +1 -1
- package/admin/src/assets/images/onboarding-preview.png +0 -0
- package/admin/src/components/AuthenticatedApp/utils/api.js +5 -4
- package/admin/src/components/AutoReloadOverlayBlockerProvider/Blocker.js +3 -7
- package/admin/src/components/AutoReloadOverlayBlockerProvider/Overlay.js +1 -2
- package/admin/src/components/GuidedTour/Homepage/components/Step.js +1 -3
- package/admin/src/components/GuidedTour/Homepage/components/Stepper.js +1 -1
- package/admin/src/components/GuidedTour/Homepage/index.js +2 -6
- package/admin/src/components/GuidedTour/Modal/components/Content.js +1 -3
- package/admin/src/components/GuidedTour/Modal/components/Modal.js +2 -8
- package/admin/src/components/GuidedTour/Modal/components/StepNumberWithPadding.js +1 -1
- package/admin/src/components/GuidedTour/Modal/components/Stepper.js +2 -5
- package/admin/src/components/GuidedTour/Stepper/StepLine.js +1 -1
- package/admin/src/components/GuidedTour/Stepper/StepNumber.js +2 -4
- package/admin/src/components/LeftMenu/index.js +12 -11
- package/admin/src/components/Notifications/Notification/index.js +2 -2
- package/admin/src/components/Notifications/index.js +1 -1
- package/admin/src/components/Theme/index.js +1 -1
- package/admin/src/components/UpgradePlanModal/index.js +3 -10
- package/admin/src/content-manager/components/AttributeFilter/Filters.js +2 -3
- package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +24 -30
- package/admin/src/content-manager/components/ComponentInitializer/index.js +2 -5
- package/admin/src/content-manager/components/DynamicTable/CellContent/Media/FileWrapper.js +1 -2
- package/admin/src/content-manager/components/DynamicTable/CellContent/Media/index.js +3 -3
- package/admin/src/content-manager/components/DynamicTable/CellContent/MultipleMedias.js +1 -1
- package/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/index.js +19 -16
- package/admin/src/content-manager/components/DynamicTable/CellContent/RelationSingle/index.js +1 -1
- package/admin/src/content-manager/components/DynamicTable/CellContent/RepeatableComponent/index.js +1 -4
- package/admin/src/content-manager/components/DynamicTable/CellContent/SingleComponent/index.js +1 -2
- package/admin/src/content-manager/components/DynamicTable/CellContent/index.js +1 -2
- package/admin/src/content-manager/components/DynamicTable/ConfirmDialogDelete/index.js +10 -7
- package/admin/src/content-manager/components/DynamicTable/ConfirmDialogDeleteAll/index.js +10 -7
- package/admin/src/content-manager/components/DynamicTable/TableRows/index.js +3 -9
- package/admin/src/content-manager/components/DynamicTable/index.js +1 -2
- package/admin/src/content-manager/components/DynamicZone/components/AddComponentButton.js +2 -5
- package/admin/src/content-manager/components/DynamicZone/components/ComponentCard.js +1 -3
- package/admin/src/content-manager/components/DynamicZone/components/ComponentCategory.js +1 -2
- package/admin/src/content-manager/components/DynamicZone/components/ComponentPicker.js +1 -4
- package/admin/src/content-manager/components/DynamicZone/components/DynamicZoneLabel.js +1 -3
- package/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +39 -9
- package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/cleanData.js +9 -15
- package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/findLeafByPathAndReplace.js +1 -3
- package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/schema.js +6 -5
- package/admin/src/content-manager/components/FieldComponent/Label.js +1 -3
- package/admin/src/content-manager/components/FieldComponent/index.js +2 -5
- package/admin/src/content-manager/components/FieldTypeIcon/index.js +15 -13
- package/admin/src/content-manager/components/Hint/index.js +1 -1
- package/admin/src/content-manager/components/InjectionZoneList/index.js +1 -1
- package/admin/src/content-manager/components/InputUID/endActionStyle.js +1 -3
- package/admin/src/content-manager/components/InputUID/index.js +6 -10
- package/admin/src/content-manager/components/Inputs/index.js +0 -2
- package/admin/src/content-manager/components/NonRepeatableComponent/index.js +1 -3
- package/admin/src/content-manager/components/RelationInput/RelationInput.js +16 -12
- package/admin/src/content-manager/components/RelationInput/components/Option.js +1 -2
- package/admin/src/content-manager/components/RelationInput/components/Relation.js +1 -2
- package/admin/src/content-manager/components/RelationInput/components/RelationList.js +1 -1
- package/admin/src/content-manager/components/SingleTypeFormWrapper/index.js +39 -26
- package/admin/src/content-manager/components/Wysiwyg/WysiwygFooter.js +2 -4
- package/admin/src/content-manager/components/Wysiwyg/WysiwygNav.js +24 -18
- package/admin/src/content-manager/components/Wysiwyg/WysiwygStyles.js +1 -2
- package/admin/src/content-manager/components/Wysiwyg/index.js +1 -3
- package/admin/src/content-manager/hooks/useFetchContentTypeLayout/index.js +4 -3
- package/admin/src/content-manager/hooks/useLazyComponents/index.js +9 -13
- package/admin/src/content-manager/hooks/useRelation/useRelation.js +4 -4
- package/admin/src/content-manager/pages/App/LeftMenu/index.js +1 -1
- package/admin/src/content-manager/pages/App/index.js +1 -2
- package/admin/src/content-manager/pages/App/useModels.js +9 -4
- package/admin/src/content-manager/pages/App/utils/generateModelsLinks.js +9 -8
- package/admin/src/content-manager/pages/App/utils/getContentTypeLinks.js +3 -2
- package/admin/src/content-manager/pages/CollectionTypeRecursivePath/components/ErrorFallback.js +1 -1
- package/admin/src/content-manager/pages/ComponentSetttingsView/index.js +4 -4
- package/admin/src/content-manager/pages/EditSettingsView/components/ComponentFieldList.js +2 -5
- package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFieldButton.js +2 -4
- package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFields.js +2 -7
- package/admin/src/content-manager/pages/EditSettingsView/components/FieldButtonContent.js +2 -6
- package/admin/src/content-manager/pages/EditSettingsView/components/FormModal.js +5 -5
- package/admin/src/content-manager/pages/EditSettingsView/components/GenericInput.js +1 -3
- package/admin/src/content-manager/pages/EditSettingsView/components/LinkToCTB.js +1 -1
- package/admin/src/content-manager/pages/EditSettingsView/components/ModalForm.js +1 -2
- package/admin/src/content-manager/pages/EditSettingsView/components/RowsLayout.js +1 -1
- package/admin/src/content-manager/pages/EditSettingsView/index.js +15 -11
- package/admin/src/content-manager/pages/EditSettingsView/utils/api.js +4 -2
- package/admin/src/content-manager/pages/EditView/DeleteLink/index.js +8 -10
- package/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/index.js +3 -5
- package/admin/src/content-manager/pages/EditView/GridRow/index.js +1 -1
- package/admin/src/content-manager/pages/EditView/Header/index.js +12 -10
- package/admin/src/content-manager/pages/EditView/index.js +2 -7
- package/admin/src/content-manager/pages/ListSettingsView/components/CardPreview.js +2 -6
- package/admin/src/content-manager/pages/ListSettingsView/components/DraggableCard.js +2 -7
- package/admin/src/content-manager/pages/ListSettingsView/components/EditFieldForm.js +8 -7
- package/admin/src/content-manager/pages/ListSettingsView/components/Settings.js +10 -6
- package/admin/src/content-manager/pages/ListSettingsView/components/SortDisplayedFields.js +10 -7
- package/admin/src/content-manager/pages/ListSettingsView/index.js +10 -7
- package/admin/src/content-manager/pages/ListSettingsView/utils/api.js +4 -2
- package/admin/src/content-manager/pages/ListView/FieldPicker/index.js +1 -2
- package/admin/src/content-manager/pages/ListView/PaginationFooter/index.js +1 -2
- package/admin/src/content-manager/pages/ListView/index.js +25 -28
- package/admin/src/content-manager/pages/NoContentType/index.js +2 -5
- package/admin/src/content-manager/pages/NoPermissions/index.js +1 -2
- package/admin/src/core/utils/index.js +0 -1
- package/admin/src/hooks/useFetchEnabledPlugins/utils/api.js +3 -2
- package/admin/src/hooks/useInjectReducer/index.js +1 -0
- package/admin/src/hooks/useInjectReducer/useInjectReducer.js +19 -0
- package/admin/src/hooks/useMenu/reducer.js +1 -3
- package/admin/src/hooks/useRegenerate/index.js +3 -3
- package/admin/src/hooks/useRolesList/index.js +5 -3
- package/admin/src/index.js +4 -3
- package/admin/src/layouts/AppLayout/index.js +1 -3
- package/admin/src/layouts/UnauthenticatedLayout/LocaleToggle/index.js +1 -1
- package/admin/src/layouts/UnauthenticatedLayout/index.js +1 -2
- package/admin/src/pages/Admin/Onboarding/constants.js +46 -0
- package/admin/src/pages/Admin/Onboarding/index.js +172 -87
- package/admin/src/pages/Admin/index.js +5 -2
- package/admin/src/pages/App/index.js +1 -1
- package/admin/src/pages/AuthPage/components/FieldActionWrapper/index.js +1 -1
- package/admin/src/pages/AuthPage/components/ForgotPassword/index.js +1 -7
- package/admin/src/pages/AuthPage/components/ForgotPasswordSuccess/index.js +1 -4
- package/admin/src/pages/AuthPage/components/Login/BaseLogin.js +11 -10
- package/admin/src/pages/AuthPage/components/Oops/index.js +1 -4
- package/admin/src/pages/AuthPage/components/Register/index.js +13 -11
- package/admin/src/pages/AuthPage/components/ResetPassword/index.js +2 -9
- package/admin/src/pages/HomePage/ContentBlocks.js +2 -5
- package/admin/src/pages/HomePage/HomeHeader.js +3 -6
- package/admin/src/pages/HomePage/SocialLinks.js +33 -30
- package/admin/src/pages/HomePage/index.js +1 -4
- package/admin/src/pages/InstalledPluginsPage/Plugins.js +14 -5
- package/admin/src/pages/InternalErrorPage/index.js +2 -5
- package/admin/src/pages/MarketplacePage/components/EmptyNpmPackageSearch/EmptyNpmPackageGrid.js +1 -2
- package/admin/src/pages/MarketplacePage/components/EmptyNpmPackageSearch/index.js +2 -5
- package/admin/src/pages/MarketplacePage/components/MissingPluginBanner/index.js +2 -3
- package/admin/src/pages/MarketplacePage/components/NpmPackageCard/CardButton.js +2 -4
- package/admin/src/pages/MarketplacePage/components/NpmPackageCard/InstallPluginButton.js +2 -4
- package/admin/src/pages/MarketplacePage/components/NpmPackageCard/PackageStats.js +2 -7
- package/admin/src/pages/MarketplacePage/components/NpmPackageCard/index.js +3 -9
- package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/FilterSelect.js +1 -1
- package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/FiltersPopover.js +1 -4
- package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/index.js +2 -5
- package/admin/src/pages/MarketplacePage/components/NpmPackagesGrid/index.js +1 -1
- package/admin/src/pages/MarketplacePage/components/PageHeader/index.js +3 -3
- package/admin/src/pages/MarketplacePage/components/SortSelect/index.js +1 -2
- package/admin/src/pages/MarketplacePage/index.js +15 -8
- package/admin/src/pages/NotFoundPage/index.js +2 -5
- package/admin/src/pages/ProfilePage/index.js +17 -14
- package/admin/src/pages/ProfilePage/utils/api.js +5 -3
- package/admin/src/pages/SettingsPage/{pages/Users/ListPage → components}/Filters/index.js +2 -3
- package/admin/src/pages/SettingsPage/components/SettingsNav/index.js +16 -3
- package/admin/src/pages/SettingsPage/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ActionBoundRoutes/index.js +1 -3
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/BoundRoute/index.js +1 -3
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/CheckBoxWrapper.js +1 -1
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/index.js +13 -8
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ContenTypesSection/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ContentBox/index.js +2 -3
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormApiTokenContainer/index.js +11 -7
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormBody/index.js +1 -2
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormHead/index.js +2 -5
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/LoadingView/index.js +2 -4
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Permissions/index.js +1 -3
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Regenerate/index.js +2 -2
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +7 -6
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/DeleteButton/index.js +2 -3
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/ReadButton/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/UpdateButton/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/index.js +1 -3
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/index.js +6 -7
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/CustomizationInfos/index.js +1 -3
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/index.js +8 -5
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/AddLogoDialog.js +1 -3
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromComputerForm.js +13 -9
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromUrlForm.js +1 -4
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/ImageCardAsset.js +1 -1
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/PendingLogoDialog.js +1 -5
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/index.js +1 -2
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +56 -70
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/api.js +5 -3
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/CollapseLabel/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsButton/index.js +2 -2
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/ActionRow/index.js +1 -4
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/index.js +5 -4
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/index.js +2 -5
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/index.js +1 -2
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/CarretIcon/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/Header/index.js +1 -2
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/SubActionRow/index.js +1 -4
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/utils/activeStyle.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypes/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Curve/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/index.js +1 -4
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatLayoutForSettingsAndPlugins.js +12 -16
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/Row/index.js +1 -2
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/index.js +1 -5
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RoleForm/index.js +11 -8
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RowLabelWithCheckbox/index.js +1 -4
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/index.js +2 -6
- package/admin/src/pages/SettingsPage/pages/Roles/ListPage/components/RoleRow/index.js +1 -5
- package/admin/src/pages/SettingsPage/pages/Roles/ListPage/index.js +16 -10
- package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +12 -9
- package/admin/src/pages/SettingsPage/pages/Users/EditPage/utils/api.js +6 -3
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/DynamicTable/TableRows/index.js +11 -8
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/index.js +18 -10
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/PaginationFooter/index.js +1 -2
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/index.js +10 -6
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/api.js +6 -3
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/tableHeaders.js +1 -2
- package/admin/src/pages/SettingsPage/pages/Users/components/MagicLink/MagicLinkWrapper.js +3 -20
- package/admin/src/pages/SettingsPage/pages/Users/components/SelectRoles/index.js +5 -4
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/EventRow.js +1 -2
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/index.js +1 -3
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/HeadersInput/Combobox.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/HeadersInput/index.js +11 -8
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/TriggerContainer/index.js +2 -8
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/WebhookForm/index.js +11 -9
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/index.js +4 -3
- package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/index.js +26 -18
- package/admin/src/pages/UseCasePage/index.js +12 -9
- package/admin/src/permissions/defaultPermissions.js +2 -15
- package/admin/src/translations/ar.json +4 -4
- package/admin/src/translations/ca.json +4 -4
- package/admin/src/translations/cs.json +4 -4
- package/admin/src/translations/de.json +4 -4
- package/admin/src/translations/dk.json +4 -4
- package/admin/src/translations/en.json +17 -10
- package/admin/src/translations/es.json +4 -4
- package/admin/src/translations/eu.json +796 -0
- package/admin/src/translations/fr.json +4 -4
- package/admin/src/translations/gu.json +4 -4
- package/admin/src/translations/he.json +4 -4
- package/admin/src/translations/hi.json +4 -4
- package/admin/src/translations/hu.json +4 -4
- package/admin/src/translations/id.json +4 -4
- package/admin/src/translations/it.json +4 -4
- package/admin/src/translations/ja.json +4 -4
- package/admin/src/translations/ko.json +4 -4
- package/admin/src/translations/languageNativeNames.js +1 -0
- package/admin/src/translations/ml.json +4 -4
- package/admin/src/translations/ms.json +4 -4
- package/admin/src/translations/nl.json +4 -4
- package/admin/src/translations/no.json +4 -4
- package/admin/src/translations/pl.json +4 -4
- package/admin/src/translations/pt-BR.json +4 -4
- package/admin/src/translations/pt.json +4 -4
- package/admin/src/translations/ru.json +785 -789
- package/admin/src/translations/sa.json +4 -4
- package/admin/src/translations/sk.json +4 -4
- package/admin/src/translations/sv.json +4 -4
- package/admin/src/translations/th.json +4 -4
- package/admin/src/translations/tr.json +4 -4
- package/admin/src/translations/uk.json +4 -4
- package/admin/src/translations/vi.json +4 -4
- package/admin/src/translations/zh-Hans.json +4 -4
- package/admin/src/translations/zh.json +4 -4
- package/build/1341.5d48c79b.chunk.js +1 -0
- package/build/19eb2dfcf2603eb55733.png +0 -0
- package/build/2637.679b590b.chunk.js +1 -0
- package/build/4318.9b1ac9bc.chunk.js +30 -0
- package/build/4849.7abafe52.chunk.js +98 -0
- package/build/6487.83e219bf.chunk.js +14 -0
- package/build/{5015.8e3fe50b.chunk.js → 8469.853c822b.chunk.js} +1 -6
- package/build/9816.01ee964f.chunk.js +2 -0
- package/build/Admin-authenticatedApp.dd16edad.chunk.js +79 -0
- package/build/Admin_InternalErrorPage.4ad8b0df.chunk.js +1 -0
- package/build/Admin_homePage.4b878f04.chunk.js +72 -0
- package/build/Admin_marketplace.a8ea585f.chunk.js +22 -0
- package/build/Admin_pluginsPage.15e3b0fd.chunk.js +1 -0
- package/build/Admin_profilePage.b27e40f6.chunk.js +15 -0
- package/build/Admin_settingsPage.3cd54156.chunk.js +178 -0
- package/build/Upload_ConfigureTheView.34dde278.chunk.js +1 -0
- package/build/admin-app.3a084127.chunk.js +112 -0
- package/build/admin-edit-roles-page.fd041d89.chunk.js +1 -0
- package/build/admin-edit-users.08a60ea2.chunk.js +10 -0
- package/build/admin-users.74f5629d.chunk.js +11 -0
- package/build/{api-tokens-create-page.0e686c30.chunk.js → api-tokens-create-page.a31c7fba.chunk.js} +1 -1
- package/build/{api-tokens-edit-page.d6c7487b.chunk.js → api-tokens-edit-page.64fef287.chunk.js} +1 -1
- package/build/api-tokens-list-page.370459ba.chunk.js +16 -0
- package/build/ar-json.39e54aba.chunk.js +1 -0
- package/build/audit-logs-settings-page.bc1784fe.chunk.js +1 -0
- package/build/{ca-json.f6a0f472.chunk.js → ca-json.4d999055.chunk.js} +1 -1
- package/build/content-manager.d04b738f.chunk.js +1139 -0
- package/build/content-type-builder-list-view.c2f917b6.chunk.js +191 -0
- package/build/content-type-builder.b7fb1e65.chunk.js +126 -0
- package/build/cs-json.4b44411c.chunk.js +1 -0
- package/build/{de-json.30e1f35b.chunk.js → de-json.866f8a28.chunk.js} +1 -1
- package/build/{dk-json.e6d9ffa4.chunk.js → dk-json.10f7b1d1.chunk.js} +1 -1
- package/build/email-settings-page.884cfb8b.chunk.js +3 -0
- package/build/en-json.9cada7f3.chunk.js +1 -0
- package/build/es-json.ea15c957.chunk.js +1 -0
- package/build/eu-json.3bc24d60.chunk.js +1 -0
- package/build/{fr-json.78545ef8.chunk.js → fr-json.e88fbdfd.chunk.js} +1 -1
- package/build/{gu-json.676518f2.chunk.js → gu-json.94f0d242.chunk.js} +1 -1
- package/build/{he-json.ad22e8cc.chunk.js → he-json.f0de8cdb.chunk.js} +1 -1
- package/build/{hi-json.19b51c09.chunk.js → hi-json.df3a7be2.chunk.js} +1 -1
- package/build/{hu-json.f947088f.chunk.js → hu-json.680e6eef.chunk.js} +1 -1
- package/build/i18n-settings-page.c7bc29fc.chunk.js +1 -0
- package/build/{id-json.504daa84.chunk.js → id-json.e0d83d41.chunk.js} +1 -1
- package/build/index.html +1 -1
- package/build/{it-json.2fd90f4d.chunk.js → it-json.8be59205.chunk.js} +1 -1
- package/build/{ja-json.c9f12d0b.chunk.js → ja-json.97ee41ba.chunk.js} +1 -1
- package/build/{ko-json.ef463065.chunk.js → ko-json.4cbbf4f2.chunk.js} +1 -1
- package/build/main.9c01de7f.js +3929 -0
- package/build/{ml-json.490f666c.chunk.js → ml-json.e3747091.chunk.js} +1 -1
- package/build/ms-json.0eddffd9.chunk.js +1 -0
- package/build/{nl-json.c416295a.chunk.js → nl-json.371a15ee.chunk.js} +1 -1
- package/build/{no-json.1a2258ba.chunk.js → no-json.9b3cd181.chunk.js} +1 -1
- package/build/{pl-json.8cf0c871.chunk.js → pl-json.e535cbce.chunk.js} +1 -1
- package/build/{pt-BR-json.51fab8d0.chunk.js → pt-BR-json.e5fafa46.chunk.js} +1 -1
- package/build/pt-json.ee554a41.chunk.js +1 -0
- package/build/ru-json.866f0ff1.chunk.js +1 -0
- package/build/runtime~main.bb1389c9.js +2 -0
- package/build/{sa-json.f3fa5407.chunk.js → sa-json.7efeb257.chunk.js} +1 -1
- package/build/{sk-json.9ec60d9f.chunk.js → sk-json.7bbeb0af.chunk.js} +1 -1
- package/build/sso-settings-page.82d84043.chunk.js +1 -0
- package/build/{sv-json.c6b0c237.chunk.js → sv-json.dc40951f.chunk.js} +1 -1
- package/build/{th-json.6e68155c.chunk.js → th-json.f664b96d.chunk.js} +1 -1
- package/build/{tr-json.9f41dc08.chunk.js → tr-json.b79eae31.chunk.js} +1 -1
- package/build/uk-json.b7e38370.chunk.js +1 -0
- package/build/upload-settings.c18b010f.chunk.js +1 -0
- package/build/upload.0876ab69.chunk.js +13 -0
- package/build/users-advanced-settings-page.677e1973.chunk.js +1 -0
- package/build/users-email-settings-page.a3c80419.chunk.js +1 -0
- package/build/users-providers-settings-page.87a9c77d.chunk.js +1 -0
- package/build/users-roles-settings-page.79c19845.chunk.js +30 -0
- package/build/vi-json.ee4c5537.chunk.js +1 -0
- package/build/webhook-edit-page.cfbdd3fd.chunk.js +23 -0
- package/build/webhook-list-page.3daa4fe2.chunk.js +1 -0
- package/build/{zh-Hans-json.9c0eac99.chunk.js → zh-Hans-json.30a18940.chunk.js} +1 -1
- package/build/{zh-json.f88f563d.chunk.js → zh-json.49d84433.chunk.js} +1 -1
- package/ee/admin/pages/AuthPage/components/Login/index.js +1 -5
- package/ee/admin/pages/AuthPage/components/Providers/SSOProviders.js +1 -4
- package/ee/admin/pages/AuthPage/components/Providers/index.js +1 -8
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/ComboboxFilter/index.js +41 -0
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/ActionBody.js +2 -9
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/ActionItem.js +1 -2
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/index.js +1 -2
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/PaginationFooter/index.js +1 -2
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/TableRows/index.js +3 -6
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/hooks/useAuditLogsData.js +47 -0
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/index.js +30 -31
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/getActionTypesDefaultMessages.js +7 -9
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/getDisplayedFilters.js +88 -0
- package/ee/admin/pages/SettingsPage/pages/Roles/CreatePage/index.js +15 -11
- package/ee/admin/pages/SettingsPage/pages/Roles/ListPage/index.js +20 -12
- package/ee/admin/pages/SettingsPage/pages/SingleSignOn/index.js +15 -9
- package/ee/admin/permissions/customPermissions.js +4 -0
- package/ee/server/migrations/audit-logs-table.js +45 -0
- package/ee/server/register.js +2 -0
- package/ee/server/services/audit-logs.js +11 -1
- package/package.json +31 -31
- package/server/config/admin-actions.js +0 -16
- package/server/controllers/admin.js +16 -55
- package/server/routes/admin.js +0 -28
- package/webpack.alias.js +0 -1
- package/webpack.config.js +0 -3
- package/admin/src/content-manager/components/InputJSON/FieldWrapper.js +0 -40
- package/admin/src/content-manager/components/InputJSON/Label.js +0 -35
- package/admin/src/content-manager/components/InputJSON/components.js +0 -36
- package/admin/src/content-manager/components/InputJSON/index.js +0 -223
- package/admin/src/content-manager/components/InputJSON/jsonlint.js +0 -680
- package/admin/src/core/utils/axiosInstance.js +0 -40
- package/build/2607.ce06608e.chunk.js +0 -66
- package/build/2743.dea372fb.chunk.js +0 -42
- package/build/3075.03ebe93d.chunk.js +0 -115
- package/build/3632.963ac97d.chunk.js +0 -138
- package/build/4318.8cb388a5.chunk.js +0 -30
- package/build/4656.a0d43cca.chunk.js +0 -159
- package/build/5910.a5374848.chunk.js +0 -209
- package/build/8633.4af74a50.chunk.js +0 -1
- package/build/9641.a311b612.chunk.js +0 -276
- package/build/9707.62831b4d.chunk.js +0 -101
- package/build/Admin-authenticatedApp.50dc27f9.chunk.js +0 -75
- package/build/Admin_InternalErrorPage.157152a8.chunk.js +0 -1
- package/build/Admin_homePage.79ab880c.chunk.js +0 -77
- package/build/Admin_marketplace.eabf21b2.chunk.js +0 -26
- package/build/Admin_pluginsPage.953e796b.chunk.js +0 -6
- package/build/Admin_profilePage.5c2efda5.chunk.js +0 -15
- package/build/Admin_settingsPage.19cfb9ca.chunk.js +0 -178
- package/build/Upload_ConfigureTheView.3f2b6e6a.chunk.js +0 -1
- package/build/admin-app.34295b50.chunk.js +0 -112
- package/build/admin-edit-roles-page.d50d9654.chunk.js +0 -1
- package/build/admin-edit-users.912b856d.chunk.js +0 -10
- package/build/admin-users.e36e7111.chunk.js +0 -11
- package/build/api-tokens-list-page.1cd86136.chunk.js +0 -16
- package/build/ar-json.932794f7.chunk.js +0 -1
- package/build/audit-logs-settings-page.308a6250.chunk.js +0 -1
- package/build/codemirror-addon-closebrackets.71aa4bbd.chunk.js +0 -2
- package/build/codemirror-addon-lint-js.405f70fb.chunk.js +0 -1
- package/build/codemirror-addon-lint.8487ad3d.chunk.js +0 -1
- package/build/codemirror-addon-mark-selection.1928c849.chunk.js +0 -1
- package/build/codemirror-css.359a2a4b.chunk.js +0 -345
- package/build/codemirror-javacript.af237b68.chunk.js +0 -1
- package/build/codemirror-theme.2fe63a16.chunk.js +0 -33
- package/build/content-manager.851f40ce.chunk.js +0 -1170
- package/build/content-type-builder-list-view.4243b2b1.chunk.js +0 -198
- package/build/content-type-builder.365b6bf4.chunk.js +0 -125
- package/build/cs-json.79879fb6.chunk.js +0 -1
- package/build/email-settings-page.379552b1.chunk.js +0 -15
- package/build/en-json.38d182e5.chunk.js +0 -1
- package/build/es-json.e275481d.chunk.js +0 -1
- package/build/i18n-settings-page.3ab28b1a.chunk.js +0 -65
- package/build/main.9f31732e.js +0 -4454
- package/build/ms-json.db87d8d3.chunk.js +0 -1
- package/build/pt-json.62927d1e.chunk.js +0 -1
- package/build/ru-json.3b411a39.chunk.js +0 -1
- package/build/runtime~main.2b8e2318.js +0 -2
- package/build/sso-settings-page.b64a44e8.chunk.js +0 -41
- package/build/uk-json.b2fcd567.chunk.js +0 -1
- package/build/upload-settings.6c26ff37.chunk.js +0 -89
- package/build/upload.2c69d238.chunk.js +0 -38
- package/build/users-advanced-settings-page.c4270682.chunk.js +0 -13
- package/build/users-email-settings-page.60422a2f.chunk.js +0 -28
- package/build/users-providers-settings-page.e1834060.chunk.js +0 -104
- package/build/users-roles-settings-page.3ef35132.chunk.js +0 -30
- package/build/vi-json.f08d7d03.chunk.js +0 -1
- package/build/webhook-edit-page.c0080dc1.chunk.js +0 -75
- package/build/webhook-list-page.f75ba3f2.chunk.js +0 -42
|
@@ -4,52 +4,38 @@ import {
|
|
|
4
4
|
SettingsPageTitle,
|
|
5
5
|
DynamicTable,
|
|
6
6
|
useRBAC,
|
|
7
|
-
useNotification,
|
|
8
7
|
useFocusWhenNavigate,
|
|
9
|
-
useFetchClient,
|
|
10
8
|
useQueryParams,
|
|
9
|
+
AnErrorOccurred,
|
|
11
10
|
} from '@strapi/helper-plugin';
|
|
12
|
-
import {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
import {
|
|
12
|
+
Box,
|
|
13
|
+
HeaderLayout,
|
|
14
|
+
ContentLayout,
|
|
15
|
+
ActionLayout,
|
|
16
|
+
Layout,
|
|
17
|
+
Main,
|
|
18
|
+
} from '@strapi/design-system';
|
|
16
19
|
import adminPermissions from '../../../../../../../admin/src/permissions';
|
|
17
20
|
import TableRows from './TableRows';
|
|
18
21
|
import tableHeaders from './utils/tableHeaders';
|
|
19
22
|
import PaginationFooter from './PaginationFooter';
|
|
20
23
|
import Modal from './Modal';
|
|
24
|
+
import Filters from '../../../../../../../admin/src/pages/SettingsPage/components/Filters';
|
|
25
|
+
import getDisplayedFilters from './utils/getDisplayedFilters';
|
|
26
|
+
import useAuditLogsData from './hooks/useAuditLogsData';
|
|
21
27
|
|
|
22
28
|
const ListView = () => {
|
|
23
29
|
const { formatMessage } = useIntl();
|
|
24
|
-
const toggleNotification = useNotification();
|
|
25
30
|
const {
|
|
26
31
|
allowedActions: { canRead },
|
|
27
32
|
} = useRBAC(adminPermissions.settings.auditLogs);
|
|
28
|
-
const { get } = useFetchClient();
|
|
29
|
-
const { search } = useLocation();
|
|
30
33
|
const [{ query }, setQuery] = useQueryParams();
|
|
34
|
+
const { auditLogs, users, isLoading, hasError } = useAuditLogsData({ canRead });
|
|
31
35
|
|
|
32
36
|
useFocusWhenNavigate();
|
|
33
37
|
|
|
34
|
-
const
|
|
35
|
-
const search = queryKey[1];
|
|
36
|
-
const { data } = await get(`/admin/audit-logs${search}`);
|
|
37
|
-
|
|
38
|
-
return data;
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
const { data, isLoading } = useQuery(['auditLogs', search], fetchAuditLogsPage, {
|
|
42
|
-
enabled: canRead,
|
|
43
|
-
keepPreviousData: true,
|
|
44
|
-
retry: false,
|
|
45
|
-
staleTime: 1000 * 10,
|
|
46
|
-
onError() {
|
|
47
|
-
toggleNotification({
|
|
48
|
-
type: 'warning',
|
|
49
|
-
message: { id: 'notification.error', defaultMessage: 'An error occured' },
|
|
50
|
-
});
|
|
51
|
-
},
|
|
52
|
-
});
|
|
38
|
+
const displayedFilters = getDisplayedFilters({ formatMessage, users });
|
|
53
39
|
|
|
54
40
|
const title = formatMessage({
|
|
55
41
|
id: 'global.auditLogs',
|
|
@@ -64,6 +50,18 @@ const ListView = () => {
|
|
|
64
50
|
},
|
|
65
51
|
}));
|
|
66
52
|
|
|
53
|
+
if (hasError) {
|
|
54
|
+
return (
|
|
55
|
+
<Layout>
|
|
56
|
+
<ContentLayout>
|
|
57
|
+
<Box paddingTop={8}>
|
|
58
|
+
<AnErrorOccurred />
|
|
59
|
+
</Box>
|
|
60
|
+
</ContentLayout>
|
|
61
|
+
</Layout>
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
|
|
67
65
|
return (
|
|
68
66
|
<Main aria-busy={isLoading}>
|
|
69
67
|
<SettingsPageTitle name={title} />
|
|
@@ -74,21 +72,22 @@ const ListView = () => {
|
|
|
74
72
|
defaultMessage: 'Logs of all the activities that happened in your environment',
|
|
75
73
|
})}
|
|
76
74
|
/>
|
|
75
|
+
<ActionLayout startActions={<Filters displayedFilters={displayedFilters} />} />
|
|
77
76
|
<ContentLayout canRead={canRead}>
|
|
78
77
|
<DynamicTable
|
|
79
78
|
contentType="Audit logs"
|
|
80
79
|
headers={headers}
|
|
81
|
-
rows={
|
|
80
|
+
rows={auditLogs?.results || []}
|
|
82
81
|
withBulkActions
|
|
83
82
|
isLoading={isLoading}
|
|
84
83
|
>
|
|
85
84
|
<TableRows
|
|
86
85
|
headers={headers}
|
|
87
|
-
rows={
|
|
86
|
+
rows={auditLogs?.results || []}
|
|
88
87
|
onOpenModal={(id) => setQuery({ id })}
|
|
89
88
|
/>
|
|
90
89
|
</DynamicTable>
|
|
91
|
-
<PaginationFooter pagination={
|
|
90
|
+
<PaginationFooter pagination={auditLogs?.pagination} />
|
|
92
91
|
</ContentLayout>
|
|
93
92
|
{query?.id && <Modal handleClose={() => setQuery({ id: null }, 'remove')} logId={query.id} />}
|
|
94
93
|
</Main>
|
package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/getActionTypesDefaultMessages.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
const actionTypes = {
|
|
2
|
-
'entry.create': 'Create entry ({model})',
|
|
3
|
-
'entry.update': 'Update entry ({model})',
|
|
4
|
-
'entry.delete': 'Delete entry ({model})',
|
|
5
|
-
'entry.publish': 'Publish entry ({model})',
|
|
6
|
-
'entry.unpublish': 'Unpublish entry ({model})',
|
|
1
|
+
export const actionTypes = {
|
|
2
|
+
'entry.create': 'Create entry{model, select, undefined {} other { ({model})}}',
|
|
3
|
+
'entry.update': 'Update entry{model, select, undefined {} other { ({model})}}',
|
|
4
|
+
'entry.delete': 'Delete entry{model, select, undefined {} other { ({model})}}',
|
|
5
|
+
'entry.publish': 'Publish entry{model, select, undefined {} other { ({model})}}',
|
|
6
|
+
'entry.unpublish': 'Unpublish entry{model, select, undefined {} other { ({model})}}',
|
|
7
7
|
'media.create': 'Create media',
|
|
8
8
|
'media.update': 'Update media',
|
|
9
9
|
'media.delete': 'Delete media',
|
|
@@ -29,8 +29,6 @@ const actionTypes = {
|
|
|
29
29
|
'permission.delete': 'Delete permission',
|
|
30
30
|
};
|
|
31
31
|
|
|
32
|
-
const getDefaultMessage = (value) => {
|
|
32
|
+
export const getDefaultMessage = (value) => {
|
|
33
33
|
return actionTypes[value] || value;
|
|
34
34
|
};
|
|
35
|
-
|
|
36
|
-
export default getDefaultMessage;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import ComboboxFilter from '../ComboboxFilter';
|
|
2
|
+
import { getDefaultMessage, actionTypes } from './getActionTypesDefaultMessages';
|
|
3
|
+
|
|
4
|
+
const customOperators = [
|
|
5
|
+
{
|
|
6
|
+
intlLabel: { id: 'components.FilterOptions.FILTER_TYPES.$eq', defaultMessage: 'is' },
|
|
7
|
+
value: '$eq',
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
intlLabel: { id: 'components.FilterOptions.FILTER_TYPES.$ne', defaultMessage: 'is not' },
|
|
11
|
+
value: '$ne',
|
|
12
|
+
},
|
|
13
|
+
];
|
|
14
|
+
|
|
15
|
+
const getDisplayedFilters = ({ formatMessage, users }) => {
|
|
16
|
+
const actionOptions = Object.keys(actionTypes).map((action) => {
|
|
17
|
+
return {
|
|
18
|
+
label: formatMessage(
|
|
19
|
+
{
|
|
20
|
+
id: `Settings.permissions.auditLogs.${action}`,
|
|
21
|
+
defaultMessage: getDefaultMessage(action),
|
|
22
|
+
},
|
|
23
|
+
{ model: undefined }
|
|
24
|
+
),
|
|
25
|
+
customValue: action,
|
|
26
|
+
};
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
const userOptions =
|
|
30
|
+
users &&
|
|
31
|
+
users.results.map((user) => {
|
|
32
|
+
return {
|
|
33
|
+
label: formatMessage(
|
|
34
|
+
{
|
|
35
|
+
id: 'Settings.permissions.auditLogs.user.fullname',
|
|
36
|
+
defaultMessage: '{firstname} {lastname}',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
firstname: user.firstname,
|
|
40
|
+
lastname: user.lastname,
|
|
41
|
+
}
|
|
42
|
+
),
|
|
43
|
+
// Combobox expects a string value
|
|
44
|
+
customValue: user.id.toString(),
|
|
45
|
+
};
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
return [
|
|
49
|
+
{
|
|
50
|
+
name: 'action',
|
|
51
|
+
metadatas: {
|
|
52
|
+
customOperators,
|
|
53
|
+
label: formatMessage({
|
|
54
|
+
id: 'Settings.permissions.auditLogs.action',
|
|
55
|
+
defaultMessage: 'Action',
|
|
56
|
+
}),
|
|
57
|
+
options: actionOptions,
|
|
58
|
+
customInput: ComboboxFilter,
|
|
59
|
+
},
|
|
60
|
+
fieldSchema: { type: 'enumeration' },
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
name: 'date',
|
|
64
|
+
metadatas: {
|
|
65
|
+
label: formatMessage({
|
|
66
|
+
id: 'Settings.permissions.auditLogs.date',
|
|
67
|
+
defaultMessage: 'Date',
|
|
68
|
+
}),
|
|
69
|
+
},
|
|
70
|
+
fieldSchema: { type: 'datetime' },
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: 'user',
|
|
74
|
+
metadatas: {
|
|
75
|
+
customOperators,
|
|
76
|
+
label: formatMessage({
|
|
77
|
+
id: 'Settings.permissions.auditLogs.user',
|
|
78
|
+
defaultMessage: 'User',
|
|
79
|
+
}),
|
|
80
|
+
options: userOptions,
|
|
81
|
+
customInput: ComboboxFilter,
|
|
82
|
+
},
|
|
83
|
+
fieldSchema: { type: 'relation', mainField: { name: 'id' } },
|
|
84
|
+
},
|
|
85
|
+
];
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
export default getDisplayedFilters;
|
|
@@ -11,17 +11,21 @@ import {
|
|
|
11
11
|
useTracking,
|
|
12
12
|
Link,
|
|
13
13
|
} from '@strapi/helper-plugin';
|
|
14
|
-
import {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
14
|
+
import {
|
|
15
|
+
Box,
|
|
16
|
+
Button,
|
|
17
|
+
ContentLayout,
|
|
18
|
+
HeaderLayout,
|
|
19
|
+
Grid,
|
|
20
|
+
GridItem,
|
|
21
|
+
Main,
|
|
22
|
+
Flex,
|
|
23
|
+
Stack,
|
|
24
|
+
Typography,
|
|
25
|
+
TextInput,
|
|
26
|
+
Textarea,
|
|
27
|
+
} from '@strapi/design-system';
|
|
28
|
+
import { ArrowLeft } from '@strapi/icons';
|
|
25
29
|
import { Formik } from 'formik';
|
|
26
30
|
import get from 'lodash/get';
|
|
27
31
|
import isEmpty from 'lodash/isEmpty';
|
|
@@ -4,26 +4,32 @@ import {
|
|
|
4
4
|
LoadingIndicatorPage,
|
|
5
5
|
SearchURLQuery,
|
|
6
6
|
SettingsPageTitle,
|
|
7
|
+
getFetchClient,
|
|
7
8
|
useNotification,
|
|
8
9
|
useQueryParams,
|
|
9
10
|
useRBAC,
|
|
10
11
|
useFocusWhenNavigate,
|
|
11
12
|
} from '@strapi/helper-plugin';
|
|
12
|
-
import Plus from '@strapi/icons
|
|
13
|
-
import
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
13
|
+
import { Plus, Trash, Duplicate, Pencil } from '@strapi/icons';
|
|
14
|
+
import {
|
|
15
|
+
Button,
|
|
16
|
+
ActionLayout,
|
|
17
|
+
ContentLayout,
|
|
18
|
+
HeaderLayout,
|
|
19
|
+
Main,
|
|
20
|
+
Table,
|
|
21
|
+
Tbody,
|
|
22
|
+
TFooter,
|
|
23
|
+
Thead,
|
|
24
|
+
Th,
|
|
25
|
+
Tr,
|
|
26
|
+
Typography,
|
|
27
|
+
VisuallyHidden,
|
|
28
|
+
} from '@strapi/design-system';
|
|
22
29
|
import { get } from 'lodash';
|
|
23
30
|
import matchSorter from 'match-sorter';
|
|
24
31
|
import { useIntl } from 'react-intl';
|
|
25
32
|
import { useHistory } from 'react-router-dom';
|
|
26
|
-
import { axiosInstance } from '../../../../../../../admin/src/core/utils';
|
|
27
33
|
import { useRolesList } from '../../../../../../../admin/src/hooks';
|
|
28
34
|
import adminPermissions from '../../../../../../../admin/src/permissions';
|
|
29
35
|
import EmptyRole from '../../../../../../../admin/src/pages/SettingsPage/pages/Roles/ListPage/components/EmptyRole';
|
|
@@ -72,13 +78,15 @@ const useRoleActions = ({ getData, canCreate, canDelete, canUpdate }) => {
|
|
|
72
78
|
initialState
|
|
73
79
|
);
|
|
74
80
|
|
|
81
|
+
const { post } = getFetchClient();
|
|
82
|
+
|
|
75
83
|
const handleDeleteData = async () => {
|
|
76
84
|
try {
|
|
77
85
|
dispatch({
|
|
78
86
|
type: 'ON_REMOVE_ROLES',
|
|
79
87
|
});
|
|
80
88
|
|
|
81
|
-
await
|
|
89
|
+
await post('/admin/roles/batch-delete', {
|
|
82
90
|
ids: [roleToDelete],
|
|
83
91
|
});
|
|
84
92
|
|
|
@@ -6,15 +6,21 @@ import {
|
|
|
6
6
|
LoadingIndicatorPage,
|
|
7
7
|
useFocusWhenNavigate,
|
|
8
8
|
} from '@strapi/helper-plugin';
|
|
9
|
-
import Check from '@strapi/icons
|
|
10
|
-
import {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
9
|
+
import { Check } from '@strapi/icons';
|
|
10
|
+
import {
|
|
11
|
+
ContentLayout,
|
|
12
|
+
HeaderLayout,
|
|
13
|
+
Layout,
|
|
14
|
+
Button,
|
|
15
|
+
Main,
|
|
16
|
+
Stack,
|
|
17
|
+
Typography,
|
|
18
|
+
ToggleInput,
|
|
19
|
+
Select,
|
|
20
|
+
Option,
|
|
21
|
+
Grid,
|
|
22
|
+
GridItem,
|
|
23
|
+
} from '@strapi/design-system';
|
|
18
24
|
import { useIntl } from 'react-intl';
|
|
19
25
|
import isEqual from 'lodash/isEqual';
|
|
20
26
|
import { getRequestUrl } from '../../../../../../admin/src/utils';
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
const customPermissions = {
|
|
2
2
|
settings: {
|
|
3
|
+
auditLogs: {
|
|
4
|
+
main: [{ action: 'admin::audit-logs.read', subject: null }],
|
|
5
|
+
read: [{ action: 'admin::audit-logs.read', subject: null }],
|
|
6
|
+
},
|
|
3
7
|
sso: {
|
|
4
8
|
main: [{ action: 'admin::provider-login.read', subject: null }],
|
|
5
9
|
read: [{ action: 'admin::provider-login.read', subject: null }],
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Migrate the audit logs table name for users coming from v4.6.0
|
|
5
|
+
*/
|
|
6
|
+
async function migrateAuditLogsTable({ oldContentTypes, contentTypes }) {
|
|
7
|
+
// Check if the audit logs table name was changed
|
|
8
|
+
const oldName = oldContentTypes?.['admin::audit-log']?.collectionName;
|
|
9
|
+
const newName = contentTypes['admin::audit-log']?.collectionName;
|
|
10
|
+
const hasRenamedAuditLogsTable = oldName === 'audit_logs' && newName === 'strapi_audit_logs';
|
|
11
|
+
|
|
12
|
+
if (!hasRenamedAuditLogsTable) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// Check if the previous audit log tables exist
|
|
17
|
+
const hasAuditLogsTable = await strapi.db.getSchemaConnection().hasTable('audit_logs');
|
|
18
|
+
const hasLinkTable = await strapi.db.getSchemaConnection().hasTable('audit_logs_user_links');
|
|
19
|
+
|
|
20
|
+
if (!hasAuditLogsTable || !hasLinkTable) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Check if the existing tables match the expected schema
|
|
25
|
+
const auditLogsColumnInfo = await strapi.db.connection('audit_logs').columnInfo();
|
|
26
|
+
const linkColumnInfo = await strapi.db.connection('audit_logs_user_links').columnInfo();
|
|
27
|
+
|
|
28
|
+
if (
|
|
29
|
+
!auditLogsColumnInfo.action ||
|
|
30
|
+
!auditLogsColumnInfo.date ||
|
|
31
|
+
!auditLogsColumnInfo.payload ||
|
|
32
|
+
!linkColumnInfo.audit_log_id ||
|
|
33
|
+
!linkColumnInfo.user_id
|
|
34
|
+
) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Do the actual migrations
|
|
39
|
+
await strapi.db.getSchemaConnection().renameTable('audit_logs', 'strapi_audit_logs');
|
|
40
|
+
await strapi.db
|
|
41
|
+
.getSchemaConnection()
|
|
42
|
+
.renameTable('audit_logs_user_links', 'strapi_audit_logs_user_links');
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
module.exports = migrateAuditLogsTable;
|
package/ee/server/register.js
CHANGED
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
const { features } = require('@strapi/strapi/lib/utils/ee');
|
|
4
4
|
const executeCERegister = require('../../server/register');
|
|
5
|
+
const migrateAuditLogsTable = require('./migrations/audit-logs-table');
|
|
5
6
|
const createAuditLogsService = require('./services/audit-logs');
|
|
6
7
|
|
|
7
8
|
module.exports = async ({ strapi }) => {
|
|
8
9
|
if (features.isEnabled('audit-logs')) {
|
|
10
|
+
strapi.hook('strapi::content-types.beforeSync').register(migrateAuditLogsTable);
|
|
9
11
|
const auditLogsService = createAuditLogsService(strapi);
|
|
10
12
|
strapi.container.register('audit-logs', auditLogsService);
|
|
11
13
|
await auditLogsService.register();
|
|
@@ -58,6 +58,16 @@ const createAuditLogsService = (strapi) => {
|
|
|
58
58
|
const eventMap = getEventMap(defaultEvents);
|
|
59
59
|
|
|
60
60
|
const processEvent = (name, ...args) => {
|
|
61
|
+
const state = strapi.requestContext.get()?.state;
|
|
62
|
+
|
|
63
|
+
// Ignore events with auth strategies different from admin
|
|
64
|
+
const isUsingAdminAuth = state?.auth?.strategy.name === 'admin';
|
|
65
|
+
const user = state?.user;
|
|
66
|
+
|
|
67
|
+
if (!isUsingAdminAuth || !user) {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
|
|
61
71
|
const getPayload = eventMap[name];
|
|
62
72
|
|
|
63
73
|
// Ignore the event if it's not in the map
|
|
@@ -75,7 +85,7 @@ const createAuditLogsService = (strapi) => {
|
|
|
75
85
|
action: name,
|
|
76
86
|
date: new Date().toISOString(),
|
|
77
87
|
payload: getPayload(...args) || {},
|
|
78
|
-
userId:
|
|
88
|
+
userId: user.id,
|
|
79
89
|
};
|
|
80
90
|
};
|
|
81
91
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@strapi/admin",
|
|
3
|
-
"version": "4.6.
|
|
3
|
+
"version": "4.6.2",
|
|
4
4
|
"description": "Strapi Admin",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -38,25 +38,25 @@
|
|
|
38
38
|
"test:front:ce:cov": "cross-env IS_EE=false jest --config ./jest.config.front.js --coverage"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@babel/core": "7.
|
|
42
|
-
"@babel/plugin-transform-runtime": "7.
|
|
43
|
-
"@babel/preset-env": "7.
|
|
44
|
-
"@babel/preset-react": "7.18.6",
|
|
45
|
-
"@babel/runtime": "7.
|
|
41
|
+
"@babel/core": "^7.20.12",
|
|
42
|
+
"@babel/plugin-transform-runtime": "^7.19.6",
|
|
43
|
+
"@babel/preset-env": "^7.20.2",
|
|
44
|
+
"@babel/preset-react": "^7.18.6",
|
|
45
|
+
"@babel/runtime": "^7.20.13",
|
|
46
46
|
"@casl/ability": "^5.4.3",
|
|
47
47
|
"@fingerprintjs/fingerprintjs": "3.3.6",
|
|
48
48
|
"@pmmmwh/react-refresh-webpack-plugin": "0.5.10",
|
|
49
|
-
"@strapi/babel-plugin-switch-ee-ce": "4.6.
|
|
50
|
-
"@strapi/data-transfer": "4.6.
|
|
51
|
-
"@strapi/design-system": "1.6.
|
|
52
|
-
"@strapi/helper-plugin": "4.6.
|
|
53
|
-
"@strapi/icons": "1.6.
|
|
54
|
-
"@strapi/permissions": "4.6.
|
|
55
|
-
"@strapi/provider-audit-logs-local": "4.6.
|
|
56
|
-
"@strapi/typescript-utils": "4.6.
|
|
57
|
-
"@strapi/utils": "4.6.
|
|
49
|
+
"@strapi/babel-plugin-switch-ee-ce": "4.6.2",
|
|
50
|
+
"@strapi/data-transfer": "4.6.2",
|
|
51
|
+
"@strapi/design-system": "1.6.3",
|
|
52
|
+
"@strapi/helper-plugin": "4.6.2",
|
|
53
|
+
"@strapi/icons": "1.6.3",
|
|
54
|
+
"@strapi/permissions": "4.6.2",
|
|
55
|
+
"@strapi/provider-audit-logs-local": "4.6.2",
|
|
56
|
+
"@strapi/typescript-utils": "4.6.2",
|
|
57
|
+
"@strapi/utils": "4.6.2",
|
|
58
58
|
"axios": "1.2.2",
|
|
59
|
-
"babel-loader": "
|
|
59
|
+
"babel-loader": "^9.1.2",
|
|
60
60
|
"babel-plugin-styled-components": "2.0.2",
|
|
61
61
|
"bcryptjs": "2.4.3",
|
|
62
62
|
"browserslist-to-esbuild": "1.2.0",
|
|
@@ -64,22 +64,23 @@
|
|
|
64
64
|
"chokidar": "^3.5.1",
|
|
65
65
|
"codemirror": "^5.65.11",
|
|
66
66
|
"cross-env": "^7.0.3",
|
|
67
|
-
"css-loader": "6.7.
|
|
67
|
+
"css-loader": "^6.7.3",
|
|
68
68
|
"date-fns": "2.29.3",
|
|
69
69
|
"dotenv": "8.5.1",
|
|
70
|
-
"esbuild-loader": "^2.
|
|
70
|
+
"esbuild-loader": "^2.21.0",
|
|
71
71
|
"execa": "^1.0.0",
|
|
72
72
|
"fast-deep-equal": "3.1.3",
|
|
73
73
|
"find-root": "1.1.0",
|
|
74
74
|
"fork-ts-checker-webpack-plugin": "7.2.1",
|
|
75
75
|
"formik": "^2.2.6",
|
|
76
|
+
"fractional-indexing": "3.2.0",
|
|
76
77
|
"fs-extra": "10.0.0",
|
|
77
78
|
"highlight.js": "^10.4.1",
|
|
78
79
|
"history": "^4.9.0",
|
|
79
80
|
"hoist-non-react-statics": "^3.3.0",
|
|
80
|
-
"html-loader": "
|
|
81
|
+
"html-loader": "^4.2.0",
|
|
81
82
|
"html-webpack-plugin": "5.5.0",
|
|
82
|
-
"immer": "9.0.
|
|
83
|
+
"immer": "9.0.19",
|
|
83
84
|
"invariant": "^2.2.4",
|
|
84
85
|
"js-cookie": "2.2.1",
|
|
85
86
|
"jsonwebtoken": "9.0.0",
|
|
@@ -99,9 +100,7 @@
|
|
|
99
100
|
"markdown-it-sub": "^1.0.0",
|
|
100
101
|
"markdown-it-sup": "1.0.0",
|
|
101
102
|
"match-sorter": "^4.0.2",
|
|
102
|
-
"mini-css-extract-plugin": "2.
|
|
103
|
-
"msw": "0.49.1",
|
|
104
|
-
"node-polyfill-webpack-plugin": "2.0.1",
|
|
103
|
+
"mini-css-extract-plugin": "2.7.2",
|
|
105
104
|
"node-schedule": "2.1.0",
|
|
106
105
|
"p-map": "4.0.0",
|
|
107
106
|
"passport-local": "1.0.0",
|
|
@@ -115,15 +114,15 @@
|
|
|
115
114
|
"react-error-boundary": "3.1.4",
|
|
116
115
|
"react-fast-compare": "^3.2.0",
|
|
117
116
|
"react-helmet": "^6.1.0",
|
|
118
|
-
"react-intl": "
|
|
117
|
+
"react-intl": "6.2.8",
|
|
119
118
|
"react-is": "^17.0.2",
|
|
120
119
|
"react-query": "3.24.3",
|
|
121
|
-
"react-redux": "
|
|
120
|
+
"react-redux": "8.0.5",
|
|
122
121
|
"react-refresh": "0.14.0",
|
|
123
122
|
"react-router": "5.2.0",
|
|
124
123
|
"react-router-dom": "5.3.4",
|
|
125
124
|
"react-window": "1.8.7",
|
|
126
|
-
"redux": "^4.
|
|
125
|
+
"redux": "^4.2.1",
|
|
127
126
|
"reselect": "^4.0.0",
|
|
128
127
|
"rimraf": "3.0.2",
|
|
129
128
|
"sanitize-html": "2.7.3",
|
|
@@ -132,9 +131,9 @@
|
|
|
132
131
|
"style-loader": "3.3.1",
|
|
133
132
|
"styled-components": "5.3.3",
|
|
134
133
|
"typescript": "4.6.2",
|
|
135
|
-
"webpack": "^5.
|
|
136
|
-
"webpack-cli": "^
|
|
137
|
-
"webpack-dev-server": "^4.
|
|
134
|
+
"webpack": "^5.75.0",
|
|
135
|
+
"webpack-cli": "^5.0.1",
|
|
136
|
+
"webpack-dev-server": "^4.11.1",
|
|
138
137
|
"webpackbar": "^5.0.2",
|
|
139
138
|
"yup": "^0.32.9"
|
|
140
139
|
},
|
|
@@ -145,9 +144,10 @@
|
|
|
145
144
|
"@testing-library/user-event": "14.4.3",
|
|
146
145
|
"duplicate-dependencies-webpack-plugin": "^1.0.2",
|
|
147
146
|
"glob": "8.0.3",
|
|
147
|
+
"msw": "1.0.1",
|
|
148
148
|
"react-test-renderer": "^17.0.2",
|
|
149
149
|
"speed-measure-webpack-plugin": "1.5.0",
|
|
150
|
-
"webpack-bundle-analyzer": "^4.
|
|
150
|
+
"webpack-bundle-analyzer": "^4.8.0"
|
|
151
151
|
},
|
|
152
152
|
"peerDependencies": {
|
|
153
153
|
"@strapi/strapi": "^4.3.4"
|
|
@@ -165,5 +165,5 @@
|
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
167
|
},
|
|
168
|
-
"gitHead": "
|
|
168
|
+
"gitHead": "bae505f44c3a779905f6b8dbc0c497e24d9eabfb"
|
|
169
169
|
}
|
|
@@ -10,22 +10,6 @@ module.exports = {
|
|
|
10
10
|
category: 'plugins and marketplace',
|
|
11
11
|
subCategory: 'marketplace',
|
|
12
12
|
},
|
|
13
|
-
{
|
|
14
|
-
uid: 'marketplace.plugins.install',
|
|
15
|
-
displayName: 'Install (only for dev env)',
|
|
16
|
-
pluginName: 'admin',
|
|
17
|
-
section: 'settings',
|
|
18
|
-
category: 'plugins and marketplace',
|
|
19
|
-
subCategory: 'plugins',
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
uid: 'marketplace.plugins.uninstall',
|
|
23
|
-
displayName: 'Uninstall (only for dev env)',
|
|
24
|
-
pluginName: 'admin',
|
|
25
|
-
section: 'settings',
|
|
26
|
-
category: 'plugins and marketplace',
|
|
27
|
-
subCategory: 'plugins',
|
|
28
|
-
},
|
|
29
13
|
{
|
|
30
14
|
uid: 'webhooks.create',
|
|
31
15
|
displayName: 'Create',
|