@strapi/admin 4.3.2 → 4.3.5

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 (546) hide show
  1. package/admin/src/StrapiApp.js +23 -23
  2. package/admin/src/components/AuthenticatedApp/index.js +15 -12
  3. package/admin/src/components/AuthenticatedApp/utils/api.js +1 -1
  4. package/admin/src/components/AutoReloadOverlayBlockerProvider/index.js +8 -6
  5. package/admin/src/components/ConfigurationsProvider/index.js +21 -12
  6. package/admin/src/components/ConfigurationsProvider/reducer.js +1 -1
  7. package/admin/src/components/GuidedTour/Homepage/components/Stepper.js +1 -1
  8. package/admin/src/components/GuidedTour/Homepage/index.js +2 -2
  9. package/admin/src/components/GuidedTour/Modal/components/Content.js +6 -6
  10. package/admin/src/components/GuidedTour/Modal/components/Modal.js +1 -1
  11. package/admin/src/components/GuidedTour/Modal/index.js +2 -4
  12. package/admin/src/components/GuidedTour/Modal/reducer.js +1 -1
  13. package/admin/src/components/GuidedTour/index.js +4 -4
  14. package/admin/src/components/GuidedTour/init.js +2 -2
  15. package/admin/src/components/GuidedTour/reducer.js +1 -1
  16. package/admin/src/components/GuidedTour/utils/isGuidedTourCompleted.js +1 -1
  17. package/admin/src/components/GuidedTour/utils/persistStateToLocaleStorage.js +4 -4
  18. package/admin/src/components/LanguageProvider/index.js +1 -1
  19. package/admin/src/components/LanguageProvider/init.js +1 -1
  20. package/admin/src/components/LeftMenu/index.js +6 -6
  21. package/admin/src/components/Notifications/Notification/index.js +3 -4
  22. package/admin/src/components/Notifications/index.js +2 -2
  23. package/admin/src/components/Notifications/reducer.js +2 -2
  24. package/admin/src/components/PluginsInitializer/index.js +4 -2
  25. package/admin/src/components/PluginsInitializer/init.js +1 -1
  26. package/admin/src/components/PluginsInitializer/reducer.js +1 -1
  27. package/admin/src/components/PrivateRoute/index.js +1 -1
  28. package/admin/src/components/RBACProvider/actions.js +1 -1
  29. package/admin/src/components/RBACProvider/index.js +1 -1
  30. package/admin/src/components/RBACProvider/reducer.js +2 -2
  31. package/admin/src/components/ThemeToggleProvider/index.js +1 -1
  32. package/admin/src/components/UpgradePlanModal/index.js +1 -1
  33. package/admin/src/content-manager/components/AttributeFilter/Filters.js +1 -1
  34. package/admin/src/content-manager/components/AttributeFilter/hooks/useAllowedAttributes.js +1 -1
  35. package/admin/src/content-manager/components/AttributeFilter/index.js +4 -2
  36. package/admin/src/content-manager/components/Block/index.js +1 -1
  37. package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +7 -12
  38. package/admin/src/content-manager/components/DragLayer/index.js +1 -1
  39. package/admin/src/content-manager/components/DynamicTable/CellContent/CellValue.js +3 -5
  40. package/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/index.js +1 -1
  41. package/admin/src/content-manager/components/DynamicTable/CellContent/RepeatableComponent/index.js +1 -1
  42. package/admin/src/content-manager/components/DynamicTable/TableRows/index.js +4 -4
  43. package/admin/src/content-manager/components/DynamicTable/index.js +25 -4
  44. package/admin/src/content-manager/components/DynamicZone/components/AddComponentButton/index.js +18 -20
  45. package/admin/src/content-manager/components/DynamicZone/components/Component/index.js +1 -1
  46. package/admin/src/content-manager/components/DynamicZone/components/ComponentPicker/Category/ComponentCard/index.js +1 -1
  47. package/admin/src/content-manager/components/DynamicZone/components/ComponentPicker/index.js +3 -3
  48. package/admin/src/content-manager/components/DynamicZone/index.js +10 -10
  49. package/admin/src/content-manager/components/DynamicZone/utils/connect.js +1 -1
  50. package/admin/src/content-manager/components/DynamicZone/utils/select.js +1 -1
  51. package/admin/src/content-manager/components/EditViewDataManagerProvider/index.js +6 -6
  52. package/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +1 -1
  53. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/cleanData.js +4 -4
  54. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/schema.js +18 -18
  55. package/admin/src/content-manager/components/FieldComponent/utils/connect.js +1 -1
  56. package/admin/src/content-manager/components/FieldComponent/utils/select.js +6 -6
  57. package/admin/src/content-manager/components/FormTitle/index.js +1 -1
  58. package/admin/src/content-manager/components/InjectionZoneList/index.js +1 -1
  59. package/admin/src/content-manager/components/InputJSON/index.js +5 -6
  60. package/admin/src/content-manager/components/InputJSON/jsonlint.js +13 -13
  61. package/admin/src/content-manager/components/InputUID/index.js +1 -1
  62. package/admin/src/content-manager/components/InputUID/regex.js +1 -1
  63. package/admin/src/content-manager/components/Inputs/index.js +32 -5
  64. package/admin/src/content-manager/components/Inputs/utils/connect.js +1 -1
  65. package/admin/src/content-manager/components/Inputs/utils/generateOptions.js +1 -1
  66. package/admin/src/content-manager/components/Inputs/utils/getStep.js +1 -5
  67. package/admin/src/content-manager/components/LayoutDndProvider/index.js +6 -6
  68. package/admin/src/content-manager/components/NonRepeatableComponent/index.js +4 -4
  69. package/admin/src/content-manager/components/PreviewWysiwyg/utils/mdRenderer.js +1 -1
  70. package/admin/src/content-manager/components/PreviewWysiwyg/utils/satinizeHtml.js +1 -1
  71. package/admin/src/content-manager/components/RepeatableComponent/AccordionGroupCustom/index.js +1 -1
  72. package/admin/src/content-manager/components/RepeatableComponent/DraggedItem/index.js +9 -15
  73. package/admin/src/content-manager/components/RepeatableComponent/DraggedItem/utils/connect.js +1 -1
  74. package/admin/src/content-manager/components/RepeatableComponent/index.js +5 -5
  75. package/admin/src/content-manager/components/RepeatableComponent/utils/connect.js +1 -1
  76. package/admin/src/content-manager/components/RepeatableComponent/utils/getComponentErrorKeys.js +2 -2
  77. package/admin/src/content-manager/components/SectionTitle/index.js +1 -1
  78. package/admin/src/content-manager/components/SelectMany/ListItem.js +1 -1
  79. package/admin/src/content-manager/components/SelectMany/index.js +1 -1
  80. package/admin/src/content-manager/components/SelectOne/SingleValue.js +1 -1
  81. package/admin/src/content-manager/components/SelectWrapper/Option.js +1 -1
  82. package/admin/src/content-manager/components/SelectWrapper/index.js +16 -26
  83. package/admin/src/content-manager/components/SelectWrapper/utils/connect.js +1 -1
  84. package/admin/src/content-manager/components/SingleTypeFormWrapper/index.js +6 -11
  85. package/admin/src/content-manager/components/SingleTypeFormWrapper/utils/getRequestUrl.js +1 -1
  86. package/admin/src/content-manager/components/Wysiwyg/Editor.js +1 -1
  87. package/admin/src/content-manager/components/Wysiwyg/EditorLayout.js +1 -1
  88. package/admin/src/content-manager/components/Wysiwyg/WysiwygFooter.js +1 -1
  89. package/admin/src/content-manager/components/Wysiwyg/WysiwygNav.js +4 -4
  90. package/admin/src/content-manager/components/Wysiwyg/index.js +5 -5
  91. package/admin/src/content-manager/components/Wysiwyg/utils/utils.js +4 -4
  92. package/admin/src/content-manager/hooks/useContentTypeLayout/index.js +1 -1
  93. package/admin/src/content-manager/hooks/useFetchContentTypeLayout/index.js +3 -3
  94. package/admin/src/content-manager/hooks/useFetchContentTypeLayout/reducer.js +1 -1
  95. package/admin/src/content-manager/hooks/useFetchContentTypeLayout/utils/formatLayouts.js +7 -7
  96. package/admin/src/content-manager/hooks/useFindRedirectionLink/index.js +1 -1
  97. package/admin/src/content-manager/hooks/useFindRedirectionLink/selectors.js +1 -1
  98. package/admin/src/content-manager/hooks/useSyncRbac/reducer.js +1 -1
  99. package/admin/src/content-manager/hooks/useSyncRbac/selectors.js +2 -2
  100. package/admin/src/content-manager/pages/App/LeftMenu/index.js +8 -8
  101. package/admin/src/content-manager/pages/App/index.js +3 -3
  102. package/admin/src/content-manager/pages/App/reducer.js +1 -1
  103. package/admin/src/content-manager/pages/App/selectors.js +4 -4
  104. package/admin/src/content-manager/pages/App/useModels.js +1 -1
  105. package/admin/src/content-manager/pages/App/utils/generateModelsLinks.js +2 -2
  106. package/admin/src/content-manager/pages/CollectionTypeRecursivePath/index.js +1 -1
  107. package/admin/src/content-manager/pages/ComponentSetttingsView/index.js +2 -2
  108. package/admin/src/content-manager/pages/EditSettingsView/components/ComponentFieldList.js +1 -1
  109. package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFieldButton.js +5 -5
  110. package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFields.js +1 -1
  111. package/admin/src/content-manager/pages/EditSettingsView/components/DynamicZoneList.js +1 -1
  112. package/admin/src/content-manager/pages/EditSettingsView/components/GenericInput.js +3 -3
  113. package/admin/src/content-manager/pages/EditSettingsView/components/ModalForm.js +36 -5
  114. package/admin/src/content-manager/pages/EditSettingsView/components/RelationalFieldButton.js +3 -3
  115. package/admin/src/content-manager/pages/EditSettingsView/components/RelationalFields.js +1 -1
  116. package/admin/src/content-manager/pages/EditSettingsView/index.js +21 -21
  117. package/admin/src/content-manager/pages/EditSettingsView/reducer.js +1 -1
  118. package/admin/src/content-manager/pages/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js +2 -2
  119. package/admin/src/content-manager/pages/EditSettingsView/utils/getInputProps.js +1 -1
  120. package/admin/src/content-manager/pages/EditSettingsView/utils/layout.js +12 -12
  121. package/admin/src/content-manager/pages/EditView/DeleteLink/index.js +1 -1
  122. package/admin/src/content-manager/pages/EditView/DeleteLink/utils/connect.js +1 -1
  123. package/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/utils/connect.js +1 -1
  124. package/admin/src/content-manager/pages/EditView/Header/index.js +4 -4
  125. package/admin/src/content-manager/pages/EditView/Header/utils/connect.js +1 -1
  126. package/admin/src/content-manager/pages/EditView/Header/utils/getDraftRelations.js +3 -3
  127. package/admin/src/content-manager/pages/EditView/Informations/utils/getUnits.js +1 -1
  128. package/admin/src/content-manager/pages/EditView/index.js +7 -10
  129. package/admin/src/content-manager/pages/EditView/utils/createAttributesLayout.js +2 -2
  130. package/admin/src/content-manager/pages/EditView/utils/getFieldsActionMatchingPermissions.js +1 -1
  131. package/admin/src/content-manager/pages/EditViewLayoutManager/Permissions.js +1 -1
  132. package/admin/src/content-manager/pages/EditViewLayoutManager/reducer.js +1 -1
  133. package/admin/src/content-manager/pages/EditViewLayoutManager/selectors.js +1 -1
  134. package/admin/src/content-manager/pages/ListSettingsView/components/DraggableCard.js +6 -6
  135. package/admin/src/content-manager/pages/ListSettingsView/components/EditFieldForm.js +4 -3
  136. package/admin/src/content-manager/pages/ListSettingsView/components/Settings.js +9 -9
  137. package/admin/src/content-manager/pages/ListSettingsView/components/SortDisplayedFields.js +2 -2
  138. package/admin/src/content-manager/pages/ListSettingsView/index.js +9 -9
  139. package/admin/src/content-manager/pages/ListSettingsView/reducer.js +1 -1
  140. package/admin/src/content-manager/pages/ListSettingsView/utils/ellipsisCardTitle.js +1 -1
  141. package/admin/src/content-manager/pages/ListView/FieldPicker/index.js +8 -7
  142. package/admin/src/content-manager/pages/ListView/FieldPicker/utils/getAllAllowedHeader.js +1 -1
  143. package/admin/src/content-manager/pages/ListView/actions.js +1 -1
  144. package/admin/src/content-manager/pages/ListView/index.js +3 -3
  145. package/admin/src/content-manager/pages/ListView/reducer.js +2 -2
  146. package/admin/src/content-manager/pages/ListView/selectors.js +3 -3
  147. package/admin/src/content-manager/pages/ListView/utils/createPluginsFilter.js +1 -1
  148. package/admin/src/content-manager/pages/ListViewLayoutManager/Permissions.js +2 -2
  149. package/admin/src/content-manager/sharedReducers/crudReducer/actions.js +3 -3
  150. package/admin/src/content-manager/sharedReducers/crudReducer/reducer.js +1 -1
  151. package/admin/src/content-manager/sharedReducers/crudReducer/selectors.js +1 -1
  152. package/admin/src/content-manager/utils/checkIfAttributeIsDisplayable.js +1 -1
  153. package/admin/src/content-manager/utils/formatLayoutToApi.js +2 -2
  154. package/admin/src/content-manager/utils/generatePermissionsObject.js +3 -2
  155. package/admin/src/content-manager/utils/getFieldName.js +2 -2
  156. package/admin/src/content-manager/utils/getMaxTempKey.js +2 -2
  157. package/admin/src/content-manager/utils/getRequestUrl.js +1 -1
  158. package/admin/src/content-manager/utils/getTrad.js +1 -1
  159. package/admin/src/content-manager/utils/mergeMetasWithSchema.js +2 -2
  160. package/admin/src/content-manager/utils/removeKeyInObject.js +1 -1
  161. package/admin/src/content-manager/utils/removePasswordFieldsFromData.js +2 -2
  162. package/admin/src/core/apis/Plugin.js +1 -1
  163. package/admin/src/core/store/configureStore.js +1 -1
  164. package/admin/src/core/store/createReducer.js +1 -1
  165. package/admin/src/core/utils/axiosInstance.js +4 -4
  166. package/admin/src/core/utils/createHook.js +2 -2
  167. package/admin/src/hooks/useFetchEnabledPlugins/index.js +3 -3
  168. package/admin/src/hooks/useFetchMarketplacePlugins/index.js +3 -3
  169. package/admin/src/hooks/useFetchMarketplacePlugins/utils/api.js +1 -1
  170. package/admin/src/hooks/useFetchMarketplaceProviders/index.js +3 -3
  171. package/admin/src/hooks/useFetchPermissionsLayout/index.js +1 -1
  172. package/admin/src/hooks/useFetchPermissionsLayout/reducer.js +1 -1
  173. package/admin/src/hooks/useFetchRole/index.js +4 -4
  174. package/admin/src/hooks/useFetchRole/reducer.js +1 -1
  175. package/admin/src/hooks/useMenu/reducer.js +1 -1
  176. package/admin/src/hooks/useMenu/utils/getGeneralLinks.js +3 -1
  177. package/admin/src/hooks/useModels/index.js +1 -1
  178. package/admin/src/hooks/useModels/reducer.js +3 -3
  179. package/admin/src/hooks/useRolesList/reducer.js +1 -1
  180. package/admin/src/hooks/useSettingsForm/index.js +2 -2
  181. package/admin/src/hooks/useSettingsForm/reducer.js +1 -1
  182. package/admin/src/hooks/useSettingsMenu/index.js +2 -2
  183. package/admin/src/hooks/useSettingsMenu/init.js +1 -1
  184. package/admin/src/hooks/useSettingsMenu/reducer.js +3 -3
  185. package/admin/src/hooks/useSettingsMenu/utils/formatLinks.js +3 -3
  186. package/admin/src/hooks/useSettingsMenu/utils/sortLinks.js +1 -1
  187. package/admin/src/index.js +1 -1
  188. package/admin/src/layouts/UnauthenticatedLayout/LocaleToggle/index.js +1 -1
  189. package/admin/src/pages/Admin/Onboarding/index.js +2 -2
  190. package/admin/src/pages/Admin/index.js +2 -2
  191. package/admin/src/pages/App/index.js +13 -5
  192. package/admin/src/pages/App/reducer.js +1 -1
  193. package/admin/src/pages/AuthPage/components/ForgotPassword/index.js +1 -1
  194. package/admin/src/pages/AuthPage/components/Login/BaseLogin.js +4 -4
  195. package/admin/src/pages/AuthPage/components/Login/index.js +2 -2
  196. package/admin/src/pages/AuthPage/components/Register/index.js +6 -6
  197. package/admin/src/pages/AuthPage/components/ResetPassword/index.js +5 -5
  198. package/admin/src/pages/AuthPage/init.js +1 -1
  199. package/admin/src/pages/AuthPage/reducer.js +1 -1
  200. package/admin/src/pages/AuthPage/utils/forms.js +2 -8
  201. package/admin/src/pages/HomePage/ContentBlocks.js +1 -1
  202. package/admin/src/pages/HomePage/SocialLinks.js +1 -1
  203. package/admin/src/pages/HomePage/index.js +3 -3
  204. package/admin/src/pages/InstalledPluginsPage/Plugins.js +1 -1
  205. package/admin/src/pages/MarketplacePage/components/NpmPackagesGrid/index.js +2 -2
  206. package/admin/src/pages/MarketplacePage/index.js +6 -10
  207. package/admin/src/pages/ProfilePage/index.js +20 -23
  208. package/admin/src/pages/ProfilePage/utils/api.js +1 -1
  209. package/admin/src/pages/SettingsPage/components/SettingsNav/index.js +4 -4
  210. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +2 -2
  211. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/index.js +8 -6
  212. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/index.js +25 -13
  213. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/utils/tableHeaders.js +16 -4
  214. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/Form/index.js +1 -1
  215. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/Form/reducer.js +1 -1
  216. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/index.js +1 -1
  217. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/reducer.js +1 -1
  218. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromComputerForm.js +1 -1
  219. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromUrlForm.js +2 -2
  220. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/index.js +1 -1
  221. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/reducer.js +1 -1
  222. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +4 -4
  223. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/api.js +1 -1
  224. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/getFormData.js +1 -1
  225. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/parseFileMetadatas.js +4 -4
  226. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/prefixAllUrls.js +1 -1
  227. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/urlToFile.js +1 -1
  228. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/ActionRow/index.js +4 -4
  229. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/index.js +2 -2
  230. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/index.js +5 -8
  231. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/utils/generateCheckboxesActions.js +1 -1
  232. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/index.js +3 -3
  233. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/utils/getRowLabelCheckboxeState.js +1 -1
  234. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/Header/index.js +1 -1
  235. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/SubActionRow/index.js +8 -12
  236. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/utils/generateHeadersFromActions.js +1 -1
  237. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/utils/activeStyle.js +1 -1
  238. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/utils/getAvailableActions.js +1 -1
  239. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapses/index.js +1 -1
  240. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Curve/index.js +1 -1
  241. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/index.js +1 -1
  242. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/findDisplayedActions.js +1 -1
  243. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/getRowLabelCheckboxesState.js +2 -2
  244. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/index.js +9 -8
  245. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/reducer.js +4 -4
  246. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultCTFormFromLayout.js +1 -1
  247. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/findMatchingPermissions.js +1 -1
  248. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatContentTypesPermissionToAPI.js +2 -2
  249. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatLayoutForSettingsAndPlugins.js +1 -1
  250. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatPermissionsToAPI.js +1 -1
  251. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatSettingsPermissionsToAPI.js +4 -4
  252. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateConditionsToFalse.js +2 -2
  253. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/index.js +5 -8
  254. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/formatActions.js +2 -2
  255. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/getConditionsButtonState.js +2 -2
  256. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/index.js +1 -1
  257. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RoleForm/index.js +67 -69
  258. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RowLabelWithCheckbox/index.js +4 -3
  259. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/createArrayOfValues.js +2 -2
  260. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/getCheckboxState.js +3 -3
  261. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/removeConditionKeyFromData.js +1 -1
  262. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/index.js +58 -60
  263. package/admin/src/pages/SettingsPage/pages/Roles/ListPage/index.js +6 -10
  264. package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +3 -3
  265. package/admin/src/pages/SettingsPage/pages/Users/EditPage/utils/api.js +1 -1
  266. package/admin/src/pages/SettingsPage/pages/Users/ListPage/DynamicTable/TableRows/index.js +4 -4
  267. package/admin/src/pages/SettingsPage/pages/Users/ListPage/Filters/index.js +1 -1
  268. package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/index.js +8 -8
  269. package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/utils/schema.js +2 -8
  270. package/admin/src/pages/SettingsPage/pages/Users/ListPage/index.js +17 -11
  271. package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/api.js +1 -1
  272. package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/tableHeaders.js +46 -14
  273. package/admin/src/pages/SettingsPage/pages/Users/components/SelectRoles/index.js +2 -2
  274. package/admin/src/pages/SettingsPage/pages/Users/utils/validations/users/profile.js +1 -5
  275. package/admin/src/pages/SettingsPage/pages/Users/utils/validations/users/roles.js +1 -4
  276. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/EventRow.js +5 -5
  277. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/index.js +4 -4
  278. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/utils/formatValue.js +1 -1
  279. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/HeadersInput/Combobox.js +4 -4
  280. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/TriggerContainer/index.js +1 -1
  281. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/utils/fieldsRegex.js +2 -2
  282. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/utils/schema.js +1 -1
  283. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/index.js +9 -9
  284. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/reducer.js +2 -2
  285. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/utils/formatData.js +2 -2
  286. package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/index.js +6 -6
  287. package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/reducer.js +4 -4
  288. package/admin/src/pages/SettingsPage/utils/createSectionsRoutes.js +3 -3
  289. package/admin/src/pages/SettingsPage/utils/defaultRoutes.js +12 -12
  290. package/admin/src/pages/SettingsPage/utils/getSectionsToDisplay.js +2 -2
  291. package/admin/src/pages/UseCasePage/index.js +2 -2
  292. package/admin/src/shared/components/InjectionZone/index.js +1 -1
  293. package/admin/src/shared/hooks/useInjectionZone/index.js +1 -1
  294. package/admin/src/translations/ca.json +4 -4
  295. package/admin/src/translations/de.json +4 -4
  296. package/admin/src/translations/dk.json +4 -4
  297. package/admin/src/translations/en.json +16 -15
  298. package/admin/src/translations/es.json +163 -6
  299. package/admin/src/translations/fr.json +4 -4
  300. package/admin/src/translations/gu.json +4 -4
  301. package/admin/src/translations/he.json +3 -3
  302. package/admin/src/translations/hi.json +4 -4
  303. package/admin/src/translations/hu.json +4 -4
  304. package/admin/src/translations/id.json +4 -4
  305. package/admin/src/translations/it.json +4 -4
  306. package/admin/src/translations/ja.json +4 -4
  307. package/admin/src/translations/ko.json +4 -4
  308. package/admin/src/translations/ml.json +4 -4
  309. package/admin/src/translations/nl.json +4 -4
  310. package/admin/src/translations/no.json +3 -3
  311. package/admin/src/translations/pl.json +4 -4
  312. package/admin/src/translations/pt-BR.json +177 -24
  313. package/admin/src/translations/ru.json +4 -4
  314. package/admin/src/translations/sa.json +4 -4
  315. package/admin/src/translations/sk.json +4 -4
  316. package/admin/src/translations/sv.json +665 -11
  317. package/admin/src/translations/th.json +3 -3
  318. package/admin/src/translations/zh-Hans.json +12 -15
  319. package/admin/src/translations/zh.json +4 -4
  320. package/admin/src/utils/getAttributesToDisplay.js +1 -1
  321. package/admin/src/utils/getExistingActions.js +2 -2
  322. package/admin/src/utils/getFullName.js +1 -1
  323. package/admin/src/utils/getRequestUrl.js +1 -1
  324. package/admin/src/utils/makeUniqueRoutes.js +2 -2
  325. package/admin/src/utils/sortLinks.js +1 -1
  326. package/build/{1669.341e10d8.chunk.js → 1669.4ce92b2f.chunk.js} +1 -1
  327. package/build/{1856.6a94980b.chunk.js → 1856.d3da2fcd.chunk.js} +18 -17
  328. package/build/{2077.5456ccd1.chunk.js → 2077.b25a0b57.chunk.js} +6 -5
  329. package/build/2912.da8a70aa.chunk.js +258 -0
  330. package/build/{4715.a6e62860.chunk.js → 4715.3787be19.chunk.js} +20 -19
  331. package/build/4982.a4e36c9a.chunk.js +314 -0
  332. package/build/611.aa894d27.chunk.js +158 -0
  333. package/build/6925.f5c8b6fc.chunk.js +761 -0
  334. package/build/7841.922b96eb.chunk.js +258 -0
  335. package/build/7866.22e3c9f8.chunk.js +504 -0
  336. package/build/8380.ab3939f3.chunk.js +284 -0
  337. package/build/8469.41c8d25f.chunk.js +1 -0
  338. package/build/8549.0e30f86d.chunk.js +158 -0
  339. package/build/8773.4e36117f.chunk.js +325 -0
  340. package/build/{8655.9073e17e.chunk.js → 9166.280c7521.chunk.js} +62 -60
  341. package/build/9420.ee1ccff7.chunk.js +504 -0
  342. package/build/Admin-authenticatedApp.a8659dc6.chunk.js +80 -0
  343. package/build/Admin_InternalErrorPage.12e24216.chunk.js +1 -0
  344. package/build/{Admin_marketplace.8efd3fd0.chunk.js → Admin_marketplace.2d181ad7.chunk.js} +1 -1
  345. package/build/Admin_pluginsPage.4d59785a.chunk.js +1 -0
  346. package/build/Admin_profilePage.8617313a.chunk.js +15 -0
  347. package/build/Admin_settingsPage.e58753c8.chunk.js +178 -0
  348. package/build/admin-app.05edc328.chunk.js +112 -0
  349. package/build/admin-edit-roles-page.554ba3fa.chunk.js +1 -0
  350. package/build/admin-edit-users.5bebf473.chunk.js +10 -0
  351. package/build/admin-users.1d0aa7a0.chunk.js +11 -0
  352. package/build/{api-tokens-create-page.442e3be0.chunk.js → api-tokens-create-page.b4a9987d.chunk.js} +1 -1
  353. package/build/{api-tokens-edit-page.5f34eec7.chunk.js → api-tokens-edit-page.6f5b4e26.chunk.js} +1 -1
  354. package/build/api-tokens-list-page.06938769.chunk.js +15 -0
  355. package/build/ca-json.d16c1d28.chunk.js +1 -0
  356. package/build/content-manager.62390771.chunk.js +1178 -0
  357. package/build/content-type-builder-list-view.76a69473.chunk.js +194 -0
  358. package/build/content-type-builder-translation-pt-BR-json.d6c7fcc1.chunk.js +1 -0
  359. package/build/content-type-builder.42cecba9.chunk.js +142 -0
  360. package/build/de-json.a9b514dc.chunk.js +1 -0
  361. package/build/dk-json.09e8d145.chunk.js +1 -0
  362. package/build/en-json.1bf20384.chunk.js +1 -0
  363. package/build/es-json.bb1fc425.chunk.js +1 -0
  364. package/build/fr-json.a3cf2e0b.chunk.js +1 -0
  365. package/build/gu-json.d8311297.chunk.js +1 -0
  366. package/build/he-json.3b825d80.chunk.js +1 -0
  367. package/build/hi-json.0edb8d29.chunk.js +1 -0
  368. package/build/hu-json.7855529a.chunk.js +1 -0
  369. package/build/i18n-settings-page.bf1304b0.chunk.js +101 -0
  370. package/build/i18n-translation-fr-json.b401aa34.chunk.js +1 -0
  371. package/build/id-json.df9618f2.chunk.js +1 -0
  372. package/build/index.html +1 -1
  373. package/build/it-json.a21bf078.chunk.js +1 -0
  374. package/build/ja-json.7b0d9067.chunk.js +1 -0
  375. package/build/ko-json.983c1f8f.chunk.js +1 -0
  376. package/build/main.f220d4d1.js +9321 -0
  377. package/build/ml-json.8dd021c8.chunk.js +1 -0
  378. package/build/nl-json.29d2eb37.chunk.js +1 -0
  379. package/build/no-json.40386397.chunk.js +1 -0
  380. package/build/pl-json.1f04f00c.chunk.js +1 -0
  381. package/build/pt-BR-json.b4bc8efe.chunk.js +1 -0
  382. package/build/ru-json.7ab40ccf.chunk.js +1 -0
  383. package/build/{runtime~main.1601a98c.js → runtime~main.a3bde347.js} +2 -2
  384. package/build/sa-json.c5a9f4ea.chunk.js +1 -0
  385. package/build/sk-json.e4c24c4e.chunk.js +1 -0
  386. package/build/sv-json.c3f471ae.chunk.js +1 -0
  387. package/build/th-json.a59ffb32.chunk.js +1 -0
  388. package/build/{upload-settings.4bad0bdd.chunk.js → upload-settings.5dfe0fe2.chunk.js} +1 -1
  389. package/build/upload-translation-ca-json.00dc1f33.chunk.js +1 -0
  390. package/build/upload-translation-de-json.00cbbc08.chunk.js +1 -0
  391. package/build/upload-translation-dk-json.c787a6be.chunk.js +1 -0
  392. package/build/upload-translation-en-json.004a86c1.chunk.js +1 -0
  393. package/build/upload-translation-es-json.0f90db48.chunk.js +1 -0
  394. package/build/upload-translation-ko-json.392002fb.chunk.js +1 -0
  395. package/build/upload-translation-pl-json.136eedb6.chunk.js +1 -0
  396. package/build/{upload-translation-th-json.64dd70ce.chunk.js → upload-translation-th-json.9e1fda51.chunk.js} +1 -1
  397. package/build/upload.7084cea6.chunk.js +7 -0
  398. package/build/{users-advanced-settings-page.f38654fc.chunk.js → users-advanced-settings-page.f11c8af4.chunk.js} +1 -1
  399. package/build/users-email-settings-page.73c41236.chunk.js +1 -0
  400. package/build/{users-providers-settings-page.a0b0fe39.chunk.js → users-providers-settings-page.f8e78537.chunk.js} +1 -1
  401. package/build/users-roles-settings-page.cafb4fe5.chunk.js +30 -0
  402. package/build/{webhook-edit-page.3417d93c.chunk.js → webhook-edit-page.9aba79b2.chunk.js} +3 -3
  403. package/build/{webhook-list-page.2ab4bbf0.chunk.js → webhook-list-page.912becb8.chunk.js} +7 -6
  404. package/build/zh-Hans-json.77a42bc5.chunk.js +1 -0
  405. package/build/zh-json.451a0271.chunk.js +1 -0
  406. package/ee/admin/hooks/useAuthProviders/reducer.js +1 -1
  407. package/ee/admin/pages/AuthPage/components/Login/index.js +2 -2
  408. package/ee/admin/pages/AuthPage/components/Providers/SSOProviders.js +3 -3
  409. package/ee/admin/pages/SettingsPage/SingleSignOn/index.js +3 -3
  410. package/ee/admin/pages/SettingsPage/pages/Roles/CreatePage/index.js +11 -9
  411. package/ee/admin/pages/SettingsPage/pages/Roles/ListPage/index.js +8 -8
  412. package/ee/admin/pages/SettingsPage/pages/Roles/ListPage/reducer.js +1 -1
  413. package/ee/admin/pages/SettingsPage/utils/customRoutes.js +1 -1
  414. package/ee/server/controllers/authentication/middlewares.js +1 -1
  415. package/ee/server/controllers/authentication/utils.js +1 -1
  416. package/ee/server/controllers/role.js +4 -4
  417. package/ee/server/services/passport/provider-registry.js +1 -1
  418. package/ee/server/services/passport/sso.js +1 -1
  419. package/ee/server/services/passport.js +1 -1
  420. package/ee/server/services/role.js +1 -1
  421. package/ee/server/validation/authentication.js +1 -1
  422. package/ee/server/validation/role.js +3 -6
  423. package/ee/server/validation/user.js +1 -1
  424. package/env.js +2 -2
  425. package/index.js +2 -2
  426. package/jest.config.front.js +3 -1
  427. package/package.json +30 -21
  428. package/scripts/build.js +2 -2
  429. package/scripts/create-dev-plugins-file.js +5 -7
  430. package/scripts/create-plugins-file.js +2 -2
  431. package/server/config/admin-conditions.js +3 -3
  432. package/server/controllers/admin.js +1 -1
  433. package/server/controllers/authentication.js +1 -1
  434. package/server/controllers/formatters/format-actions-by-sections.js +8 -5
  435. package/server/controllers/role.js +1 -1
  436. package/server/controllers/user.js +1 -1
  437. package/server/controllers/webhooks.js +6 -16
  438. package/server/domain/action/index.js +3 -3
  439. package/server/domain/action/provider.js +2 -2
  440. package/server/domain/condition/index.js +2 -2
  441. package/server/domain/condition/provider.js +1 -1
  442. package/server/domain/permission/index.js +3 -3
  443. package/server/domain/user.js +2 -2
  444. package/server/policies/hasPermissions.js +5 -5
  445. package/server/policies/isAuthenticatedAdmin.js +1 -1
  446. package/server/routes/serve-admin-panel.js +1 -1
  447. package/server/routes/webhooks.js +4 -1
  448. package/server/services/action.js +1 -1
  449. package/server/services/api-token.js +5 -5
  450. package/server/services/auth.js +2 -2
  451. package/server/services/condition.js +1 -1
  452. package/server/services/content-type.js +5 -3
  453. package/server/services/passport/local-strategy.js +2 -2
  454. package/server/services/passport.js +2 -4
  455. package/server/services/permission/engine-hooks.js +1 -1
  456. package/server/services/permission/engine.js +9 -9
  457. package/server/services/permission/permissions-manager/query-builers.js +5 -5
  458. package/server/services/permission/permissions-manager/sanitize.js +6 -10
  459. package/server/services/permission/queries.js +12 -13
  460. package/server/services/permission/sections-builder/handlers.js +21 -19
  461. package/server/services/permission/sections-builder/section.js +2 -2
  462. package/server/services/permission/sections-builder/utils.js +5 -5
  463. package/server/services/project-settings.js +10 -13
  464. package/server/services/role.js +15 -13
  465. package/server/services/token.js +2 -2
  466. package/server/services/user.js +11 -11
  467. package/server/strategies/admin.js +1 -1
  468. package/server/strategies/api-token.js +3 -3
  469. package/server/utils/index.js +1 -1
  470. package/server/validation/action-provider.js +6 -12
  471. package/server/validation/api-tokens.js +4 -16
  472. package/server/validation/authentication/renew-token.js +1 -5
  473. package/server/validation/common-functions/check-fields-are-correctly-nested.js +5 -3
  474. package/server/validation/common-functions/check-fields-dont-have-duplicates.js +3 -2
  475. package/server/validation/common-validators.js +74 -71
  476. package/server/validation/permission.js +13 -13
  477. package/server/validation/policies/hasPermissions.js +2 -6
  478. package/server/validation/user.js +1 -5
  479. package/utils/create-cache-dir.js +3 -3
  480. package/utils/get-custom-app-config-file.js +3 -3
  481. package/utils/get-plugins-path.js +3 -2
  482. package/utils/should-build-admin.js +4 -4
  483. package/webpack.config.js +2 -7
  484. package/admin/src/content-manager/components/DynamicTable/CellContent/utils/getNumberOfDecimals.js +0 -8
  485. package/build/109.1464fd6e.chunk.js +0 -2
  486. package/build/20.9e5a98b6.chunk.js +0 -308
  487. package/build/3332.1e443103.chunk.js +0 -102
  488. package/build/413.d5986568.chunk.js +0 -284
  489. package/build/5520.3c6bf86a.chunk.js +0 -503
  490. package/build/8469.3af1823d.chunk.js +0 -1
  491. package/build/8773.83d4a28b.chunk.js +0 -327
  492. package/build/9420.ba035f29.chunk.js +0 -508
  493. package/build/9799.ce46400f.chunk.js +0 -760
  494. package/build/Admin-authenticatedApp.2cb98f7a.chunk.js +0 -80
  495. package/build/Admin_InternalErrorPage.25c53284.chunk.js +0 -1
  496. package/build/Admin_pluginsPage.0992c2b5.chunk.js +0 -1
  497. package/build/Admin_profilePage.35ce8e94.chunk.js +0 -15
  498. package/build/Admin_settingsPage.5fc517d7.chunk.js +0 -178
  499. package/build/admin-app.1bd5f67e.chunk.js +0 -112
  500. package/build/admin-edit-roles-page.358d98c1.chunk.js +0 -1
  501. package/build/admin-edit-users.714863af.chunk.js +0 -10
  502. package/build/admin-users.2bd6fb37.chunk.js +0 -11
  503. package/build/api-tokens-list-page.5ea3f6ce.chunk.js +0 -15
  504. package/build/ca-json.0097e443.chunk.js +0 -1
  505. package/build/content-manager.57c1cfe3.chunk.js +0 -1178
  506. package/build/content-type-builder-list-view.b12687b2.chunk.js +0 -194
  507. package/build/content-type-builder-translation-pt-BR-json.5739a2aa.chunk.js +0 -1
  508. package/build/content-type-builder.b2cbf2e9.chunk.js +0 -142
  509. package/build/de-json.0b92acd2.chunk.js +0 -1
  510. package/build/dk-json.9f1bc016.chunk.js +0 -1
  511. package/build/en-json.6d70e9ff.chunk.js +0 -1
  512. package/build/es-json.2a5a9fc1.chunk.js +0 -1
  513. package/build/fr-json.84064a0b.chunk.js +0 -1
  514. package/build/gu-json.dafa6f0d.chunk.js +0 -1
  515. package/build/he-json.d40da459.chunk.js +0 -1
  516. package/build/hi-json.b4ae16d1.chunk.js +0 -1
  517. package/build/hu-json.c81ce352.chunk.js +0 -1
  518. package/build/i18n-settings-page.9d426e96.chunk.js +0 -101
  519. package/build/i18n-translation-fr-json.0839d68d.chunk.js +0 -1
  520. package/build/id-json.fad45d17.chunk.js +0 -1
  521. package/build/it-json.12df4cdf.chunk.js +0 -1
  522. package/build/ja-json.850237e9.chunk.js +0 -1
  523. package/build/ko-json.2f3d256e.chunk.js +0 -1
  524. package/build/main.407d75cc.js +0 -8675
  525. package/build/ml-json.dc946c7f.chunk.js +0 -1
  526. package/build/nl-json.465b173f.chunk.js +0 -1
  527. package/build/no-json.e8749dd4.chunk.js +0 -1
  528. package/build/pl-json.4d11f53d.chunk.js +0 -1
  529. package/build/pt-BR-json.6301d49b.chunk.js +0 -1
  530. package/build/ru-json.28147733.chunk.js +0 -1
  531. package/build/sa-json.be504091.chunk.js +0 -1
  532. package/build/sk-json.5b33afc2.chunk.js +0 -1
  533. package/build/sv-json.cdcac02d.chunk.js +0 -1
  534. package/build/th-json.3aadaec6.chunk.js +0 -1
  535. package/build/upload-translation-ca-json.79159984.chunk.js +0 -1
  536. package/build/upload-translation-de-json.745613c0.chunk.js +0 -1
  537. package/build/upload-translation-dk-json.cb25dcf0.chunk.js +0 -1
  538. package/build/upload-translation-en-json.bc79c867.chunk.js +0 -1
  539. package/build/upload-translation-es-json.1f344b53.chunk.js +0 -1
  540. package/build/upload-translation-ko-json.9a2c21cb.chunk.js +0 -1
  541. package/build/upload-translation-pl-json.c1f86b50.chunk.js +0 -1
  542. package/build/upload.b2cb62bd.chunk.js +0 -7
  543. package/build/users-email-settings-page.824a3cdb.chunk.js +0 -101
  544. package/build/users-roles-settings-page.3db986a4.chunk.js +0 -30
  545. package/build/zh-Hans-json.eac1d90a.chunk.js +0 -1
  546. package/build/zh-json.96bf6019.chunk.js +0 -1
