@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.
Files changed (418) hide show
  1. package/.browserslistrc +2 -1
  2. package/admin/src/StrapiApp.js +1 -1
  3. package/admin/src/assets/images/onboarding-preview.png +0 -0
  4. package/admin/src/components/AuthenticatedApp/utils/api.js +5 -4
  5. package/admin/src/components/AutoReloadOverlayBlockerProvider/Blocker.js +3 -7
  6. package/admin/src/components/AutoReloadOverlayBlockerProvider/Overlay.js +1 -2
  7. package/admin/src/components/GuidedTour/Homepage/components/Step.js +1 -3
  8. package/admin/src/components/GuidedTour/Homepage/components/Stepper.js +1 -1
  9. package/admin/src/components/GuidedTour/Homepage/index.js +2 -6
  10. package/admin/src/components/GuidedTour/Modal/components/Content.js +1 -3
  11. package/admin/src/components/GuidedTour/Modal/components/Modal.js +2 -8
  12. package/admin/src/components/GuidedTour/Modal/components/StepNumberWithPadding.js +1 -1
  13. package/admin/src/components/GuidedTour/Modal/components/Stepper.js +2 -5
  14. package/admin/src/components/GuidedTour/Stepper/StepLine.js +1 -1
  15. package/admin/src/components/GuidedTour/Stepper/StepNumber.js +2 -4
  16. package/admin/src/components/LeftMenu/index.js +12 -11
  17. package/admin/src/components/Notifications/Notification/index.js +2 -2
  18. package/admin/src/components/Notifications/index.js +1 -1
  19. package/admin/src/components/Theme/index.js +1 -1
  20. package/admin/src/components/UpgradePlanModal/index.js +3 -10
  21. package/admin/src/content-manager/components/AttributeFilter/Filters.js +2 -3
  22. package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +24 -30
  23. package/admin/src/content-manager/components/ComponentInitializer/index.js +2 -5
  24. package/admin/src/content-manager/components/DynamicTable/CellContent/Media/FileWrapper.js +1 -2
  25. package/admin/src/content-manager/components/DynamicTable/CellContent/Media/index.js +3 -3
  26. package/admin/src/content-manager/components/DynamicTable/CellContent/MultipleMedias.js +1 -1
  27. package/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/index.js +19 -16
  28. package/admin/src/content-manager/components/DynamicTable/CellContent/RelationSingle/index.js +1 -1
  29. package/admin/src/content-manager/components/DynamicTable/CellContent/RepeatableComponent/index.js +1 -4
  30. package/admin/src/content-manager/components/DynamicTable/CellContent/SingleComponent/index.js +1 -2
  31. package/admin/src/content-manager/components/DynamicTable/CellContent/index.js +1 -2
  32. package/admin/src/content-manager/components/DynamicTable/ConfirmDialogDelete/index.js +10 -7
  33. package/admin/src/content-manager/components/DynamicTable/ConfirmDialogDeleteAll/index.js +10 -7
  34. package/admin/src/content-manager/components/DynamicTable/TableRows/index.js +3 -9
  35. package/admin/src/content-manager/components/DynamicTable/index.js +1 -2
  36. package/admin/src/content-manager/components/DynamicZone/components/AddComponentButton.js +2 -5
  37. package/admin/src/content-manager/components/DynamicZone/components/ComponentCard.js +1 -3
  38. package/admin/src/content-manager/components/DynamicZone/components/ComponentCategory.js +1 -2
  39. package/admin/src/content-manager/components/DynamicZone/components/ComponentPicker.js +1 -4
  40. package/admin/src/content-manager/components/DynamicZone/components/DynamicZoneLabel.js +1 -3
  41. package/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +39 -9
  42. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/cleanData.js +9 -15
  43. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/findLeafByPathAndReplace.js +1 -3
  44. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/schema.js +6 -5
  45. package/admin/src/content-manager/components/FieldComponent/Label.js +1 -3
  46. package/admin/src/content-manager/components/FieldComponent/index.js +2 -5
  47. package/admin/src/content-manager/components/FieldTypeIcon/index.js +15 -13
  48. package/admin/src/content-manager/components/Hint/index.js +1 -1
  49. package/admin/src/content-manager/components/InjectionZoneList/index.js +1 -1
  50. package/admin/src/content-manager/components/InputUID/endActionStyle.js +1 -3
  51. package/admin/src/content-manager/components/InputUID/index.js +6 -10
  52. package/admin/src/content-manager/components/Inputs/index.js +0 -2
  53. package/admin/src/content-manager/components/NonRepeatableComponent/index.js +1 -3
  54. package/admin/src/content-manager/components/RelationInput/RelationInput.js +16 -12
  55. package/admin/src/content-manager/components/RelationInput/components/Option.js +1 -2
  56. package/admin/src/content-manager/components/RelationInput/components/Relation.js +1 -2
  57. package/admin/src/content-manager/components/RelationInput/components/RelationList.js +1 -1
  58. package/admin/src/content-manager/components/SingleTypeFormWrapper/index.js +39 -26
  59. package/admin/src/content-manager/components/Wysiwyg/WysiwygFooter.js +2 -4
  60. package/admin/src/content-manager/components/Wysiwyg/WysiwygNav.js +24 -18
  61. package/admin/src/content-manager/components/Wysiwyg/WysiwygStyles.js +1 -2
  62. package/admin/src/content-manager/components/Wysiwyg/index.js +1 -3
  63. package/admin/src/content-manager/hooks/useFetchContentTypeLayout/index.js +4 -3
  64. package/admin/src/content-manager/hooks/useLazyComponents/index.js +9 -13
  65. package/admin/src/content-manager/hooks/useRelation/useRelation.js +4 -4
  66. package/admin/src/content-manager/pages/App/LeftMenu/index.js +1 -1
  67. package/admin/src/content-manager/pages/App/index.js +1 -2
  68. package/admin/src/content-manager/pages/App/useModels.js +9 -4
  69. package/admin/src/content-manager/pages/App/utils/generateModelsLinks.js +9 -8
  70. package/admin/src/content-manager/pages/App/utils/getContentTypeLinks.js +3 -2
  71. package/admin/src/content-manager/pages/CollectionTypeRecursivePath/components/ErrorFallback.js +1 -1
  72. package/admin/src/content-manager/pages/ComponentSetttingsView/index.js +4 -4
  73. package/admin/src/content-manager/pages/EditSettingsView/components/ComponentFieldList.js +2 -5
  74. package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFieldButton.js +2 -4
  75. package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFields.js +2 -7
  76. package/admin/src/content-manager/pages/EditSettingsView/components/FieldButtonContent.js +2 -6
  77. package/admin/src/content-manager/pages/EditSettingsView/components/FormModal.js +5 -5
  78. package/admin/src/content-manager/pages/EditSettingsView/components/GenericInput.js +1 -3
  79. package/admin/src/content-manager/pages/EditSettingsView/components/LinkToCTB.js +1 -1
  80. package/admin/src/content-manager/pages/EditSettingsView/components/ModalForm.js +1 -2
  81. package/admin/src/content-manager/pages/EditSettingsView/components/RowsLayout.js +1 -1
  82. package/admin/src/content-manager/pages/EditSettingsView/index.js +15 -11
  83. package/admin/src/content-manager/pages/EditSettingsView/utils/api.js +4 -2
  84. package/admin/src/content-manager/pages/EditView/DeleteLink/index.js +8 -10
  85. package/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/index.js +3 -5
  86. package/admin/src/content-manager/pages/EditView/GridRow/index.js +1 -1
  87. package/admin/src/content-manager/pages/EditView/Header/index.js +12 -10
  88. package/admin/src/content-manager/pages/EditView/index.js +2 -7
  89. package/admin/src/content-manager/pages/ListSettingsView/components/CardPreview.js +2 -6
  90. package/admin/src/content-manager/pages/ListSettingsView/components/DraggableCard.js +2 -7
  91. package/admin/src/content-manager/pages/ListSettingsView/components/EditFieldForm.js +8 -7
  92. package/admin/src/content-manager/pages/ListSettingsView/components/Settings.js +10 -6
  93. package/admin/src/content-manager/pages/ListSettingsView/components/SortDisplayedFields.js +10 -7
  94. package/admin/src/content-manager/pages/ListSettingsView/index.js +10 -7
  95. package/admin/src/content-manager/pages/ListSettingsView/utils/api.js +4 -2
  96. package/admin/src/content-manager/pages/ListView/FieldPicker/index.js +1 -2
  97. package/admin/src/content-manager/pages/ListView/PaginationFooter/index.js +1 -2
  98. package/admin/src/content-manager/pages/ListView/index.js +25 -28
  99. package/admin/src/content-manager/pages/NoContentType/index.js +2 -5
  100. package/admin/src/content-manager/pages/NoPermissions/index.js +1 -2
  101. package/admin/src/core/utils/index.js +0 -1
  102. package/admin/src/hooks/useFetchEnabledPlugins/utils/api.js +3 -2
  103. package/admin/src/hooks/useInjectReducer/index.js +1 -0
  104. package/admin/src/hooks/useInjectReducer/useInjectReducer.js +19 -0
  105. package/admin/src/hooks/useMenu/reducer.js +1 -3
  106. package/admin/src/hooks/useRegenerate/index.js +3 -3
  107. package/admin/src/hooks/useRolesList/index.js +5 -3
  108. package/admin/src/index.js +4 -3
  109. package/admin/src/layouts/AppLayout/index.js +1 -3
  110. package/admin/src/layouts/UnauthenticatedLayout/LocaleToggle/index.js +1 -1
  111. package/admin/src/layouts/UnauthenticatedLayout/index.js +1 -2
  112. package/admin/src/pages/Admin/Onboarding/constants.js +46 -0
  113. package/admin/src/pages/Admin/Onboarding/index.js +172 -87
  114. package/admin/src/pages/Admin/index.js +5 -2
  115. package/admin/src/pages/App/index.js +1 -1
  116. package/admin/src/pages/AuthPage/components/FieldActionWrapper/index.js +1 -1
  117. package/admin/src/pages/AuthPage/components/ForgotPassword/index.js +1 -7
  118. package/admin/src/pages/AuthPage/components/ForgotPasswordSuccess/index.js +1 -4
  119. package/admin/src/pages/AuthPage/components/Login/BaseLogin.js +11 -10
  120. package/admin/src/pages/AuthPage/components/Oops/index.js +1 -4
  121. package/admin/src/pages/AuthPage/components/Register/index.js +13 -11
  122. package/admin/src/pages/AuthPage/components/ResetPassword/index.js +2 -9
  123. package/admin/src/pages/HomePage/ContentBlocks.js +2 -5
  124. package/admin/src/pages/HomePage/HomeHeader.js +3 -6
  125. package/admin/src/pages/HomePage/SocialLinks.js +33 -30
  126. package/admin/src/pages/HomePage/index.js +1 -4
  127. package/admin/src/pages/InstalledPluginsPage/Plugins.js +14 -5
  128. package/admin/src/pages/InternalErrorPage/index.js +2 -5
  129. package/admin/src/pages/MarketplacePage/components/EmptyNpmPackageSearch/EmptyNpmPackageGrid.js +1 -2
  130. package/admin/src/pages/MarketplacePage/components/EmptyNpmPackageSearch/index.js +2 -5
  131. package/admin/src/pages/MarketplacePage/components/MissingPluginBanner/index.js +2 -3
  132. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/CardButton.js +2 -4
  133. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/InstallPluginButton.js +2 -4
  134. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/PackageStats.js +2 -7
  135. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/index.js +3 -9
  136. package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/FilterSelect.js +1 -1
  137. package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/FiltersPopover.js +1 -4
  138. package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/index.js +2 -5
  139. package/admin/src/pages/MarketplacePage/components/NpmPackagesGrid/index.js +1 -1
  140. package/admin/src/pages/MarketplacePage/components/PageHeader/index.js +3 -3
  141. package/admin/src/pages/MarketplacePage/components/SortSelect/index.js +1 -2
  142. package/admin/src/pages/MarketplacePage/index.js +15 -8
  143. package/admin/src/pages/NotFoundPage/index.js +2 -5
  144. package/admin/src/pages/ProfilePage/index.js +17 -14
  145. package/admin/src/pages/ProfilePage/utils/api.js +5 -3
  146. package/admin/src/pages/SettingsPage/{pages/Users/ListPage → components}/Filters/index.js +2 -3
  147. package/admin/src/pages/SettingsPage/components/SettingsNav/index.js +16 -3
  148. package/admin/src/pages/SettingsPage/index.js +1 -1
  149. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ActionBoundRoutes/index.js +1 -3
  150. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/BoundRoute/index.js +1 -3
  151. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/CheckBoxWrapper.js +1 -1
  152. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/index.js +13 -8
  153. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ContenTypesSection/index.js +1 -1
  154. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ContentBox/index.js +2 -3
  155. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormApiTokenContainer/index.js +11 -7
  156. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormBody/index.js +1 -2
  157. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormHead/index.js +2 -5
  158. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/LoadingView/index.js +2 -4
  159. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Permissions/index.js +1 -3
  160. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Regenerate/index.js +2 -2
  161. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +7 -6
  162. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/DeleteButton/index.js +2 -3
  163. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/ReadButton/index.js +1 -1
  164. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/UpdateButton/index.js +1 -1
  165. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/index.js +1 -3
  166. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/index.js +6 -7
  167. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/CustomizationInfos/index.js +1 -3
  168. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/index.js +8 -5
  169. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/AddLogoDialog.js +1 -3
  170. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromComputerForm.js +13 -9
  171. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromUrlForm.js +1 -4
  172. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/ImageCardAsset.js +1 -1
  173. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/PendingLogoDialog.js +1 -5
  174. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/index.js +1 -2
  175. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +56 -70
  176. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/api.js +5 -3
  177. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/CollapseLabel/index.js +1 -1
  178. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsButton/index.js +2 -2
  179. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/ActionRow/index.js +1 -4
  180. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/index.js +5 -4
  181. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/index.js +2 -5
  182. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/index.js +1 -2
  183. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/CarretIcon/index.js +1 -1
  184. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/Header/index.js +1 -2
  185. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/SubActionRow/index.js +1 -4
  186. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/index.js +1 -1
  187. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/utils/activeStyle.js +1 -1
  188. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypes/index.js +1 -1
  189. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Curve/index.js +1 -1
  190. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/index.js +1 -4
  191. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/index.js +1 -1
  192. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatLayoutForSettingsAndPlugins.js +12 -16
  193. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/Row/index.js +1 -2
  194. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/index.js +1 -5
  195. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/index.js +1 -1
  196. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RoleForm/index.js +11 -8
  197. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RowLabelWithCheckbox/index.js +1 -4
  198. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/index.js +2 -6
  199. package/admin/src/pages/SettingsPage/pages/Roles/ListPage/components/RoleRow/index.js +1 -5
  200. package/admin/src/pages/SettingsPage/pages/Roles/ListPage/index.js +16 -10
  201. package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +12 -9
  202. package/admin/src/pages/SettingsPage/pages/Users/EditPage/utils/api.js +6 -3
  203. package/admin/src/pages/SettingsPage/pages/Users/ListPage/DynamicTable/TableRows/index.js +11 -8
  204. package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/index.js +18 -10
  205. package/admin/src/pages/SettingsPage/pages/Users/ListPage/PaginationFooter/index.js +1 -2
  206. package/admin/src/pages/SettingsPage/pages/Users/ListPage/index.js +10 -6
  207. package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/api.js +6 -3
  208. package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/tableHeaders.js +1 -2
  209. package/admin/src/pages/SettingsPage/pages/Users/components/MagicLink/MagicLinkWrapper.js +3 -20
  210. package/admin/src/pages/SettingsPage/pages/Users/components/SelectRoles/index.js +5 -4
  211. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/EventRow.js +1 -2
  212. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/index.js +1 -3
  213. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/HeadersInput/Combobox.js +1 -1
  214. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/HeadersInput/index.js +11 -8
  215. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/TriggerContainer/index.js +2 -8
  216. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/WebhookForm/index.js +11 -9
  217. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/index.js +4 -3
  218. package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/index.js +26 -18
  219. package/admin/src/pages/UseCasePage/index.js +12 -9
  220. package/admin/src/permissions/defaultPermissions.js +2 -15
  221. package/admin/src/translations/ar.json +4 -4
  222. package/admin/src/translations/ca.json +4 -4
  223. package/admin/src/translations/cs.json +4 -4
  224. package/admin/src/translations/de.json +4 -4
  225. package/admin/src/translations/dk.json +4 -4
  226. package/admin/src/translations/en.json +17 -10
  227. package/admin/src/translations/es.json +4 -4
  228. package/admin/src/translations/eu.json +796 -0
  229. package/admin/src/translations/fr.json +4 -4
  230. package/admin/src/translations/gu.json +4 -4
  231. package/admin/src/translations/he.json +4 -4
  232. package/admin/src/translations/hi.json +4 -4
  233. package/admin/src/translations/hu.json +4 -4
  234. package/admin/src/translations/id.json +4 -4
  235. package/admin/src/translations/it.json +4 -4
  236. package/admin/src/translations/ja.json +4 -4
  237. package/admin/src/translations/ko.json +4 -4
  238. package/admin/src/translations/languageNativeNames.js +1 -0
  239. package/admin/src/translations/ml.json +4 -4
  240. package/admin/src/translations/ms.json +4 -4
  241. package/admin/src/translations/nl.json +4 -4
  242. package/admin/src/translations/no.json +4 -4
  243. package/admin/src/translations/pl.json +4 -4
  244. package/admin/src/translations/pt-BR.json +4 -4
  245. package/admin/src/translations/pt.json +4 -4
  246. package/admin/src/translations/ru.json +785 -789
  247. package/admin/src/translations/sa.json +4 -4
  248. package/admin/src/translations/sk.json +4 -4
  249. package/admin/src/translations/sv.json +4 -4
  250. package/admin/src/translations/th.json +4 -4
  251. package/admin/src/translations/tr.json +4 -4
  252. package/admin/src/translations/uk.json +4 -4
  253. package/admin/src/translations/vi.json +4 -4
  254. package/admin/src/translations/zh-Hans.json +4 -4
  255. package/admin/src/translations/zh.json +4 -4
  256. package/build/1341.5d48c79b.chunk.js +1 -0
  257. package/build/19eb2dfcf2603eb55733.png +0 -0
  258. package/build/2637.679b590b.chunk.js +1 -0
  259. package/build/4318.9b1ac9bc.chunk.js +30 -0
  260. package/build/4849.7abafe52.chunk.js +98 -0
  261. package/build/6487.83e219bf.chunk.js +14 -0
  262. package/build/{5015.8e3fe50b.chunk.js → 8469.853c822b.chunk.js} +1 -6
  263. package/build/9816.01ee964f.chunk.js +2 -0
  264. package/build/Admin-authenticatedApp.dd16edad.chunk.js +79 -0
  265. package/build/Admin_InternalErrorPage.4ad8b0df.chunk.js +1 -0
  266. package/build/Admin_homePage.4b878f04.chunk.js +72 -0
  267. package/build/Admin_marketplace.a8ea585f.chunk.js +22 -0
  268. package/build/Admin_pluginsPage.15e3b0fd.chunk.js +1 -0
  269. package/build/Admin_profilePage.b27e40f6.chunk.js +15 -0
  270. package/build/Admin_settingsPage.3cd54156.chunk.js +178 -0
  271. package/build/Upload_ConfigureTheView.34dde278.chunk.js +1 -0
  272. package/build/admin-app.3a084127.chunk.js +112 -0
  273. package/build/admin-edit-roles-page.fd041d89.chunk.js +1 -0
  274. package/build/admin-edit-users.08a60ea2.chunk.js +10 -0
  275. package/build/admin-users.74f5629d.chunk.js +11 -0
  276. package/build/{api-tokens-create-page.0e686c30.chunk.js → api-tokens-create-page.a31c7fba.chunk.js} +1 -1
  277. package/build/{api-tokens-edit-page.d6c7487b.chunk.js → api-tokens-edit-page.64fef287.chunk.js} +1 -1
  278. package/build/api-tokens-list-page.370459ba.chunk.js +16 -0
  279. package/build/ar-json.39e54aba.chunk.js +1 -0
  280. package/build/audit-logs-settings-page.bc1784fe.chunk.js +1 -0
  281. package/build/{ca-json.f6a0f472.chunk.js → ca-json.4d999055.chunk.js} +1 -1
  282. package/build/content-manager.d04b738f.chunk.js +1139 -0
  283. package/build/content-type-builder-list-view.c2f917b6.chunk.js +191 -0
  284. package/build/content-type-builder.b7fb1e65.chunk.js +126 -0
  285. package/build/cs-json.4b44411c.chunk.js +1 -0
  286. package/build/{de-json.30e1f35b.chunk.js → de-json.866f8a28.chunk.js} +1 -1
  287. package/build/{dk-json.e6d9ffa4.chunk.js → dk-json.10f7b1d1.chunk.js} +1 -1
  288. package/build/email-settings-page.884cfb8b.chunk.js +3 -0
  289. package/build/en-json.9cada7f3.chunk.js +1 -0
  290. package/build/es-json.ea15c957.chunk.js +1 -0
  291. package/build/eu-json.3bc24d60.chunk.js +1 -0
  292. package/build/{fr-json.78545ef8.chunk.js → fr-json.e88fbdfd.chunk.js} +1 -1
  293. package/build/{gu-json.676518f2.chunk.js → gu-json.94f0d242.chunk.js} +1 -1
  294. package/build/{he-json.ad22e8cc.chunk.js → he-json.f0de8cdb.chunk.js} +1 -1
  295. package/build/{hi-json.19b51c09.chunk.js → hi-json.df3a7be2.chunk.js} +1 -1
  296. package/build/{hu-json.f947088f.chunk.js → hu-json.680e6eef.chunk.js} +1 -1
  297. package/build/i18n-settings-page.c7bc29fc.chunk.js +1 -0
  298. package/build/{id-json.504daa84.chunk.js → id-json.e0d83d41.chunk.js} +1 -1
  299. package/build/index.html +1 -1
  300. package/build/{it-json.2fd90f4d.chunk.js → it-json.8be59205.chunk.js} +1 -1
  301. package/build/{ja-json.c9f12d0b.chunk.js → ja-json.97ee41ba.chunk.js} +1 -1
  302. package/build/{ko-json.ef463065.chunk.js → ko-json.4cbbf4f2.chunk.js} +1 -1
  303. package/build/main.9c01de7f.js +3929 -0
  304. package/build/{ml-json.490f666c.chunk.js → ml-json.e3747091.chunk.js} +1 -1
  305. package/build/ms-json.0eddffd9.chunk.js +1 -0
  306. package/build/{nl-json.c416295a.chunk.js → nl-json.371a15ee.chunk.js} +1 -1
  307. package/build/{no-json.1a2258ba.chunk.js → no-json.9b3cd181.chunk.js} +1 -1
  308. package/build/{pl-json.8cf0c871.chunk.js → pl-json.e535cbce.chunk.js} +1 -1
  309. package/build/{pt-BR-json.51fab8d0.chunk.js → pt-BR-json.e5fafa46.chunk.js} +1 -1
  310. package/build/pt-json.ee554a41.chunk.js +1 -0
  311. package/build/ru-json.866f0ff1.chunk.js +1 -0
  312. package/build/runtime~main.bb1389c9.js +2 -0
  313. package/build/{sa-json.f3fa5407.chunk.js → sa-json.7efeb257.chunk.js} +1 -1
  314. package/build/{sk-json.9ec60d9f.chunk.js → sk-json.7bbeb0af.chunk.js} +1 -1
  315. package/build/sso-settings-page.82d84043.chunk.js +1 -0
  316. package/build/{sv-json.c6b0c237.chunk.js → sv-json.dc40951f.chunk.js} +1 -1
  317. package/build/{th-json.6e68155c.chunk.js → th-json.f664b96d.chunk.js} +1 -1
  318. package/build/{tr-json.9f41dc08.chunk.js → tr-json.b79eae31.chunk.js} +1 -1
  319. package/build/uk-json.b7e38370.chunk.js +1 -0
  320. package/build/upload-settings.c18b010f.chunk.js +1 -0
  321. package/build/upload.0876ab69.chunk.js +13 -0
  322. package/build/users-advanced-settings-page.677e1973.chunk.js +1 -0
  323. package/build/users-email-settings-page.a3c80419.chunk.js +1 -0
  324. package/build/users-providers-settings-page.87a9c77d.chunk.js +1 -0
  325. package/build/users-roles-settings-page.79c19845.chunk.js +30 -0
  326. package/build/vi-json.ee4c5537.chunk.js +1 -0
  327. package/build/webhook-edit-page.cfbdd3fd.chunk.js +23 -0
  328. package/build/webhook-list-page.3daa4fe2.chunk.js +1 -0
  329. package/build/{zh-Hans-json.9c0eac99.chunk.js → zh-Hans-json.30a18940.chunk.js} +1 -1
  330. package/build/{zh-json.f88f563d.chunk.js → zh-json.49d84433.chunk.js} +1 -1
  331. package/ee/admin/pages/AuthPage/components/Login/index.js +1 -5
  332. package/ee/admin/pages/AuthPage/components/Providers/SSOProviders.js +1 -4
  333. package/ee/admin/pages/AuthPage/components/Providers/index.js +1 -8
  334. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/ComboboxFilter/index.js +41 -0
  335. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/ActionBody.js +2 -9
  336. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/ActionItem.js +1 -2
  337. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/index.js +1 -2
  338. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/PaginationFooter/index.js +1 -2
  339. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/TableRows/index.js +3 -6
  340. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/hooks/useAuditLogsData.js +47 -0
  341. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/index.js +30 -31
  342. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/getActionTypesDefaultMessages.js +7 -9
  343. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/getDisplayedFilters.js +88 -0
  344. package/ee/admin/pages/SettingsPage/pages/Roles/CreatePage/index.js +15 -11
  345. package/ee/admin/pages/SettingsPage/pages/Roles/ListPage/index.js +20 -12
  346. package/ee/admin/pages/SettingsPage/pages/SingleSignOn/index.js +15 -9
  347. package/ee/admin/permissions/customPermissions.js +4 -0
  348. package/ee/server/migrations/audit-logs-table.js +45 -0
  349. package/ee/server/register.js +2 -0
  350. package/ee/server/services/audit-logs.js +11 -1
  351. package/package.json +31 -31
  352. package/server/config/admin-actions.js +0 -16
  353. package/server/controllers/admin.js +16 -55
  354. package/server/routes/admin.js +0 -28
  355. package/webpack.alias.js +0 -1
  356. package/webpack.config.js +0 -3
  357. package/admin/src/content-manager/components/InputJSON/FieldWrapper.js +0 -40
  358. package/admin/src/content-manager/components/InputJSON/Label.js +0 -35
  359. package/admin/src/content-manager/components/InputJSON/components.js +0 -36
  360. package/admin/src/content-manager/components/InputJSON/index.js +0 -223
  361. package/admin/src/content-manager/components/InputJSON/jsonlint.js +0 -680
  362. package/admin/src/core/utils/axiosInstance.js +0 -40
  363. package/build/2607.ce06608e.chunk.js +0 -66
  364. package/build/2743.dea372fb.chunk.js +0 -42
  365. package/build/3075.03ebe93d.chunk.js +0 -115
  366. package/build/3632.963ac97d.chunk.js +0 -138
  367. package/build/4318.8cb388a5.chunk.js +0 -30
  368. package/build/4656.a0d43cca.chunk.js +0 -159
  369. package/build/5910.a5374848.chunk.js +0 -209
  370. package/build/8633.4af74a50.chunk.js +0 -1
  371. package/build/9641.a311b612.chunk.js +0 -276
  372. package/build/9707.62831b4d.chunk.js +0 -101
  373. package/build/Admin-authenticatedApp.50dc27f9.chunk.js +0 -75
  374. package/build/Admin_InternalErrorPage.157152a8.chunk.js +0 -1
  375. package/build/Admin_homePage.79ab880c.chunk.js +0 -77
  376. package/build/Admin_marketplace.eabf21b2.chunk.js +0 -26
  377. package/build/Admin_pluginsPage.953e796b.chunk.js +0 -6
  378. package/build/Admin_profilePage.5c2efda5.chunk.js +0 -15
  379. package/build/Admin_settingsPage.19cfb9ca.chunk.js +0 -178
  380. package/build/Upload_ConfigureTheView.3f2b6e6a.chunk.js +0 -1
  381. package/build/admin-app.34295b50.chunk.js +0 -112
  382. package/build/admin-edit-roles-page.d50d9654.chunk.js +0 -1
  383. package/build/admin-edit-users.912b856d.chunk.js +0 -10
  384. package/build/admin-users.e36e7111.chunk.js +0 -11
  385. package/build/api-tokens-list-page.1cd86136.chunk.js +0 -16
  386. package/build/ar-json.932794f7.chunk.js +0 -1
  387. package/build/audit-logs-settings-page.308a6250.chunk.js +0 -1
  388. package/build/codemirror-addon-closebrackets.71aa4bbd.chunk.js +0 -2
  389. package/build/codemirror-addon-lint-js.405f70fb.chunk.js +0 -1
  390. package/build/codemirror-addon-lint.8487ad3d.chunk.js +0 -1
  391. package/build/codemirror-addon-mark-selection.1928c849.chunk.js +0 -1
  392. package/build/codemirror-css.359a2a4b.chunk.js +0 -345
  393. package/build/codemirror-javacript.af237b68.chunk.js +0 -1
  394. package/build/codemirror-theme.2fe63a16.chunk.js +0 -33
  395. package/build/content-manager.851f40ce.chunk.js +0 -1170
  396. package/build/content-type-builder-list-view.4243b2b1.chunk.js +0 -198
  397. package/build/content-type-builder.365b6bf4.chunk.js +0 -125
  398. package/build/cs-json.79879fb6.chunk.js +0 -1
  399. package/build/email-settings-page.379552b1.chunk.js +0 -15
  400. package/build/en-json.38d182e5.chunk.js +0 -1
  401. package/build/es-json.e275481d.chunk.js +0 -1
  402. package/build/i18n-settings-page.3ab28b1a.chunk.js +0 -65
  403. package/build/main.9f31732e.js +0 -4454
  404. package/build/ms-json.db87d8d3.chunk.js +0 -1
  405. package/build/pt-json.62927d1e.chunk.js +0 -1
  406. package/build/ru-json.3b411a39.chunk.js +0 -1
  407. package/build/runtime~main.2b8e2318.js +0 -2
  408. package/build/sso-settings-page.b64a44e8.chunk.js +0 -41
  409. package/build/uk-json.b2fcd567.chunk.js +0 -1
  410. package/build/upload-settings.6c26ff37.chunk.js +0 -89
  411. package/build/upload.2c69d238.chunk.js +0 -38
  412. package/build/users-advanced-settings-page.c4270682.chunk.js +0 -13
  413. package/build/users-email-settings-page.60422a2f.chunk.js +0 -28
  414. package/build/users-providers-settings-page.e1834060.chunk.js +0 -104
  415. package/build/users-roles-settings-page.3ef35132.chunk.js +0 -30
  416. package/build/vi-json.f08d7d03.chunk.js +0 -1
  417. package/build/webhook-edit-page.c0080dc1.chunk.js +0 -75
  418. 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 { HeaderLayout, ContentLayout } from '@strapi/design-system/Layout';