@@ -49,7 +49,7 @@ const sanitizeConditionAttributes = pick(conditionFields);
49
49
  * @param condition
50
50
  * @return {string}
51
51
  */
52
- const computeConditionId = condition => {
52
+ const computeConditionId = (condition) => {
53
53
  const { name, plugin } = condition;
54
54
 
55
55
  if (!plugin) {
@@ -68,7 +68,7 @@ const computeConditionId = condition => {
68
68
  * @param {CreateConditionPayload} attrs - Payload used to create a condition
69
69
  * @return {CreateConditionPayload}
70
70
  */
71
- const assignConditionId = attrs => set('id', computeConditionId(attrs), attrs);
71
+ const assignConditionId = (attrs) => set('id', computeConditionId(attrs), attrs);
72
72
 
73
73
  /**
74
74
  * Transform the given attributes into a domain representation of a Condition
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const { providerFactory } = require('@strapi/utils');
4
- const domain = require('./');
4
+ const domain = require('.');
5
5
 
6
6
  /**
7
7
  * @typedef ConditionProviderOverride
@@ -98,7 +98,7 @@ const deleteProperty = (property, permission) => omit(`properties.${property}`,
98
98
  * @param {Permission} attributes
99
99
  * @return {Permission}
100
100
  */
101
- const create = attributes => {
101
+ const create = (attributes) => {
102
102
  return pipe(pick(permissionFields), merge(getDefaultPermission()))(attributes);
103
103
  };
104
104
 
@@ -114,7 +114,7 @@ const sanitizeConditions = curry((provider, permission) => {
114
114
  }
115
115
 
116
116
  return permission.conditions
117
- .filter(condition => !provider.has(condition))
117
+ .filter((condition) => !provider.has(condition))
118
118
  .reduce((perm, condition) => removeCondition(condition, perm), permission);
119
119
  });
120
120
 
@@ -123,7 +123,7 @@ const sanitizeConditions = curry((provider, permission) => {
123
123
  * @param {object | object[]} payload - Can either be a single object of attributes or an array of those objects.
124
124
  * @return {Permission | Permission[]}
125
125
  */
126
- const toPermission = payload => (isArray(payload) ? map(create, payload) : create(payload));
126
+ const toPermission = (payload) => (isArray(payload) ? map(create, payload) : create(payload));
127
127
 
128
128
  module.exports = {
129
129
  addCondition,
@@ -15,8 +15,8 @@ function createUser(attributes) {
15
15
  };
16
16
  }
17
17
 
18
- const hasSuperAdminRole = user => {
19
- return user.roles.filter(role => role.code === SUPER_ADMIN_CODE).length > 0;
18
+ const hasSuperAdminRole = (user) => {
19
+ return user.roles.filter((role) => role.code === SUPER_ADMIN_CODE).length > 0;
20
20
  };
21
21
 
22
22
  module.exports = {
@@ -7,16 +7,16 @@ const { validateHasPermissionsInput } = require('../validation/policies/hasPermi
7
7
  const inputModifiers = [
8
8
  {
9
9
  check: _.isString,
10
- transform: action => ({ action }),
10
+ transform: (action) => ({ action }),
11
11
  },
12
12
  {
13
13
  check: _.isArray,
14
- transform: arr => ({ action: arr[0], subject: arr[1] }),
14
+ transform: (arr) => ({ action: arr[0], subject: arr[1] }),
15
15
  },
16
16
  {
17
17
  // Has to be after the isArray check since _.isObject also matches arrays
18
18
  check: _.isObject,
19
- transform: perm => perm,
19
+ transform: (perm) => perm,
20
20
  },
21
21
  ];
22
22
 
@@ -27,8 +27,8 @@ module.exports = createPolicy({
27
27
  const { actions } = config;
28
28
  const { userAbility: ability } = ctx.state;
29
29
 
30
- const permissions = actions.map(action =>
31
- inputModifiers.find(modifier => modifier.check(action)).transform(action)
30
+ const permissions = actions.map((action) =>
31
+ inputModifiers.find((modifier) => modifier.check(action)).transform(action)
32
32
  );
33
33
 
34
34
  const isAuthorized = permissions.every(({ action, subject }) => ability.can(action, subject));
@@ -1,5 +1,5 @@
1
1
  'use strict';
2
2
 
3
- module.exports = policyCtx => {
3
+ module.exports = (policyCtx) => {
4
4
  return Boolean(policyCtx.state.isAuthenticated);
5
5
  };
@@ -23,7 +23,7 @@ const registerAdminPanelRoute = ({ strapi }) => {
23
23
  }
24
24
 
25
25
  ctx.type = 'html';
26
- ctx.body = fse.createReadStream(join(buildDir + '/index.html'));
26
+ ctx.body = fse.createReadStream(join(buildDir, 'index.html'));
27
27
  };
28
28
 
29
29
  strapi.server.routes([
@@ -72,7 +72,10 @@ module.exports = [
72
72
  path: '/webhooks/:id/trigger',
73
73
  handler: 'webhooks.triggerWebhook',
74
74
  config: {
75
- policies: [],
75
+ policies: [
76
+ 'admin::isAuthenticatedAdmin',
77
+ { name: 'admin::hasPermissions', config: { actions: ['admin::webhooks.update'] } },
78
+ ],
76
79
  },
77
80
  },
78
81
  ];
@@ -12,7 +12,7 @@ const { AUTHOR_CODE, PUBLISH_ACTION } = require('./constants');
12
12
  * @param {string|number} roleId
13
13
  * @returns {object[]}
14
14
  */
15
- const getAllowedActionsForRole = async roleId => {
15
+ const getAllowedActionsForRole = async (roleId) => {
16
16
  const { actionProvider } = getService('permission');
17
17
 
18
18
  if (!isNil(roleId)) {
@@ -39,7 +39,7 @@ const exists = async (whereParams = {}) => {
39
39
  *
40
40
  * @returns {string}
41
41
  */
42
- const hash = accessKey => {
42
+ const hash = (accessKey) => {
43
43
  return crypto
44
44
  .createHmac('sha512', strapi.config.get('admin.apiToken.salt'))
45
45
  .update(accessKey)
@@ -54,7 +54,7 @@ const hash = accessKey => {
54
54
  *
55
55
  * @returns {Promise<ApiToken>}
56
56
  */
57
- const create = async attributes => {
57
+ const create = async (attributes) => {
58
58
  const accessKey = crypto.randomBytes(128).toString('hex');
59
59
 
60
60
  const apiToken = await strapi.query('admin::api-token').create({
@@ -106,7 +106,7 @@ const list = async () => {
106
106
  *
107
107
  * @returns {Promise<Omit<ApiToken, 'accessKey'>>}
108
108
  */
109
- const revoke = async id => {
109
+ const revoke = async (id) => {
110
110
  return strapi.query('admin::api-token').delete({ select: SELECT_FIELDS, where: { id } });
111
111
  };
112
112
 
@@ -115,7 +115,7 @@ const revoke = async id => {
115
115
  *
116
116
  * @returns {Promise<Omit<ApiToken, 'accessKey'>>}
117
117
  */
118
- const getById = async id => {
118
+ const getById = async (id) => {
119
119
  return getBy({ id });
120
120
  };
121
121
 
@@ -124,7 +124,7 @@ const getById = async id => {
124
124
  *
125
125
  * @returns {Promise<Omit<ApiToken, 'accessKey'>>}
126
126
  */
127
- const getByName = async name => {
127
+ const getByName = async (name) => {
128
128
  return getBy({ name });
129
129
  };
130
130
 
@@ -11,7 +11,7 @@ const { getService } = require('../utils');
11
11
  * @param {string} password - password to hash
12
12
  * @returns {string} hashed password
13
13
  */
14
- const hashPassword = password => bcrypt.hash(password, 10);
14
+ const hashPassword = (password) => bcrypt.hash(password, 10);
15
15
 
16
16
  /**
17
17
  * Validate a password
@@ -81,7 +81,7 @@ const forgotPassword = async ({ email } = {}) => {
81
81
  user: _.pick(user, ['email', 'firstname', 'lastname', 'username']),
82
82
  }
83
83
  )
84
- .catch(err => {
84
+ .catch((err) => {
85
85
  // log error server side but do not disclose it to the user to avoid leaking informations
86
86
  strapi.log.error(err);
87
87
  });
@@ -3,7 +3,7 @@
3
3
  const { isString } = require('lodash/fp');
4
4
  const { getService } = require('../utils');
5
5
 
6
- const isValidCondition = condition => {
6
+ const isValidCondition = (condition) => {
7
7
  const { conditionProvider } = getService('permission');
8
8
 
9
9
  return isString(condition) && conditionProvider.has(condition);
@@ -124,7 +124,9 @@ const getPermissionsWithNestedFields = (
124
124
  { nestingLevel, restrictedSubjects = [] } = {}
125
125
  ) => {
126
126
  return actions.reduce((permissions, action) => {
127
- const validSubjects = action.subjects.filter(subject => !restrictedSubjects.includes(subject));
127
+ const validSubjects = action.subjects.filter(
128
+ (subject) => !restrictedSubjects.includes(subject)
129
+ );
128
130
 
129
131
  // Create a Permission for each subject (content-type uid) within the action
130
132
  for (const subject of validSubjects) {
@@ -158,7 +160,7 @@ const getPermissionsWithNestedFields = (
158
160
  const cleanPermissionFields = (permissions, { nestingLevel } = {}) => {
159
161
  const { actionProvider } = getService('permission');
160
162
 
161
- return permissions.map(permission => {
163
+ return permissions.map((permission) => {
162
164
  const {
163
165
  action: actionId,
164
166
  subject,
@@ -191,7 +193,7 @@ const cleanPermissionFields = (permissions, { nestingLevel } = {}) => {
191
193
  const badNestedFields = uniq([...intersection(fields, possibleFields), ...requiredFields]);
192
194
 
193
195
  const newFields = badNestedFields.filter(
194
- field => !badNestedFields.some(startsWith(`${field}.`))
196
+ (field) => !badNestedFields.some(startsWith(`${field}.`))
195
197
  );
196
198
 
197
199
  return permissionDomain.setProperty('fields', newFields, permission);
@@ -3,7 +3,7 @@
3
3
  const { toLower } = require('lodash/fp');
4
4
  const { Strategy: LocalStrategy } = require('passport-local');
5
5
 
6
- const createLocalStrategy = strapi => {
6
+ const createLocalStrategy = (strapi) => {
7
7
  return new LocalStrategy(
8
8
  {
9
9
  usernameField: 'email',
@@ -14,7 +14,7 @@ const createLocalStrategy = strapi => {
14
14
  return strapi.admin.services.auth
15
15
  .checkCredentials({ email: toLower(email), password })
16
16
  .then(([error, user, message]) => done(error, user, message))
17
- .catch(error => done(error));
17
+ .catch((error) => done(error));
18
18
  }
19
19
  );
20
20
  };
@@ -21,9 +21,7 @@ const registerAuthEvents = () => {
21
21
  const { events = {} } = strapi.config.get('admin.auth', {});
22
22
  const { authEventsMapper } = strapi.admin.services.passport;
23
23
 
24
- const eventList = Object.entries(events)
25
- .filter(keyIsValidEventName)
26
- .filter(valueIsFunctionType);
24
+ const eventList = Object.entries(events).filter(keyIsValidEventName).filter(valueIsFunctionType);
27
25
 
28
26
  for (const [eventName, handler] of eventList) {
29
27
  strapi.eventHub.on(authEventsMapper[eventName], handler);
@@ -33,7 +31,7 @@ const registerAuthEvents = () => {
33
31
  const init = () => {
34
32
  strapi.admin.services.passport
35
33
  .getPassportStrategies()
36
- .forEach(strategy => passport.use(strategy));
34
+ .forEach((strategy) => passport.use(strategy));
37
35
 
38
36
  registerAuthEvents();
39
37
 
@@ -18,7 +18,7 @@ const createEngineHooks = () => ({
18
18
  * @param {Permission} permission
19
19
  * @return {{readonly permission: Permission, addCondition(string): this}}
20
20
  */
21
- const createWillEvaluateContext = permission => ({
21
+ const createWillEvaluateContext = (permission) => ({
22
22
  get permission() {
23
23
  return cloneDeep(permission);
24
24
  },
@@ -43,11 +43,11 @@ const allowedOperations = [
43
43
  ];
44
44
  const operations = pick(allowedOperations, sift);
45
45
 
46
- const conditionsMatcher = conditions => {
46
+ const conditionsMatcher = (conditions) => {
47
47
  return sift.createQueryTester(conditions, { operations });
48
48
  };
49
49
 
50
- module.exports = conditionProvider => {
50
+ module.exports = (conditionProvider) => {
51
51
  const state = {
52
52
  hooks: createEngineHooks(),
53
53
  };
@@ -112,7 +112,7 @@ module.exports = conditionProvider => {
112
112
  );
113
113
 
114
114
  const permissionWithSanitizedProperties = invalidProperties.reduce(
115
- property => permissionDomain.deleteProperty(property, permission),
115
+ (property) => permissionDomain.deleteProperty(property, permission),
116
116
  permission
117
117
  );
118
118
 
@@ -174,13 +174,13 @@ module.exports = conditionProvider => {
174
174
  const resolveConditions = map(conditionProvider.get);
175
175
 
176
176
  // 2. Filter conditions, only keep those whose handler is a function
177
- const filterValidConditions = filter(condition => isFunction(condition.handler));
177
+ const filterValidConditions = filter((condition) => isFunction(condition.handler));
178
178
 
179
179
  // 3. Evaluate the conditions handler and returns an object
180
180
  // containing both the original condition and its result
181
- const evaluateConditions = conditions => {
181
+ const evaluateConditions = (conditions) => {
182
182
  return Promise.all(
183
- conditions.map(async condition => ({
183
+ conditions.map(async (condition) => ({
184
184
  condition,
185
185
  result: await condition.handler(
186
186
  user,
@@ -237,7 +237,7 @@ module.exports = conditionProvider => {
237
237
  * @returns {function}
238
238
  */
239
239
  createRegisterFunction(can, permission, user) {
240
- const registerToCasl = caslPermission => {
240
+ const registerToCasl = (caslPermission) => {
241
241
  const { action, subject, fields, condition } = caslPermission;
242
242
 
243
243
  can(
@@ -248,7 +248,7 @@ module.exports = conditionProvider => {
248
248
  );
249
249
  };
250
250
 
251
- const runWillRegisterHook = async caslPermission => {
251
+ const runWillRegisterHook = async (caslPermission) => {
252
252
  const hookContext = createWillRegisterContext(caslPermission, {
253
253
  permission,
254
254
  user,
@@ -259,7 +259,7 @@ module.exports = conditionProvider => {
259
259
  return caslPermission;
260
260
  };
261
261
 
262
- return async caslPermission => {
262
+ return async (caslPermission) => {
263
263
  await runWillRegisterHook(caslPermission);
264
264
  registerToCasl(caslPermission);
265
265
  };
@@ -19,7 +19,7 @@ const operatorsMap = {
19
19
  $not: '$not',
20
20
  };
21
21
 
22
- const mapKey = key => {
22
+ const mapKey = (key) => {
23
23
  if (_.isString(key) && key.startsWith('$') && key in operatorsMap) {
24
24
  return operatorsMap[key];
25
25
  }
@@ -27,19 +27,19 @@ const mapKey = key => {
27
27
  };
28
28
 
29
29
  const buildCaslQuery = (ability, action, model) => {
30
- return rulesToQuery(ability, action, model, o => o.conditions);
30
+ return rulesToQuery(ability, action, model, (o) => o.conditions);
31
31
  };
32
32
 
33
- const buildStrapiQuery = caslQuery => {
33
+ const buildStrapiQuery = (caslQuery) => {
34
34
  return unwrapDeep(caslQuery);
35
35
  };
36
36
 
37
- const unwrapDeep = obj => {
37
+ const unwrapDeep = (obj) => {
38
38
  if (!_.isPlainObject(obj) && !_.isArray(obj)) {
39
39
  return obj;
40
40
  }
41
41
  if (_.isArray(obj)) {
42
- return obj.map(v => unwrapDeep(v));
42
+ return obj.map((v) => unwrapDeep(v));
43
43
  }
44
44
 
45
45
  return _.reduce(
@@ -19,12 +19,8 @@ const {
19
19
 
20
20
  const { contentTypes, traverseEntity, sanitize, pipeAsync } = require('@strapi/utils');
21
21
 
22
- const {
23
- constants,
24
- getNonVisibleAttributes,
25
- getNonWritableAttributes,
26
- getWritableAttributes,
27
- } = contentTypes;
22
+ const { constants, getNonVisibleAttributes, getNonWritableAttributes, getWritableAttributes } =
23
+ contentTypes;
28
24
  const {
29
25
  ID_ATTRIBUTE,
30
26
  CREATED_AT_ATTRIBUTE,
@@ -73,20 +69,20 @@ module.exports = ({ action, ability, model }) => {
73
69
  );
74
70
  };
75
71
 
76
- const wrapSanitize = createSanitizeFunction => {
72
+ const wrapSanitize = (createSanitizeFunction) => {
77
73
  const wrappedSanitize = async (data, options = {}) => {
78
74
  if (isArray(data)) {
79
- return Promise.all(data.map(entity => wrappedSanitize(entity, options)));
75
+ return Promise.all(data.map((entity) => wrappedSanitize(entity, options)));
80
76
  }
81
77
 
82
78
  const { subject, action: actionOverride } = getDefaultOptions(data, options);
83
79
 
84
80
  const permittedFields = permittedFieldsOf(ability, actionOverride, subject, {
85
- fieldsFrom: rule => rule.fields || [],
81
+ fieldsFrom: (rule) => rule.fields || [],
86
82
  });
87
83
 
88
84
  const hasAtLeastOneRegistered = some(
89
- fields => !isNil(fields),
85
+ (fields) => !isNil(fields),
90
86
  flatMap(prop('fields'), ability.rulesFor(actionOverride, detectSubjectType(subject)))
91
87
  );
92
88
  const shouldIncludeAllFields = isEmpty(permittedFields) && !hasAtLeastOneRegistered;
@@ -25,7 +25,7 @@ const permissionDomain = require('../../domain/permission/index');
25
25
  * @param rolesIds ids of roles
26
26
  * @returns {Promise<array>}
27
27
  */
28
- const deleteByRolesIds = async rolesIds => {
28
+ const deleteByRolesIds = async (rolesIds) => {
29
29
  const permissionsToDelete = await strapi.query('admin::permission').findMany({
30
30
  select: ['id'],
31
31
  where: {
@@ -43,7 +43,7 @@ const deleteByRolesIds = async rolesIds => {
43
43
  * @param ids ids of permissions
44
44
  * @returns {Promise<array>}
45
45
  */
46
- const deleteByIds = async ids => {
46
+ const deleteByIds = async (ids) => {
47
47
  for (const id of ids) {
48
48
  await strapi.query('admin::permission').delete({ where: { id } });
49
49
  }
@@ -54,7 +54,7 @@ const deleteByIds = async ids => {
54
54
  * @param permissions
55
55
  * @returns {Promise<*[]|*>}
56
56
  */
57
- const createMany = async permissions => {
57
+ const createMany = async (permissions) => {
58
58
  const createdPermissions = [];
59
59
  for (const permission of permissions) {
60
60
  const newPerm = await strapi.query('admin::permission').create({ data: permission });
@@ -94,11 +94,11 @@ const findMany = async (params = {}) => {
94
94
  * @param user - user
95
95
  * @returns {Promise<Permission[]>}
96
96
  */
97
- const findUserPermissions = async user => {
97
+ const findUserPermissions = async (user) => {
98
98
  return findMany({ where: { role: { users: { id: user.id } } } });
99
99
  };
100
100
 
101
- const filterPermissionsToRemove = async permissions => {
101
+ const filterPermissionsToRemove = async (permissions) => {
102
102
  const { actionProvider } = getService('permission');
103
103
 
104
104
  const permissionsToRemove = [];
@@ -108,7 +108,7 @@ const filterPermissionsToRemove = async permissions => {
108
108
  const { applyToProperties } = options;
109
109
 
110
110
  const invalidProperties = await Promise.all(
111
- (applyToProperties || []).map(async property => {
111
+ (applyToProperties || []).map(async (property) => {
112
112
  const applies = await actionProvider.appliesToProperty(
113
113
  property,
114
114
  permission.action,
@@ -156,12 +156,11 @@ const cleanPermissionsInDatabase = async () => {
156
156
 
157
157
  // 2. Clean permissions' fields (add required ones, remove the non-existing ones)
158
158
  const remainingPermissions = permissions.filter(
159
- permission => !permissionsIdToRemove.includes(permission.id)
159
+ (permission) => !permissionsIdToRemove.includes(permission.id)
160
160
  );
161
161
 
162
- const permissionsWithCleanFields = contentTypeService.cleanPermissionFields(
163
- remainingPermissions
164
- );
162
+ const permissionsWithCleanFields =
163
+ contentTypeService.cleanPermissionFields(remainingPermissions);
165
164
 
166
165
  // Update only the ones that need to be updated
167
166
  const permissionsNeedingToBeUpdated = differenceWith(
@@ -172,7 +171,7 @@ const cleanPermissionsInDatabase = async () => {
172
171
  remainingPermissions
173
172
  );
174
173
 
175
- const updatePromiseProvider = permission => {
174
+ const updatePromiseProvider = (permission) => {
176
175
  return update({ id: permission.id }, permission);
177
176
  };
178
177
 
@@ -228,11 +227,11 @@ const ensureBoundPermissionsInDatabase = async () => {
228
227
  if (missingActions.length > 0) {
229
228
  const permissions = pipe(
230
229
  // Create a permission skeleton from the action id
231
- map(action => ({ action, subject: contentType.uid, role: editorRole.id })),
230
+ map((action) => ({ action, subject: contentType.uid, role: editorRole.id })),
232
231
  // Use the permission domain to create a clean permission from the given object
233
232
  map(permissionDomain.create),
234
233
  // Adds the fields property if the permission action is eligible
235
- map(permission =>
234
+ map((permission) =>
236
235
  BOUND_ACTIONS_FOR_FIELDS.includes(permission.action)
237
236
  ? permissionDomain.setProperty('fields', fields, permission)
238
237
  : permission
@@ -78,21 +78,23 @@ const contentTypesBase = ({ action, section }) => {
78
78
  /**
79
79
  * Initialize the subjects array of a section based on the action's subjects
80
80
  */
81
- const subjectsHandlerFor = kind => ({ action, section: contentTypesSection }) => {
82
- const { subjects } = action;
83
-
84
- const newSubjects = subjects
85
- // Ignore already added subjects
86
- .filter(isNotInSubjects(contentTypesSection.subjects))
87
- // Transform UIDs into content-types
88
- .map(resolveContentType)
89
- // Only keep specific kind of content-types
90
- .filter(isOfKind(kind))
91
- // Transform the content-types into section's subjects
92
- .map(toSubjectTemplate);
93
-
94
- contentTypesSection.subjects.push(...newSubjects);
95
- };
81
+ const subjectsHandlerFor =
82
+ (kind) =>
83
+ ({ action, section: contentTypesSection }) => {
84
+ const { subjects } = action;
85
+
86
+ const newSubjects = subjects
87
+ // Ignore already added subjects
88
+ .filter(isNotInSubjects(contentTypesSection.subjects))
89
+ // Transform UIDs into content-types
90
+ .map(resolveContentType)
91
+ // Only keep specific kind of content-types
92
+ .filter(isOfKind(kind))
93
+ // Transform the content-types into section's subjects
94
+ .map(toSubjectTemplate);
95
+
96
+ contentTypesSection.subjects.push(...newSubjects);
97
+ };
96
98
 
97
99
  const buildNode = (model, attributeName, attribute) => {
98
100
  if (!isVisibleAttribute(model, attributeName)) {
@@ -113,10 +115,10 @@ const buildNode = (model, attributeName, attribute) => {
113
115
  return node;
114
116
  };
115
117
 
116
- const buildDeepAttributesCollection = model => {
118
+ const buildDeepAttributesCollection = (model) => {
117
119
  return Object.entries(model.attributes)
118
120
  .map(([attributeName, attribute]) => buildNode(model, attributeName, attribute))
119
- .filter(node => node !== null);
121
+ .filter((node) => node !== null);
120
122
  };
121
123
 
122
124
  /**
@@ -129,8 +131,8 @@ const fieldsProperty = ({ action, section }) => {
129
131
  const { subjects } = action;
130
132
 
131
133
  section.subjects
132
- .filter(subject => subjects.includes(subject.uid))
133
- .forEach(subject => {
134
+ .filter((subject) => subjects.includes(subject.uid))
135
+ .forEach((subject) => {
134
136
  const { uid } = subject;
135
137
  const contentType = resolveContentType(uid);
136
138
 
@@ -29,8 +29,8 @@ const createSection = ({
29
29
  };
30
30
 
31
31
  // Register initial hooks
32
- handlers.forEach(handler => state.hooks.handlers.register(handler));
33
- matchers.forEach(matcher => state.hooks.matchers.register(matcher));
32
+ handlers.forEach((handler) => state.hooks.handlers.register(handler));
33
+ matchers.forEach((matcher) => state.hooks.matchers.register(matcher));
34
34
 
35
35
  return {
36
36
  hooks: state.hooks,
@@ -2,19 +2,19 @@
2
2
 
3
3
  const { curry, matchesProperty, pick } = require('lodash/fp');
4
4
 
5
- const isOfKind = kind => matchesProperty('kind', kind);
5
+ const isOfKind = (kind) => matchesProperty('kind', kind);
6
6
 
7
- const resolveContentType = uid => strapi.contentTypes[uid];
7
+ const resolveContentType = (uid) => strapi.contentTypes[uid];
8
8
 
9
- const isNotInSubjects = subjects => uid => !subjects.find(subject => subject.uid === uid);
9
+ const isNotInSubjects = (subjects) => (uid) => !subjects.find((subject) => subject.uid === uid);
10
10
 
11
11
  const hasProperty = curry((property, subject) => {
12
- return !!subject.properties.find(prop => prop.value === property);
12
+ return !!subject.properties.find((prop) => prop.value === property);
13
13
  });
14
14
 
15
15
  const getValidOptions = pick(['applyToProperties']);
16
16
 
17
- const toSubjectTemplate = ct => ({ uid: ct.uid, label: ct.info.singularName, properties: [] });
17
+ const toSubjectTemplate = (ct) => ({ uid: ct.uid, label: ct.info.singularName, properties: [] });
18
18
 
19
19
  module.exports = {
20
20
  isOfKind,