13
- import { Main } from '@strapi/design-system/Main';
14
- import { useLocation } from 'react-router-dom';
15
- import { useQuery } from 'react-query';
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 fetchAuditLogsPage = async ({ queryKey }) => {
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={data?.results || []}
80
+ rows={auditLogs?.results || []}
82
81
  withBulkActions
83
82
  isLoading={isLoading}
84
83
  >
85
84
  <TableRows
86
85
  headers={headers}
87
- rows={data?.results || []}
86
+ rows={auditLogs?.results || []}
88
87
  onOpenModal={(id) => setQuery({ id })}
89
88
  />
90
89
  </DynamicTable>
91
- <PaginationFooter pagination={data?.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>
@@ -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 { Box } from '@strapi/design-system/Box';
15
- import { Button } from '@strapi/design-system/Button';
16
- import { ContentLayout, HeaderLayout } from '@strapi/design-system/Layout';
17
- import { Grid, GridItem } from '@strapi/design-system/Grid';
18
- import { Main } from '@strapi/design-system/Main';
19
- import { Flex } from '@strapi/design-system/Flex';
20
- import { Stack } from '@strapi/design-system/Stack';
21
- import { Typography } from '@strapi/design-system/Typography';
22
- import { TextInput } from '@strapi/design-system/TextInput';
23
- import { Textarea } from '@strapi/design-system/Textarea';
24
- import ArrowLeft from '@strapi/icons/ArrowLeft';
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/Plus';
13
- import Trash from '@strapi/icons/Trash';
14
- import Duplicate from '@strapi/icons/Duplicate';
15
- import Pencil from '@strapi/icons/Pencil';
16
- import { Button } from '@strapi/design-system/Button';
17
- import { ActionLayout, ContentLayout, HeaderLayout } from '@strapi/design-system/Layout';
18
- import { VisuallyHidden } from '@strapi/design-system/VisuallyHidden';
19
- import { Main } from '@strapi/design-system/Main';
20
- import { Table, Tbody, TFooter, Thead, Th, Tr } from '@strapi/design-system/Table';
21
- import { Typography } from '@strapi/design-system/Typography';
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 axiosInstance.post('/admin/roles/batch-delete', {
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/Check';
10
- import { ContentLayout, HeaderLayout, Layout } from '@strapi/design-system/Layout';
11
- import { Button } from '@strapi/design-system/Button';
12
- import { Main } from '@strapi/design-system/Main';
13
- import { Stack } from '@strapi/design-system/Stack';
14
- import { Typography } from '@strapi/design-system/Typography';
15
- import { ToggleInput } from '@strapi/design-system/ToggleInput';
16
- import { Select, Option } from '@strapi/design-system/Select';
17
- import { Grid, GridItem } from '@strapi/design-system/Grid';
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;
@@ -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: strapi.requestContext.get()?.state?.user?.id,
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.0",
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.18.10",
42
- "@babel/plugin-transform-runtime": "7.18.10",
43
- "@babel/preset-env": "7.18.10",
44
- "@babel/preset-react": "7.18.6",
45
- "@babel/runtime": "7.18.9",
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.0",
50
- "@strapi/data-transfer": "4.6.0",
51
- "@strapi/design-system": "1.6.1",
52
- "@strapi/helper-plugin": "4.6.0",
53
- "@strapi/icons": "1.6.1",
54
- "@strapi/permissions": "4.6.0",
55
- "@strapi/provider-audit-logs-local": "4.6.0",
56
- "@strapi/typescript-utils": "4.6.0",
57
- "@strapi/utils": "4.6.0",
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": "8.2.5",
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.2",
67
+ "css-loader": "^6.7.3",
68
68
  "date-fns": "2.29.3",
69
69
  "dotenv": "8.5.1",
70
- "esbuild-loader": "^2.20.0",
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": "3.1.2",
81
+ "html-loader": "^4.2.0",
81
82
  "html-webpack-plugin": "5.5.0",
82
- "immer": "9.0.15",
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.4.4",
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": "5.25.1",
117
+ "react-intl": "6.2.8",
119
118
  "react-is": "^17.0.2",
120
119
  "react-query": "3.24.3",
121
- "react-redux": "7.2.8",
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.0.1",
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.74.0",
136
- "webpack-cli": "^4.10.0",
137
- "webpack-dev-server": "^4.9.3",
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.6.1"
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": "a9e55435c489f3379d88565bf3f729deb29bfb45"
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',