@strapi/plugin-users-permissions 0.0.0-next.f5b09a8e61e059f02784478e27c310c6290be088 → 0.0.0-next.f5d21551ed005f524bfc4760b274f1be154e26a8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +2 -1
- package/.eslintrc +4 -1
- package/LICENSE +18 -3
- package/admin/src/components/BoundRoute/{index.js → index.jsx} +3 -3
- package/admin/src/components/FormModal/Input/{index.js → index.jsx} +33 -32
- package/admin/src/components/FormModal/index.jsx +115 -0
- package/admin/src/components/Permissions/PermissionRow/{CheckboxWrapper.js → CheckboxWrapper.jsx} +4 -3
- package/admin/src/components/Permissions/PermissionRow/{SubCategory.js → SubCategory.jsx} +13 -22
- package/admin/src/components/Permissions/index.jsx +47 -0
- package/admin/src/components/Permissions/reducer.js +1 -1
- package/admin/src/components/Policies/{index.js → index.jsx} +8 -6
- package/admin/src/components/UsersPermissions/{index.js → index.jsx} +15 -7
- package/admin/src/components/UsersPermissions/reducer.js +1 -1
- package/admin/src/index.js +17 -34
- package/admin/src/pages/AdvancedSettings/index.jsx +214 -0
- package/admin/src/pages/AdvancedSettings/utils/layout.js +20 -35
- package/admin/src/pages/AdvancedSettings/utils/schema.js +5 -2
- package/admin/src/pages/EmailTemplates/components/EmailForm.jsx +156 -0
- package/admin/src/pages/EmailTemplates/components/{EmailTable.js → EmailTable.jsx} +21 -18
- package/admin/src/pages/EmailTemplates/{index.js → index.jsx} +36 -62
- package/admin/src/pages/EmailTemplates/utils/schema.js +18 -6
- package/admin/src/pages/Providers/{index.js → index.jsx} +98 -113
- package/admin/src/pages/Providers/utils/forms.js +23 -11
- package/admin/src/pages/Roles/constants.js +3 -3
- package/admin/src/pages/Roles/hooks/usePlugins.js +4 -4
- package/admin/src/pages/Roles/index.jsx +24 -0
- package/admin/src/pages/Roles/pages/{CreatePage.js → CreatePage.jsx} +53 -58
- package/admin/src/pages/Roles/pages/{EditPage.js → EditPage.jsx} +63 -68
- package/admin/src/pages/Roles/pages/ListPage/components/{TableBody.js → TableBody.jsx} +28 -32
- package/admin/src/pages/Roles/pages/ListPage/{index.js → index.jsx} +79 -55
- package/admin/src/pluginId.js +2 -2
- package/admin/src/translations/en.json +1 -1
- package/admin/src/translations/uk.json +41 -4
- package/admin/src/utils/formatPluginName.js +1 -1
- package/admin/src/utils/prefixPluginTranslations.js +13 -0
- package/dist/admin/components/BoundRoute/getMethodColor.js +49 -0
- package/dist/admin/components/BoundRoute/getMethodColor.js.map +1 -0
- package/dist/admin/components/BoundRoute/getMethodColor.mjs +47 -0
- package/dist/admin/components/BoundRoute/getMethodColor.mjs.map +1 -0
- package/dist/admin/components/BoundRoute/index.js +98 -0
- package/dist/admin/components/BoundRoute/index.js.map +1 -0
- package/dist/admin/components/BoundRoute/index.mjs +96 -0
- package/dist/admin/components/BoundRoute/index.mjs.map +1 -0
- package/dist/admin/components/FormModal/Input/index.js +123 -0
- package/dist/admin/components/FormModal/Input/index.js.map +1 -0
- package/dist/admin/components/FormModal/Input/index.mjs +121 -0
- package/dist/admin/components/FormModal/Input/index.mjs.map +1 -0
- package/dist/admin/components/FormModal/index.js +110 -0
- package/dist/admin/components/FormModal/index.js.map +1 -0
- package/dist/admin/components/FormModal/index.mjs +108 -0
- package/dist/admin/components/FormModal/index.mjs.map +1 -0
- package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.js +33 -0
- package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.js.map +1 -0
- package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.mjs +31 -0
- package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.mjs.map +1 -0
- package/dist/admin/components/Permissions/PermissionRow/SubCategory.js +156 -0
- package/dist/admin/components/Permissions/PermissionRow/SubCategory.js.map +1 -0
- package/dist/admin/components/Permissions/PermissionRow/SubCategory.mjs +154 -0
- package/dist/admin/components/Permissions/PermissionRow/SubCategory.mjs.map +1 -0
- package/dist/admin/components/Permissions/PermissionRow/index.js +50 -0
- package/dist/admin/components/Permissions/PermissionRow/index.js.map +1 -0
- package/dist/admin/components/Permissions/PermissionRow/index.mjs +48 -0
- package/dist/admin/components/Permissions/PermissionRow/index.mjs.map +1 -0
- package/dist/admin/components/Permissions/index.js +52 -0
- package/dist/admin/components/Permissions/index.js.map +1 -0
- package/dist/admin/components/Permissions/index.mjs +50 -0
- package/dist/admin/components/Permissions/index.mjs.map +1 -0
- package/dist/admin/components/Permissions/init.js +15 -0
- package/dist/admin/components/Permissions/init.js.map +1 -0
- package/dist/admin/components/Permissions/init.mjs +13 -0
- package/dist/admin/components/Permissions/init.mjs.map +1 -0
- package/dist/admin/components/Permissions/reducer.js +34 -0
- package/dist/admin/components/Permissions/reducer.js.map +1 -0
- package/dist/admin/components/Permissions/reducer.mjs +31 -0
- package/dist/admin/components/Permissions/reducer.mjs.map +1 -0
- package/dist/admin/components/Policies/index.js +67 -0
- package/dist/admin/components/Policies/index.js.map +1 -0
- package/dist/admin/components/Policies/index.mjs +65 -0
- package/dist/admin/components/Policies/index.mjs.map +1 -0
- package/dist/admin/components/UsersPermissions/index.js +115 -0
- package/dist/admin/components/UsersPermissions/index.js.map +1 -0
- package/dist/admin/components/UsersPermissions/index.mjs +113 -0
- package/dist/admin/components/UsersPermissions/index.mjs.map +1 -0
- package/dist/admin/components/UsersPermissions/init.js +13 -0
- package/dist/admin/components/UsersPermissions/init.js.map +1 -0
- package/dist/admin/components/UsersPermissions/init.mjs +11 -0
- package/dist/admin/components/UsersPermissions/init.mjs.map +1 -0
- package/dist/admin/components/UsersPermissions/reducer.js +73 -0
- package/dist/admin/components/UsersPermissions/reducer.js.map +1 -0
- package/dist/admin/components/UsersPermissions/reducer.mjs +68 -0
- package/dist/admin/components/UsersPermissions/reducer.mjs.map +1 -0
- package/dist/admin/constants.js +81 -0
- package/dist/admin/constants.js.map +1 -0
- package/dist/admin/constants.mjs +79 -0
- package/dist/admin/constants.mjs.map +1 -0
- package/dist/admin/contexts/UsersPermissionsContext/index.js +23 -0
- package/dist/admin/contexts/UsersPermissionsContext/index.js.map +1 -0
- package/dist/admin/contexts/UsersPermissionsContext/index.mjs +19 -0
- package/dist/admin/contexts/UsersPermissionsContext/index.mjs.map +1 -0
- package/dist/admin/index.js +125 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/index.mjs +121 -0
- package/dist/admin/index.mjs.map +1 -0
- package/dist/admin/package.json.js +14 -0
- package/dist/admin/package.json.js.map +1 -0
- package/dist/admin/package.json.mjs +11 -0
- package/dist/admin/package.json.mjs.map +1 -0
- package/dist/admin/pages/AdvancedSettings/index.js +194 -0
- package/dist/admin/pages/AdvancedSettings/index.js.map +1 -0
- package/dist/admin/pages/AdvancedSettings/index.mjs +191 -0
- package/dist/admin/pages/AdvancedSettings/index.mjs.map +1 -0
- package/dist/admin/pages/AdvancedSettings/utils/layout.js +83 -0
- package/dist/admin/pages/AdvancedSettings/utils/layout.js.map +1 -0
- package/dist/admin/pages/AdvancedSettings/utils/layout.mjs +81 -0
- package/dist/admin/pages/AdvancedSettings/utils/layout.mjs.map +1 -0
- package/dist/admin/pages/AdvancedSettings/utils/schema.js +40 -0
- package/dist/admin/pages/AdvancedSettings/utils/schema.js.map +1 -0
- package/dist/admin/pages/AdvancedSettings/utils/schema.mjs +19 -0
- package/dist/admin/pages/AdvancedSettings/utils/schema.mjs.map +1 -0
- package/dist/admin/pages/EmailTemplates/components/EmailForm.js +171 -0
- package/dist/admin/pages/EmailTemplates/components/EmailForm.js.map +1 -0
- package/dist/admin/pages/EmailTemplates/components/EmailForm.mjs +169 -0
- package/dist/admin/pages/EmailTemplates/components/EmailForm.mjs.map +1 -0
- package/dist/admin/pages/EmailTemplates/components/EmailTable.js +145 -0
- package/dist/admin/pages/EmailTemplates/components/EmailTable.js.map +1 -0
- package/dist/admin/pages/EmailTemplates/components/EmailTable.mjs +143 -0
- package/dist/admin/pages/EmailTemplates/components/EmailTable.mjs.map +1 -0
- package/dist/admin/pages/EmailTemplates/index.js +157 -0
- package/dist/admin/pages/EmailTemplates/index.js.map +1 -0
- package/dist/admin/pages/EmailTemplates/index.mjs +135 -0
- package/dist/admin/pages/EmailTemplates/index.mjs.map +1 -0
- package/dist/admin/pages/EmailTemplates/utils/schema.js +50 -0
- package/dist/admin/pages/EmailTemplates/utils/schema.js.map +1 -0
- package/dist/admin/pages/EmailTemplates/utils/schema.mjs +29 -0
- package/dist/admin/pages/EmailTemplates/utils/schema.mjs.map +1 -0
- package/dist/admin/pages/Providers/index.js +278 -0
- package/dist/admin/pages/Providers/index.js.map +1 -0
- package/dist/admin/pages/Providers/index.mjs +254 -0
- package/dist/admin/pages/Providers/index.mjs.map +1 -0
- package/dist/admin/pages/Providers/utils/forms.js +281 -0
- package/dist/admin/pages/Providers/utils/forms.js.map +1 -0
- package/dist/admin/pages/Providers/utils/forms.mjs +260 -0
- package/dist/admin/pages/Providers/utils/forms.mjs.map +1 -0
- package/dist/admin/pages/Roles/constants.js +31 -0
- package/dist/admin/pages/Roles/constants.js.map +1 -0
- package/dist/admin/pages/Roles/constants.mjs +10 -0
- package/dist/admin/pages/Roles/constants.mjs.map +1 -0
- package/dist/admin/pages/Roles/hooks/usePlugins.js +78 -0
- package/dist/admin/pages/Roles/hooks/usePlugins.js.map +1 -0
- package/dist/admin/pages/Roles/hooks/usePlugins.mjs +76 -0
- package/dist/admin/pages/Roles/hooks/usePlugins.mjs.map +1 -0
- package/dist/admin/pages/Roles/index.js +35 -0
- package/dist/admin/pages/Roles/index.js.map +1 -0
- package/dist/admin/pages/Roles/index.mjs +33 -0
- package/dist/admin/pages/Roles/index.mjs.map +1 -0
- package/dist/admin/pages/Roles/pages/CreatePage.js +225 -0
- package/dist/admin/pages/Roles/pages/CreatePage.js.map +1 -0
- package/dist/admin/pages/Roles/pages/CreatePage.mjs +203 -0
- package/dist/admin/pages/Roles/pages/CreatePage.mjs.map +1 -0
- package/dist/admin/pages/Roles/pages/EditPage.js +229 -0
- package/dist/admin/pages/Roles/pages/EditPage.js.map +1 -0
- package/dist/admin/pages/Roles/pages/EditPage.mjs +207 -0
- package/dist/admin/pages/Roles/pages/EditPage.mjs.map +1 -0
- package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.js +125 -0
- package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.js.map +1 -0
- package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.mjs +123 -0
- package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.mjs.map +1 -0
- package/dist/admin/pages/Roles/pages/ListPage/index.js +237 -0
- package/dist/admin/pages/Roles/pages/ListPage/index.js.map +1 -0
- package/dist/admin/pages/Roles/pages/ListPage/index.mjs +234 -0
- package/dist/admin/pages/Roles/pages/ListPage/index.mjs.map +1 -0
- package/dist/admin/pluginId.js +8 -0
- package/dist/admin/pluginId.js.map +1 -0
- package/dist/admin/pluginId.mjs +6 -0
- package/dist/admin/pluginId.mjs.map +1 -0
- package/dist/admin/translations/ar.json.js +45 -0
- package/dist/admin/translations/ar.json.js.map +1 -0
- package/dist/admin/translations/ar.json.mjs +43 -0
- package/dist/admin/translations/ar.json.mjs.map +1 -0
- package/dist/admin/translations/cs.json.js +51 -0
- package/dist/admin/translations/cs.json.js.map +1 -0
- package/dist/admin/translations/cs.json.mjs +49 -0
- package/dist/admin/translations/cs.json.mjs.map +1 -0
- package/dist/admin/translations/de.json.js +63 -0
- package/dist/admin/translations/de.json.js.map +1 -0
- package/dist/admin/translations/de.json.mjs +61 -0
- package/dist/admin/translations/de.json.mjs.map +1 -0
- package/dist/admin/translations/dk.json.js +87 -0
- package/dist/admin/translations/dk.json.js.map +1 -0
- package/dist/admin/translations/dk.json.mjs +85 -0
- package/dist/admin/translations/dk.json.mjs.map +1 -0
- package/dist/admin/translations/en.json.js +87 -0
- package/dist/admin/translations/en.json.js.map +1 -0
- package/dist/admin/translations/en.json.mjs +85 -0
- package/dist/admin/translations/en.json.mjs.map +1 -0
- package/dist/admin/translations/es.json.js +87 -0
- package/dist/admin/translations/es.json.js.map +1 -0
- package/dist/admin/translations/es.json.mjs +85 -0
- package/dist/admin/translations/es.json.mjs.map +1 -0
- package/dist/admin/translations/fr.json.js +51 -0
- package/dist/admin/translations/fr.json.js.map +1 -0
- package/dist/admin/translations/fr.json.mjs +49 -0
- package/dist/admin/translations/fr.json.mjs.map +1 -0
- package/dist/admin/translations/id.json.js +63 -0
- package/dist/admin/translations/id.json.js.map +1 -0
- package/dist/admin/translations/id.json.mjs +61 -0
- package/dist/admin/translations/id.json.mjs.map +1 -0
- package/dist/admin/translations/it.json.js +63 -0
- package/dist/admin/translations/it.json.js.map +1 -0
- package/dist/admin/translations/it.json.mjs +61 -0
- package/dist/admin/translations/it.json.mjs.map +1 -0
- package/dist/admin/translations/ja.json.js +49 -0
- package/dist/admin/translations/ja.json.js.map +1 -0
- package/dist/admin/translations/ja.json.mjs +47 -0
- package/dist/admin/translations/ja.json.mjs.map +1 -0
- package/dist/admin/translations/ko.json.js +87 -0
- package/dist/admin/translations/ko.json.js.map +1 -0
- package/dist/admin/translations/ko.json.mjs +85 -0
- package/dist/admin/translations/ko.json.mjs.map +1 -0
- package/dist/admin/translations/ms.json.js +50 -0
- package/dist/admin/translations/ms.json.js.map +1 -0
- package/dist/admin/translations/ms.json.mjs +48 -0
- package/dist/admin/translations/ms.json.mjs.map +1 -0
- package/dist/admin/translations/nl.json.js +49 -0
- package/dist/admin/translations/nl.json.js.map +1 -0
- package/dist/admin/translations/nl.json.mjs +47 -0
- package/dist/admin/translations/nl.json.mjs.map +1 -0
- package/dist/admin/translations/pl.json.js +87 -0
- package/dist/admin/translations/pl.json.js.map +1 -0
- package/dist/admin/translations/pl.json.mjs +85 -0
- package/dist/admin/translations/pl.json.mjs.map +1 -0
- package/dist/admin/translations/pt-BR.json.js +45 -0
- package/dist/admin/translations/pt-BR.json.js.map +1 -0
- package/dist/admin/translations/pt-BR.json.mjs +43 -0
- package/dist/admin/translations/pt-BR.json.mjs.map +1 -0
- package/dist/admin/translations/pt.json.js +49 -0
- package/dist/admin/translations/pt.json.js.map +1 -0
- package/dist/admin/translations/pt.json.mjs +47 -0
- package/dist/admin/translations/pt.json.mjs.map +1 -0
- package/dist/admin/translations/ru.json.js +87 -0
- package/dist/admin/translations/ru.json.js.map +1 -0
- package/dist/admin/translations/ru.json.mjs +85 -0
- package/dist/admin/translations/ru.json.mjs.map +1 -0
- package/dist/admin/translations/sk.json.js +51 -0
- package/dist/admin/translations/sk.json.js.map +1 -0
- package/dist/admin/translations/sk.json.mjs +49 -0
- package/dist/admin/translations/sk.json.mjs.map +1 -0
- package/dist/admin/translations/sv.json.js +87 -0
- package/dist/admin/translations/sv.json.js.map +1 -0
- package/dist/admin/translations/sv.json.mjs +85 -0
- package/dist/admin/translations/sv.json.mjs.map +1 -0
- package/dist/admin/translations/th.json.js +61 -0
- package/dist/admin/translations/th.json.js.map +1 -0
- package/dist/admin/translations/th.json.mjs +59 -0
- package/dist/admin/translations/th.json.mjs.map +1 -0
- package/dist/admin/translations/tr.json.js +86 -0
- package/dist/admin/translations/tr.json.js.map +1 -0
- package/dist/admin/translations/tr.json.mjs +84 -0
- package/dist/admin/translations/tr.json.mjs.map +1 -0
- package/dist/admin/translations/uk.json.js +87 -0
- package/dist/admin/translations/uk.json.js.map +1 -0
- package/dist/admin/translations/uk.json.mjs +85 -0
- package/dist/admin/translations/uk.json.mjs.map +1 -0
- package/dist/admin/translations/vi.json.js +51 -0
- package/dist/admin/translations/vi.json.js.map +1 -0
- package/dist/admin/translations/vi.json.mjs +49 -0
- package/dist/admin/translations/vi.json.mjs.map +1 -0
- package/dist/admin/translations/zh-Hans.json.js +87 -0
- package/dist/admin/translations/zh-Hans.json.js.map +1 -0
- package/dist/admin/translations/zh-Hans.json.mjs +85 -0
- package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
- package/dist/admin/translations/zh.json.js +87 -0
- package/dist/admin/translations/zh.json.js.map +1 -0
- package/dist/admin/translations/zh.json.mjs +85 -0
- package/dist/admin/translations/zh.json.mjs.map +1 -0
- package/dist/admin/utils/cleanPermissions.js +24 -0
- package/dist/admin/utils/cleanPermissions.js.map +1 -0
- package/dist/admin/utils/cleanPermissions.mjs +22 -0
- package/dist/admin/utils/cleanPermissions.mjs.map +1 -0
- package/dist/admin/utils/formatPluginName.js +29 -0
- package/dist/admin/utils/formatPluginName.js.map +1 -0
- package/dist/admin/utils/formatPluginName.mjs +27 -0
- package/dist/admin/utils/formatPluginName.mjs.map +1 -0
- package/dist/admin/utils/getTrad.js +8 -0
- package/dist/admin/utils/getTrad.js.map +1 -0
- package/dist/admin/utils/getTrad.mjs +6 -0
- package/dist/admin/utils/getTrad.mjs.map +1 -0
- package/dist/admin/utils/prefixPluginTranslations.js +11 -0
- package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
- package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
- package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
- package/dist/server/_virtual/_commonjsHelpers.js +8 -0
- package/dist/server/_virtual/_commonjsHelpers.js.map +1 -0
- package/dist/server/_virtual/_commonjsHelpers.mjs +6 -0
- package/dist/server/_virtual/_commonjsHelpers.mjs.map +1 -0
- package/dist/server/bootstrap/index.js +145 -0
- package/dist/server/bootstrap/index.js.map +1 -0
- package/dist/server/bootstrap/index.mjs +143 -0
- package/dist/server/bootstrap/index.mjs.map +1 -0
- package/dist/server/bootstrap/users-permissions-actions.js +98 -0
- package/dist/server/bootstrap/users-permissions-actions.js.map +1 -0
- package/dist/server/bootstrap/users-permissions-actions.mjs +96 -0
- package/dist/server/bootstrap/users-permissions-actions.mjs.map +1 -0
- package/dist/server/config.js +54 -0
- package/dist/server/config.js.map +1 -0
- package/dist/server/config.mjs +52 -0
- package/dist/server/config.mjs.map +1 -0
- package/dist/server/content-types/index.js +30 -0
- package/dist/server/content-types/index.js.map +1 -0
- package/dist/server/content-types/index.mjs +28 -0
- package/dist/server/content-types/index.mjs.map +1 -0
- package/dist/server/content-types/permission/index.js +44 -0
- package/dist/server/content-types/permission/index.js.map +1 -0
- package/dist/server/content-types/permission/index.mjs +42 -0
- package/dist/server/content-types/permission/index.mjs.map +1 -0
- package/dist/server/content-types/role/index.js +61 -0
- package/dist/server/content-types/role/index.js.map +1 -0
- package/dist/server/content-types/role/index.mjs +59 -0
- package/dist/server/content-types/role/index.mjs.map +1 -0
- package/dist/server/content-types/user/index.js +84 -0
- package/dist/server/content-types/user/index.js.map +1 -0
- package/dist/server/content-types/user/index.mjs +82 -0
- package/dist/server/content-types/user/index.mjs.map +1 -0
- package/dist/server/content-types/user/schema-config.js +25 -0
- package/dist/server/content-types/user/schema-config.js.map +1 -0
- package/dist/server/content-types/user/schema-config.mjs +23 -0
- package/dist/server/content-types/user/schema-config.mjs.map +1 -0
- package/dist/server/controllers/auth.js +429 -0
- package/dist/server/controllers/auth.js.map +1 -0
- package/dist/server/controllers/auth.mjs +427 -0
- package/dist/server/controllers/auth.mjs.map +1 -0
- package/dist/server/controllers/content-manager-user.js +168 -0
- package/dist/server/controllers/content-manager-user.js.map +1 -0
- package/dist/server/controllers/content-manager-user.mjs +166 -0
- package/dist/server/controllers/content-manager-user.mjs.map +1 -0
- package/dist/server/controllers/index.js +33 -0
- package/dist/server/controllers/index.js.map +1 -0
- package/dist/server/controllers/index.mjs +31 -0
- package/dist/server/controllers/index.mjs.map +1 -0
- package/dist/server/controllers/permissions.js +37 -0
- package/dist/server/controllers/permissions.js.map +1 -0
- package/dist/server/controllers/permissions.mjs +35 -0
- package/dist/server/controllers/permissions.mjs.map +1 -0
- package/dist/server/controllers/role.js +91 -0
- package/dist/server/controllers/role.js.map +1 -0
- package/dist/server/controllers/role.mjs +89 -0
- package/dist/server/controllers/role.mjs.map +1 -0
- package/dist/server/controllers/settings.js +107 -0
- package/dist/server/controllers/settings.js.map +1 -0
- package/dist/server/controllers/settings.mjs +105 -0
- package/dist/server/controllers/settings.mjs.map +1 -0
- package/dist/server/controllers/user.js +201 -0
- package/dist/server/controllers/user.js.map +1 -0
- package/dist/server/controllers/user.mjs +199 -0
- package/dist/server/controllers/user.mjs.map +1 -0
- package/dist/server/controllers/validation/auth.js +131 -0
- package/dist/server/controllers/validation/auth.js.map +1 -0
- package/dist/server/controllers/validation/auth.mjs +129 -0
- package/dist/server/controllers/validation/auth.mjs.map +1 -0
- package/dist/server/controllers/validation/email-template.js +72 -0
- package/dist/server/controllers/validation/email-template.js.map +1 -0
- package/dist/server/controllers/validation/email-template.mjs +70 -0
- package/dist/server/controllers/validation/email-template.mjs.map +1 -0
- package/dist/server/controllers/validation/user.js +54 -0
- package/dist/server/controllers/validation/user.js.map +1 -0
- package/dist/server/controllers/validation/user.mjs +52 -0
- package/dist/server/controllers/validation/user.mjs.map +1 -0
- package/dist/server/graphql/index.js +66 -0
- package/dist/server/graphql/index.js.map +1 -0
- package/dist/server/graphql/index.mjs +64 -0
- package/dist/server/graphql/index.mjs.map +1 -0
- package/dist/server/graphql/mutations/auth/change-password.js +40 -0
- package/dist/server/graphql/mutations/auth/change-password.js.map +1 -0
- package/dist/server/graphql/mutations/auth/change-password.mjs +38 -0
- package/dist/server/graphql/mutations/auth/change-password.mjs.map +1 -0
- package/dist/server/graphql/mutations/auth/email-confirmation.js +38 -0
- package/dist/server/graphql/mutations/auth/email-confirmation.js.map +1 -0
- package/dist/server/graphql/mutations/auth/email-confirmation.mjs +36 -0
- package/dist/server/graphql/mutations/auth/email-confirmation.mjs.map +1 -0
- package/dist/server/graphql/mutations/auth/forgot-password.js +37 -0
- package/dist/server/graphql/mutations/auth/forgot-password.js.map +1 -0
- package/dist/server/graphql/mutations/auth/forgot-password.mjs +35 -0
- package/dist/server/graphql/mutations/auth/forgot-password.mjs.map +1 -0
- package/dist/server/graphql/mutations/auth/login.js +40 -0
- package/dist/server/graphql/mutations/auth/login.js.map +1 -0
- package/dist/server/graphql/mutations/auth/login.mjs +38 -0
- package/dist/server/graphql/mutations/auth/login.mjs.map +1 -0
- package/dist/server/graphql/mutations/auth/register.js +38 -0
- package/dist/server/graphql/mutations/auth/register.js.map +1 -0
- package/dist/server/graphql/mutations/auth/register.mjs +36 -0
- package/dist/server/graphql/mutations/auth/register.mjs.map +1 -0
- package/dist/server/graphql/mutations/auth/reset-password.js +40 -0
- package/dist/server/graphql/mutations/auth/reset-password.js.map +1 -0
- package/dist/server/graphql/mutations/auth/reset-password.mjs +38 -0
- package/dist/server/graphql/mutations/auth/reset-password.mjs.map +1 -0
- package/dist/server/graphql/mutations/crud/role/create-role.js +37 -0
- package/dist/server/graphql/mutations/crud/role/create-role.js.map +1 -0
- package/dist/server/graphql/mutations/crud/role/create-role.mjs +35 -0
- package/dist/server/graphql/mutations/crud/role/create-role.mjs.map +1 -0
- package/dist/server/graphql/mutations/crud/role/delete-role.js +32 -0
- package/dist/server/graphql/mutations/crud/role/delete-role.js.map +1 -0
- package/dist/server/graphql/mutations/crud/role/delete-role.mjs +30 -0
- package/dist/server/graphql/mutations/crud/role/delete-role.mjs.map +1 -0
- package/dist/server/graphql/mutations/crud/role/update-role.js +39 -0
- package/dist/server/graphql/mutations/crud/role/update-role.js.map +1 -0
- package/dist/server/graphql/mutations/crud/role/update-role.mjs +37 -0
- package/dist/server/graphql/mutations/crud/role/update-role.mjs.map +1 -0
- package/dist/server/graphql/mutations/crud/user/create-user.js +46 -0
- package/dist/server/graphql/mutations/crud/user/create-user.js.map +1 -0
- package/dist/server/graphql/mutations/crud/user/create-user.mjs +44 -0
- package/dist/server/graphql/mutations/crud/user/create-user.mjs.map +1 -0
- package/dist/server/graphql/mutations/crud/user/delete-user.js +44 -0
- package/dist/server/graphql/mutations/crud/user/delete-user.js.map +1 -0
- package/dist/server/graphql/mutations/crud/user/delete-user.mjs +42 -0
- package/dist/server/graphql/mutations/crud/user/delete-user.mjs.map +1 -0
- package/dist/server/graphql/mutations/crud/user/update-user.js +49 -0
- package/dist/server/graphql/mutations/crud/user/update-user.js.map +1 -0
- package/dist/server/graphql/mutations/crud/user/update-user.mjs +47 -0
- package/dist/server/graphql/mutations/crud/user/update-user.mjs.map +1 -0
- package/dist/server/graphql/mutations/index.js +58 -0
- package/dist/server/graphql/mutations/index.js.map +1 -0
- package/dist/server/graphql/mutations/index.mjs +56 -0
- package/dist/server/graphql/mutations/index.mjs.map +1 -0
- package/dist/server/graphql/queries/index.js +25 -0
- package/dist/server/graphql/queries/index.js.map +1 -0
- package/dist/server/graphql/queries/index.mjs +23 -0
- package/dist/server/graphql/queries/index.mjs.map +1 -0
- package/dist/server/graphql/queries/me.js +23 -0
- package/dist/server/graphql/queries/me.js.map +1 -0
- package/dist/server/graphql/queries/me.mjs +21 -0
- package/dist/server/graphql/queries/me.mjs.map +1 -0
- package/dist/server/graphql/resolvers-configs.js +93 -0
- package/dist/server/graphql/resolvers-configs.js.map +1 -0
- package/dist/server/graphql/resolvers-configs.mjs +91 -0
- package/dist/server/graphql/resolvers-configs.mjs.map +1 -0
- package/dist/server/graphql/types/create-role-payload.js +20 -0
- package/dist/server/graphql/types/create-role-payload.js.map +1 -0
- package/dist/server/graphql/types/create-role-payload.mjs +18 -0
- package/dist/server/graphql/types/create-role-payload.mjs.map +1 -0
- package/dist/server/graphql/types/delete-role-payload.js +20 -0
- package/dist/server/graphql/types/delete-role-payload.js.map +1 -0
- package/dist/server/graphql/types/delete-role-payload.mjs +18 -0
- package/dist/server/graphql/types/delete-role-payload.mjs.map +1 -0
- package/dist/server/graphql/types/index.js +41 -0
- package/dist/server/graphql/types/index.js.map +1 -0
- package/dist/server/graphql/types/index.mjs +39 -0
- package/dist/server/graphql/types/index.mjs.map +1 -0
- package/dist/server/graphql/types/login-input.js +24 -0
- package/dist/server/graphql/types/login-input.js.map +1 -0
- package/dist/server/graphql/types/login-input.mjs +22 -0
- package/dist/server/graphql/types/login-input.mjs.map +1 -0
- package/dist/server/graphql/types/login-payload.js +23 -0
- package/dist/server/graphql/types/login-payload.js.map +1 -0
- package/dist/server/graphql/types/login-payload.mjs +21 -0
- package/dist/server/graphql/types/login-payload.mjs.map +1 -0
- package/dist/server/graphql/types/me-role.js +23 -0
- package/dist/server/graphql/types/me-role.js.map +1 -0
- package/dist/server/graphql/types/me-role.mjs +21 -0
- package/dist/server/graphql/types/me-role.mjs.map +1 -0
- package/dist/server/graphql/types/me.js +28 -0
- package/dist/server/graphql/types/me.js.map +1 -0
- package/dist/server/graphql/types/me.mjs +26 -0
- package/dist/server/graphql/types/me.mjs.map +1 -0
- package/dist/server/graphql/types/password-payload.js +20 -0
- package/dist/server/graphql/types/password-payload.js.map +1 -0
- package/dist/server/graphql/types/password-payload.mjs +18 -0
- package/dist/server/graphql/types/password-payload.mjs.map +1 -0
- package/dist/server/graphql/types/register-input.js +22 -0
- package/dist/server/graphql/types/register-input.js.map +1 -0
- package/dist/server/graphql/types/register-input.mjs +20 -0
- package/dist/server/graphql/types/register-input.mjs.map +1 -0
- package/dist/server/graphql/types/update-role-payload.js +20 -0
- package/dist/server/graphql/types/update-role-payload.js.map +1 -0
- package/dist/server/graphql/types/update-role-payload.mjs +18 -0
- package/dist/server/graphql/types/update-role-payload.mjs.map +1 -0
- package/dist/server/graphql/types/user-input.js +26 -0
- package/dist/server/graphql/types/user-input.js.map +1 -0
- package/dist/server/graphql/types/user-input.mjs +24 -0
- package/dist/server/graphql/types/user-input.mjs.map +1 -0
- package/dist/server/graphql/utils.js +32 -0
- package/dist/server/graphql/utils.js.map +1 -0
- package/dist/server/graphql/utils.mjs +30 -0
- package/dist/server/graphql/utils.mjs.map +1 -0
- package/dist/server/index.js +10 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/index.mjs +8 -0
- package/dist/server/index.mjs.map +1 -0
- package/dist/server/index2.js +39 -0
- package/dist/server/index2.js.map +1 -0
- package/dist/server/index2.mjs +37 -0
- package/dist/server/index2.mjs.map +1 -0
- package/dist/server/middlewares/index.js +18 -0
- package/dist/server/middlewares/index.js.map +1 -0
- package/dist/server/middlewares/index.mjs +16 -0
- package/dist/server/middlewares/index.mjs.map +1 -0
- package/dist/server/middlewares/rateLimit.js +51 -0
- package/dist/server/middlewares/rateLimit.js.map +1 -0
- package/dist/server/middlewares/rateLimit.mjs +49 -0
- package/dist/server/middlewares/rateLimit.mjs.map +1 -0
- package/dist/server/register.js +41 -0
- package/dist/server/register.js.map +1 -0
- package/dist/server/register.mjs +39 -0
- package/dist/server/register.mjs.map +1 -0
- package/dist/server/routes/admin/index.js +27 -0
- package/dist/server/routes/admin/index.js.map +1 -0
- package/dist/server/routes/admin/index.mjs +25 -0
- package/dist/server/routes/admin/index.mjs.map +1 -0
- package/dist/server/routes/admin/permissions.js +29 -0
- package/dist/server/routes/admin/permissions.js.map +1 -0
- package/dist/server/routes/admin/permissions.mjs +27 -0
- package/dist/server/routes/admin/permissions.mjs.map +1 -0
- package/dist/server/routes/admin/role.js +99 -0
- package/dist/server/routes/admin/role.js.map +1 -0
- package/dist/server/routes/admin/role.mjs +97 -0
- package/dist/server/routes/admin/role.mjs.map +1 -0
- package/dist/server/routes/admin/settings.js +116 -0
- package/dist/server/routes/admin/settings.js.map +1 -0
- package/dist/server/routes/admin/settings.mjs +114 -0
- package/dist/server/routes/admin/settings.mjs.map +1 -0
- package/dist/server/routes/content-api/auth.js +152 -0
- package/dist/server/routes/content-api/auth.js.map +1 -0
- package/dist/server/routes/content-api/auth.mjs +150 -0
- package/dist/server/routes/content-api/auth.mjs.map +1 -0
- package/dist/server/routes/content-api/index.js +32 -0
- package/dist/server/routes/content-api/index.js.map +1 -0
- package/dist/server/routes/content-api/index.mjs +30 -0
- package/dist/server/routes/content-api/index.mjs.map +1 -0
- package/dist/server/routes/content-api/permissions.js +26 -0
- package/dist/server/routes/content-api/permissions.js.map +1 -0
- package/dist/server/routes/content-api/permissions.mjs +24 -0
- package/dist/server/routes/content-api/permissions.mjs.map +1 -0
- package/dist/server/routes/content-api/role.js +73 -0
- package/dist/server/routes/content-api/role.js.map +1 -0
- package/dist/server/routes/content-api/role.mjs +71 -0
- package/dist/server/routes/content-api/role.mjs.map +1 -0
- package/dist/server/routes/content-api/user.js +132 -0
- package/dist/server/routes/content-api/user.js.map +1 -0
- package/dist/server/routes/content-api/user.mjs +130 -0
- package/dist/server/routes/content-api/user.mjs.map +1 -0
- package/dist/server/routes/content-api/validation.js +216 -0
- package/dist/server/routes/content-api/validation.js.map +1 -0
- package/dist/server/routes/content-api/validation.mjs +214 -0
- package/dist/server/routes/content-api/validation.mjs.map +1 -0
- package/dist/server/routes/index.js +19 -0
- package/dist/server/routes/index.js.map +1 -0
- package/dist/server/routes/index.mjs +17 -0
- package/dist/server/routes/index.mjs.map +1 -0
- package/dist/server/services/index.js +36 -0
- package/dist/server/services/index.js.map +1 -0
- package/dist/server/services/index.mjs +34 -0
- package/dist/server/services/index.mjs.map +1 -0
- package/dist/server/services/jwt.js +50 -0
- package/dist/server/services/jwt.js.map +1 -0
- package/dist/server/services/jwt.mjs +48 -0
- package/dist/server/services/jwt.mjs.map +1 -0
- package/dist/server/services/permission.js +52 -0
- package/dist/server/services/permission.js.map +1 -0
- package/dist/server/services/permission.mjs +50 -0
- package/dist/server/services/permission.mjs.map +1 -0
- package/dist/server/services/providers-registry.js +555 -0
- package/dist/server/services/providers-registry.js.map +1 -0
- package/dist/server/services/providers-registry.mjs +553 -0
- package/dist/server/services/providers-registry.mjs.map +1 -0
- package/dist/server/services/providers.js +111 -0
- package/dist/server/services/providers.js.map +1 -0
- package/dist/server/services/providers.mjs +109 -0
- package/dist/server/services/providers.mjs.map +1 -0
- package/dist/server/services/role.js +186 -0
- package/dist/server/services/role.js.map +1 -0
- package/dist/server/services/role.mjs +184 -0
- package/dist/server/services/role.mjs.map +1 -0
- package/dist/server/services/user.js +179 -0
- package/dist/server/services/user.js.map +1 -0
- package/dist/server/services/user.mjs +177 -0
- package/dist/server/services/user.mjs.map +1 -0
- package/dist/server/services/users-permissions.js +247 -0
- package/dist/server/services/users-permissions.js.map +1 -0
- package/dist/server/services/users-permissions.mjs +245 -0
- package/dist/server/services/users-permissions.mjs.map +1 -0
- package/dist/server/strategies/users-permissions.js +114 -0
- package/dist/server/strategies/users-permissions.js.map +1 -0
- package/dist/server/strategies/users-permissions.mjs +112 -0
- package/dist/server/strategies/users-permissions.mjs.map +1 -0
- package/dist/server/utils/index.js +22 -0
- package/dist/server/utils/index.js.map +1 -0
- package/dist/server/utils/index.mjs +20 -0
- package/dist/server/utils/index.mjs.map +1 -0
- package/dist/server/utils/sanitize/index.js +21 -0
- package/dist/server/utils/sanitize/index.js.map +1 -0
- package/dist/server/utils/sanitize/index.mjs +19 -0
- package/dist/server/utils/sanitize/index.mjs.map +1 -0
- package/dist/server/utils/sanitize/sanitizers.js +32 -0
- package/dist/server/utils/sanitize/sanitizers.js.map +1 -0
- package/dist/server/utils/sanitize/sanitizers.mjs +30 -0
- package/dist/server/utils/sanitize/sanitizers.mjs.map +1 -0
- package/dist/server/utils/sanitize/visitors/index.js +17 -0
- package/dist/server/utils/sanitize/visitors/index.js.map +1 -0
- package/dist/server/utils/sanitize/visitors/index.mjs +15 -0
- package/dist/server/utils/sanitize/visitors/index.mjs.map +1 -0
- package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js +17 -0
- package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js.map +1 -0
- package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.mjs +15 -0
- package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.mjs.map +1 -0
- package/package.json +33 -33
- package/rollup.config.mjs +19 -0
- package/server/bootstrap/index.js +18 -51
- package/server/bootstrap/users-permissions-actions.js +6 -0
- package/server/config.js +29 -0
- package/server/content-types/user/index.js +0 -1
- package/server/controllers/auth.js +63 -64
- package/server/controllers/content-manager-user.js +31 -34
- package/server/controllers/role.js +17 -4
- package/server/controllers/user.js +8 -9
- package/server/controllers/validation/auth.js +104 -25
- package/server/controllers/validation/user.js +12 -1
- package/server/graphql/types/index.js +1 -0
- package/server/graphql/types/me.js +1 -0
- package/server/graphql/types/user-input.js +20 -0
- package/server/middlewares/rateLimit.js +1 -1
- package/server/register.js +2 -2
- package/server/routes/content-api/auth.js +107 -71
- package/server/routes/content-api/index.js +10 -3
- package/server/routes/content-api/permissions.js +14 -7
- package/server/routes/content-api/role.js +57 -27
- package/server/routes/content-api/user.js +108 -51
- package/server/routes/content-api/validation.js +249 -0
- package/server/services/jwt.js +3 -3
- package/server/services/permission.js +3 -7
- package/server/services/providers-registry.js +469 -261
- package/server/services/providers.js +10 -5
- package/server/services/role.js +15 -13
- package/server/services/user.js +56 -19
- package/server/services/users-permissions.js +15 -13
- package/server/utils/index.d.ts +2 -1
- package/server/utils/sanitize/sanitizers.js +7 -3
- package/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js +2 -2
- package/admin/src/components/FormModal/index.js +0 -126
- package/admin/src/components/Permissions/index.js +0 -55
- package/admin/src/pages/AdvancedSettings/index.js +0 -259
- package/admin/src/pages/EmailTemplates/components/EmailForm.js +0 -176
- package/admin/src/pages/Roles/index.js +0 -33
- package/admin/src/pages/Roles/pages/ListPage/utils/api.js +0 -30
- package/packup.config.ts +0 -42
- package/server/bootstrap/grant-config.js +0 -131
- package/strapi-server.js +0 -3
- /package/admin/src/components/Permissions/PermissionRow/{index.js → index.jsx} +0 -0
- /package/admin/src/contexts/UsersPermissionsContext/{index.js → index.jsx} +0 -0
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var designSystem = require('@strapi/design-system');
|
|
6
|
+
var icons = require('@strapi/icons');
|
|
7
|
+
var admin = require('@strapi/strapi/admin');
|
|
8
|
+
var formik = require('formik');
|
|
9
|
+
var reactIntl = require('react-intl');
|
|
10
|
+
var reactQuery = require('react-query');
|
|
11
|
+
var reactRouterDom = require('react-router-dom');
|
|
12
|
+
var index = require('../../../components/UsersPermissions/index.js');
|
|
13
|
+
var constants = require('../../../constants.js');
|
|
14
|
+
var getTrad = require('../../../utils/getTrad.js');
|
|
15
|
+
var constants$1 = require('../constants.js');
|
|
16
|
+
var usePlugins = require('../hooks/usePlugins.js');
|
|
17
|
+
|
|
18
|
+
function _interopNamespaceDefault(e) {
|
|
19
|
+
var n = Object.create(null);
|
|
20
|
+
if (e) {
|
|
21
|
+
Object.keys(e).forEach(function (k) {
|
|
22
|
+
if (k !== 'default') {
|
|
23
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
24
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () { return e[k]; }
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
n.default = e;
|
|
32
|
+
return Object.freeze(n);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
36
|
+
|
|
37
|
+
const EditPage = ()=>{
|
|
38
|
+
const { formatMessage } = reactIntl.useIntl();
|
|
39
|
+
const { toggleNotification } = admin.useNotification();
|
|
40
|
+
const { params: { id } } = reactRouterDom.useMatch(`/settings/users-permissions/roles/:id`);
|
|
41
|
+
const { get } = admin.useFetchClient();
|
|
42
|
+
const { isLoading: isLoadingPlugins, routes } = usePlugins.usePlugins();
|
|
43
|
+
const { data: role, isLoading: isLoadingRole, refetch: refetchRole } = reactQuery.useQuery([
|
|
44
|
+
'users-permissions',
|
|
45
|
+
'role',
|
|
46
|
+
id
|
|
47
|
+
], async ()=>{
|
|
48
|
+
// TODO: why doesn't this endpoint follow the admin API conventions?
|
|
49
|
+
const { data: { role } } = await get(`/users-permissions/roles/${id}`);
|
|
50
|
+
return role;
|
|
51
|
+
});
|
|
52
|
+
const permissionsRef = React__namespace.useRef();
|
|
53
|
+
const { put } = admin.useFetchClient();
|
|
54
|
+
const { formatAPIError } = admin.useAPIErrorHandler();
|
|
55
|
+
const mutation = reactQuery.useMutation((body)=>put(`/users-permissions/roles/${id}`, body), {
|
|
56
|
+
onError (error) {
|
|
57
|
+
toggleNotification({
|
|
58
|
+
type: 'danger',
|
|
59
|
+
message: formatAPIError(error)
|
|
60
|
+
});
|
|
61
|
+
},
|
|
62
|
+
async onSuccess () {
|
|
63
|
+
toggleNotification({
|
|
64
|
+
type: 'success',
|
|
65
|
+
message: formatMessage({
|
|
66
|
+
id: getTrad('Settings.roles.created'),
|
|
67
|
+
defaultMessage: 'Role edited'
|
|
68
|
+
})
|
|
69
|
+
});
|
|
70
|
+
await refetchRole();
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
const handleEditRoleSubmit = async (data)=>{
|
|
74
|
+
const permissions = permissionsRef.current.getPermissions();
|
|
75
|
+
await mutation.mutate({
|
|
76
|
+
...data,
|
|
77
|
+
...permissions,
|
|
78
|
+
users: []
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
if (isLoadingRole) {
|
|
82
|
+
return /*#__PURE__*/ jsxRuntime.jsx(admin.Page.Loading, {});
|
|
83
|
+
}
|
|
84
|
+
return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Main, {
|
|
85
|
+
children: [
|
|
86
|
+
/*#__PURE__*/ jsxRuntime.jsx(admin.Page.Title, {
|
|
87
|
+
children: formatMessage({
|
|
88
|
+
id: 'Settings.PageTitle',
|
|
89
|
+
defaultMessage: 'Settings - {name}'
|
|
90
|
+
}, {
|
|
91
|
+
name: 'Roles'
|
|
92
|
+
})
|
|
93
|
+
}),
|
|
94
|
+
/*#__PURE__*/ jsxRuntime.jsx(formik.Formik, {
|
|
95
|
+
enableReinitialize: true,
|
|
96
|
+
initialValues: {
|
|
97
|
+
name: role.name,
|
|
98
|
+
description: role.description
|
|
99
|
+
},
|
|
100
|
+
onSubmit: handleEditRoleSubmit,
|
|
101
|
+
validationSchema: constants$1.createRoleSchema,
|
|
102
|
+
children: ({ handleSubmit, values, handleChange, errors })=>/*#__PURE__*/ jsxRuntime.jsxs(formik.Form, {
|
|
103
|
+
noValidate: true,
|
|
104
|
+
onSubmit: handleSubmit,
|
|
105
|
+
children: [
|
|
106
|
+
/*#__PURE__*/ jsxRuntime.jsx(admin.Layouts.Header, {
|
|
107
|
+
primaryAction: !isLoadingPlugins ? /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
|
|
108
|
+
disabled: role.code === 'strapi-super-admin',
|
|
109
|
+
type: "submit",
|
|
110
|
+
loading: mutation.isLoading,
|
|
111
|
+
startIcon: /*#__PURE__*/ jsxRuntime.jsx(icons.Check, {}),
|
|
112
|
+
children: formatMessage({
|
|
113
|
+
id: 'global.save',
|
|
114
|
+
defaultMessage: 'Save'
|
|
115
|
+
})
|
|
116
|
+
}) : null,
|
|
117
|
+
title: role.name,
|
|
118
|
+
subtitle: role.description,
|
|
119
|
+
navigationAction: /*#__PURE__*/ jsxRuntime.jsx(admin.BackButton, {
|
|
120
|
+
fallback: ".."
|
|
121
|
+
})
|
|
122
|
+
}),
|
|
123
|
+
/*#__PURE__*/ jsxRuntime.jsx(admin.Layouts.Content, {
|
|
124
|
+
children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
|
125
|
+
background: "neutral0",
|
|
126
|
+
direction: "column",
|
|
127
|
+
alignItems: "stretch",
|
|
128
|
+
gap: 7,
|
|
129
|
+
hasRadius: true,
|
|
130
|
+
paddingTop: 6,
|
|
131
|
+
paddingBottom: 6,
|
|
132
|
+
paddingLeft: 7,
|
|
133
|
+
paddingRight: 7,
|
|
134
|
+
shadow: "filterShadow",
|
|
135
|
+
children: [
|
|
136
|
+
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
|
137
|
+
direction: "column",
|
|
138
|
+
alignItems: "stretch",
|
|
139
|
+
gap: 4,
|
|
140
|
+
children: [
|
|
141
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
142
|
+
variant: "delta",
|
|
143
|
+
tag: "h2",
|
|
144
|
+
children: formatMessage({
|
|
145
|
+
id: getTrad('EditPage.form.roles'),
|
|
146
|
+
defaultMessage: 'Role details'
|
|
147
|
+
})
|
|
148
|
+
}),
|
|
149
|
+
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Grid.Root, {
|
|
150
|
+
gap: 4,
|
|
151
|
+
children: [
|
|
152
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
|
|
153
|
+
col: 6,
|
|
154
|
+
direction: "column",
|
|
155
|
+
alignItems: "stretch",
|
|
156
|
+
children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
|
|
157
|
+
name: "name",
|
|
158
|
+
error: errors?.name ? formatMessage({
|
|
159
|
+
id: errors.name,
|
|
160
|
+
defaultMessage: 'Name is required'
|
|
161
|
+
}) : false,
|
|
162
|
+
required: true,
|
|
163
|
+
children: [
|
|
164
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Label, {
|
|
165
|
+
children: formatMessage({
|
|
166
|
+
id: 'global.name',
|
|
167
|
+
defaultMessage: 'Name'
|
|
168
|
+
})
|
|
169
|
+
}),
|
|
170
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.TextInput, {
|
|
171
|
+
value: values.name || '',
|
|
172
|
+
onChange: handleChange
|
|
173
|
+
}),
|
|
174
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Error, {})
|
|
175
|
+
]
|
|
176
|
+
})
|
|
177
|
+
}),
|
|
178
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
|
|
179
|
+
col: 6,
|
|
180
|
+
direction: "column",
|
|
181
|
+
alignItems: "stretch",
|
|
182
|
+
children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
|
|
183
|
+
name: "description",
|
|
184
|
+
error: errors?.description ? formatMessage({
|
|
185
|
+
id: errors.description,
|
|
186
|
+
defaultMessage: 'Description is required'
|
|
187
|
+
}) : false,
|
|
188
|
+
required: true,
|
|
189
|
+
children: [
|
|
190
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Label, {
|
|
191
|
+
children: formatMessage({
|
|
192
|
+
id: 'global.description',
|
|
193
|
+
defaultMessage: 'Description'
|
|
194
|
+
})
|
|
195
|
+
}),
|
|
196
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Textarea, {
|
|
197
|
+
value: values.description || '',
|
|
198
|
+
onChange: handleChange
|
|
199
|
+
}),
|
|
200
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Error, {})
|
|
201
|
+
]
|
|
202
|
+
})
|
|
203
|
+
})
|
|
204
|
+
]
|
|
205
|
+
})
|
|
206
|
+
]
|
|
207
|
+
}),
|
|
208
|
+
!isLoadingPlugins && /*#__PURE__*/ jsxRuntime.jsx(index, {
|
|
209
|
+
ref: permissionsRef,
|
|
210
|
+
permissions: role.permissions,
|
|
211
|
+
routes: routes
|
|
212
|
+
})
|
|
213
|
+
]
|
|
214
|
+
})
|
|
215
|
+
})
|
|
216
|
+
]
|
|
217
|
+
})
|
|
218
|
+
})
|
|
219
|
+
]
|
|
220
|
+
});
|
|
221
|
+
};
|
|
222
|
+
const ProtectedRolesEditPage = ()=>/*#__PURE__*/ jsxRuntime.jsx(admin.Page.Protect, {
|
|
223
|
+
permissions: constants.PERMISSIONS.updateRole,
|
|
224
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(EditPage, {})
|
|
225
|
+
});
|
|
226
|
+
|
|
227
|
+
exports.EditPage = EditPage;
|
|
228
|
+
exports.ProtectedRolesEditPage = ProtectedRolesEditPage;
|
|
229
|
+
//# sourceMappingURL=EditPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EditPage.js","sources":["../../../../../admin/src/pages/Roles/pages/EditPage.jsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Main,\n Button,\n Flex,\n TextInput,\n Textarea,\n Typography,\n Grid,\n Field,\n} from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport {\n Page,\n BackButton,\n useAPIErrorHandler,\n useNotification,\n useFetchClient,\n Layouts,\n} from '@strapi/strapi/admin';\nimport { Formik, Form } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { useQuery, useMutation } from 'react-query';\nimport { useMatch } from 'react-router-dom';\n\nimport UsersPermissions from '../../../components/UsersPermissions';\nimport { PERMISSIONS } from '../../../constants';\nimport getTrad from '../../../utils/getTrad';\nimport { createRoleSchema } from '../constants';\nimport { usePlugins } from '../hooks/usePlugins';\n\nexport const EditPage = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const {\n params: { id },\n } = useMatch(`/settings/users-permissions/roles/:id`);\n const { get } = useFetchClient();\n const { isLoading: isLoadingPlugins, routes } = usePlugins();\n const {\n data: role,\n isLoading: isLoadingRole,\n refetch: refetchRole,\n } = useQuery(['users-permissions', 'role', id], async () => {\n // TODO: why doesn't this endpoint follow the admin API conventions?\n const {\n data: { role },\n } = await get(`/users-permissions/roles/${id}`);\n\n return role;\n });\n\n const permissionsRef = React.useRef();\n const { put } = useFetchClient();\n const { formatAPIError } = useAPIErrorHandler();\n const mutation = useMutation((body) => put(`/users-permissions/roles/${id}`, body), {\n onError(error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n },\n\n async onSuccess() {\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTrad('Settings.roles.created'),\n defaultMessage: 'Role edited',\n }),\n });\n\n await refetchRole();\n },\n });\n\n const handleEditRoleSubmit = async (data) => {\n const permissions = permissionsRef.current.getPermissions();\n\n await mutation.mutate({ ...data, ...permissions, users: [] });\n };\n\n if (isLoadingRole) {\n return <Page.Loading />;\n }\n\n return (\n <Main>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n { name: 'Roles' }\n )}\n </Page.Title>\n <Formik\n enableReinitialize\n initialValues={{ name: role.name, description: role.description }}\n onSubmit={handleEditRoleSubmit}\n validationSchema={createRoleSchema}\n >\n {({ handleSubmit, values, handleChange, errors }) => (\n <Form noValidate onSubmit={handleSubmit}>\n <Layouts.Header\n primaryAction={\n !isLoadingPlugins ? (\n <Button\n disabled={role.code === 'strapi-super-admin'}\n type=\"submit\"\n loading={mutation.isLoading}\n startIcon={<Check />}\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n ) : null\n }\n title={role.name}\n subtitle={role.description}\n navigationAction={<BackButton fallback=\"..\" />}\n />\n <Layouts.Content>\n <Flex\n background=\"neutral0\"\n direction=\"column\"\n alignItems=\"stretch\"\n gap={7}\n hasRadius\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n shadow=\"filterShadow\"\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: getTrad('EditPage.form.roles'),\n defaultMessage: 'Role details',\n })}\n </Typography>\n\n <Grid.Root gap={4}>\n <Grid.Item col={6} direction=\"column\" alignItems=\"stretch\">\n <Field.Root\n name=\"name\"\n error={\n errors?.name\n ? formatMessage({\n id: errors.name,\n defaultMessage: 'Name is required',\n })\n : false\n }\n required\n >\n <Field.Label>\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Field.Label>\n <TextInput value={values.name || ''} onChange={handleChange} />\n <Field.Error />\n </Field.Root>\n </Grid.Item>\n <Grid.Item col={6} direction=\"column\" alignItems=\"stretch\">\n <Field.Root\n name=\"description\"\n error={\n errors?.description\n ? formatMessage({\n id: errors.description,\n defaultMessage: 'Description is required',\n })\n : false\n }\n required\n >\n <Field.Label>\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'Description',\n })}\n </Field.Label>\n <Textarea value={values.description || ''} onChange={handleChange} />\n <Field.Error />\n </Field.Root>\n </Grid.Item>\n </Grid.Root>\n </Flex>\n\n {!isLoadingPlugins && (\n <UsersPermissions\n ref={permissionsRef}\n permissions={role.permissions}\n routes={routes}\n />\n )}\n </Flex>\n </Layouts.Content>\n </Form>\n )}\n </Formik>\n </Main>\n );\n};\n\nexport const ProtectedRolesEditPage = () => (\n <Page.Protect permissions={PERMISSIONS.updateRole}>\n <EditPage />\n </Page.Protect>\n);\n"],"names":["EditPage","formatMessage","useIntl","toggleNotification","useNotification","params","id","useMatch","get","useFetchClient","isLoading","isLoadingPlugins","routes","usePlugins","data","role","isLoadingRole","refetch","refetchRole","useQuery","permissionsRef","React","useRef","put","formatAPIError","useAPIErrorHandler","mutation","useMutation","body","onError","error","type","message","onSuccess","getTrad","defaultMessage","handleEditRoleSubmit","permissions","current","getPermissions","mutate","users","_jsx","Page","Loading","_jsxs","Main","Title","name","Formik","enableReinitialize","initialValues","description","onSubmit","validationSchema","createRoleSchema","handleSubmit","values","handleChange","errors","Form","noValidate","Layouts","Header","primaryAction","Button","disabled","code","loading","startIcon","Check","title","subtitle","navigationAction","BackButton","fallback","Content","Flex","background","direction","alignItems","gap","hasRadius","paddingTop","paddingBottom","paddingLeft","paddingRight","shadow","Typography","variant","tag","Grid","Root","Item","col","Field","required","Label","TextInput","value","onChange","Error","Textarea","UsersPermissions","ref","ProtectedRolesEditPage","Protect","PERMISSIONS","updateRole"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAgCaA,QAAW,GAAA,IAAA;IACtB,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAC1B,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,qBAAAA,EAAAA;IAC/B,MAAM,EACJC,MAAQ,EAAA,EAAEC,EAAE,EAAE,EACf,GAAGC,uBAAAA,CAAS,CAAC,qCAAqC,CAAC,CAAA;IACpD,MAAM,EAAEC,GAAG,EAAE,GAAGC,oBAAAA,EAAAA;AAChB,IAAA,MAAM,EAAEC,SAAWC,EAAAA,gBAAgB,EAAEC,MAAM,EAAE,GAAGC,qBAAAA,EAAAA;IAChD,MAAM,EACJC,IAAMC,EAAAA,IAAI,EACVL,SAAAA,EAAWM,aAAa,EACxBC,OAASC,EAAAA,WAAW,EACrB,GAAGC,mBAAS,CAAA;AAAC,QAAA,mBAAA;AAAqB,QAAA,MAAA;AAAQb,QAAAA;KAAG,EAAE,UAAA;;AAE9C,QAAA,MAAM,EACJQ,IAAAA,EAAM,EAAEC,IAAI,EAAE,EACf,GAAG,MAAMP,GAAI,CAAA,CAAC,yBAAyB,EAAEF,GAAG,CAAC,CAAA;QAE9C,OAAOS,IAAAA;AACT,KAAA,CAAA;IAEA,MAAMK,cAAAA,GAAiBC,iBAAMC,MAAM,EAAA;IACnC,MAAM,EAAEC,GAAG,EAAE,GAAGd,oBAAAA,EAAAA;IAChB,MAAM,EAAEe,cAAc,EAAE,GAAGC,wBAAAA,EAAAA;IAC3B,MAAMC,QAAAA,GAAWC,sBAAY,CAAA,CAACC,IAASL,GAAAA,GAAAA,CAAI,CAAC,yBAAyB,EAAEjB,EAAAA,CAAG,CAAC,EAAEsB,IAAO,CAAA,EAAA;AAClFC,QAAAA,OAAAA,CAAAA,CAAQC,KAAK,EAAA;YACX3B,kBAAmB,CAAA;gBACjB4B,IAAM,EAAA,QAAA;AACNC,gBAAAA,OAAAA,EAASR,cAAeM,CAAAA,KAAAA;AAC1B,aAAA,CAAA;AACF,SAAA;QAEA,MAAMG,SAAAA,CAAAA,GAAAA;YACJ9B,kBAAmB,CAAA;gBACjB4B,IAAM,EAAA,SAAA;AACNC,gBAAAA,OAAAA,EAAS/B,aAAc,CAAA;AACrBK,oBAAAA,EAAAA,EAAI4B,OAAQ,CAAA,wBAAA,CAAA;oBACZC,cAAgB,EAAA;AAClB,iBAAA;AACF,aAAA,CAAA;YAEA,MAAMjB,WAAAA,EAAAA;AACR;AACF,KAAA,CAAA;AAEA,IAAA,MAAMkB,uBAAuB,OAAOtB,IAAAA,GAAAA;AAClC,QAAA,MAAMuB,WAAcjB,GAAAA,cAAAA,CAAekB,OAAO,CAACC,cAAc,EAAA;QAEzD,MAAMb,QAAAA,CAASc,MAAM,CAAC;AAAE,YAAA,GAAG1B,IAAI;AAAE,YAAA,GAAGuB,WAAW;AAAEI,YAAAA,KAAAA,EAAO;AAAG,SAAA,CAAA;AAC7D,KAAA;AAEA,IAAA,IAAIzB,aAAe,EAAA;QACjB,qBAAO0B,cAAA,CAACC,WAAKC,OAAO,EAAA,EAAA,CAAA;AACtB;AAEA,IAAA,qBACEC,eAACC,CAAAA,iBAAAA,EAAAA;;AACC,0BAAAJ,cAAA,CAACC,WAAKI,KAAK,EAAA;0BACR9C,aACC,CAAA;oBAAEK,EAAI,EAAA,oBAAA;oBAAsB6B,cAAgB,EAAA;iBAC5C,EAAA;oBAAEa,IAAM,EAAA;AAAQ,iBAAA;;0BAGpBN,cAACO,CAAAA,aAAAA,EAAAA;gBACCC,kBAAkB,EAAA,IAAA;gBAClBC,aAAe,EAAA;AAAEH,oBAAAA,IAAAA,EAAMjC,KAAKiC,IAAI;AAAEI,oBAAAA,WAAAA,EAAarC,KAAKqC;AAAY,iBAAA;gBAChEC,QAAUjB,EAAAA,oBAAAA;gBACVkB,gBAAkBC,EAAAA,4BAAAA;0BAEjB,CAAC,EAAEC,YAAY,EAAEC,MAAM,EAAEC,YAAY,EAAEC,MAAM,EAAE,iBAC9Cd,eAACe,CAAAA,WAAAA,EAAAA;wBAAKC,UAAU,EAAA,IAAA;wBAACR,QAAUG,EAAAA,YAAAA;;AACzB,0CAAAd,cAAA,CAACoB,cAAQC,MAAM,EAAA;gCACbC,aACE,EAAA,CAACrD,iCACC+B,cAACuB,CAAAA,mBAAAA,EAAAA;oCACCC,QAAUnD,EAAAA,IAAAA,CAAKoD,IAAI,KAAK,oBAAA;oCACxBpC,IAAK,EAAA,QAAA;AACLqC,oCAAAA,OAAAA,EAAS1C,SAAShB,SAAS;AAC3B2D,oCAAAA,SAAAA,gBAAW3B,cAAC4B,CAAAA,WAAAA,EAAAA,EAAAA,CAAAA;8CAEXrE,aAAc,CAAA;wCACbK,EAAI,EAAA,aAAA;wCACJ6B,cAAgB,EAAA;AAClB,qCAAA;AAEA,iCAAA,CAAA,GAAA,IAAA;AAENoC,gCAAAA,KAAAA,EAAOxD,KAAKiC,IAAI;AAChBwB,gCAAAA,QAAAA,EAAUzD,KAAKqC,WAAW;AAC1BqB,gCAAAA,gBAAAA,gBAAkB/B,cAACgC,CAAAA,gBAAAA,EAAAA;oCAAWC,QAAS,EAAA;;;AAEzC,0CAAAjC,cAAA,CAACoB,cAAQc,OAAO,EAAA;AACd,gCAAA,QAAA,gBAAA/B,eAACgC,CAAAA,iBAAAA,EAAAA;oCACCC,UAAW,EAAA,UAAA;oCACXC,SAAU,EAAA,QAAA;oCACVC,UAAW,EAAA,SAAA;oCACXC,GAAK,EAAA,CAAA;oCACLC,SAAS,EAAA,IAAA;oCACTC,UAAY,EAAA,CAAA;oCACZC,aAAe,EAAA,CAAA;oCACfC,WAAa,EAAA,CAAA;oCACbC,YAAc,EAAA,CAAA;oCACdC,MAAO,EAAA,cAAA;;sDAEP1C,eAACgC,CAAAA,iBAAAA,EAAAA;4CAAKE,SAAU,EAAA,QAAA;4CAASC,UAAW,EAAA,SAAA;4CAAUC,GAAK,EAAA,CAAA;;8DACjDvC,cAAC8C,CAAAA,uBAAAA,EAAAA;oDAAWC,OAAQ,EAAA,OAAA;oDAAQC,GAAI,EAAA,IAAA;8DAC7BzF,aAAc,CAAA;AACbK,wDAAAA,EAAAA,EAAI4B,OAAQ,CAAA,qBAAA,CAAA;wDACZC,cAAgB,EAAA;AAClB,qDAAA;;AAGF,8DAAAU,eAAA,CAAC8C,kBAAKC,IAAI,EAAA;oDAACX,GAAK,EAAA,CAAA;;AACd,sEAAAvC,cAAA,CAACiD,kBAAKE,IAAI,EAAA;4DAACC,GAAK,EAAA,CAAA;4DAAGf,SAAU,EAAA,QAAA;4DAASC,UAAW,EAAA,SAAA;oFAC/CnC,eAAA,CAACkD,mBAAMH,IAAI,EAAA;gEACT5C,IAAK,EAAA,MAAA;gEACLlB,KACE6B,EAAAA,MAAAA,EAAQX,OACJ/C,aAAc,CAAA;AACZK,oEAAAA,EAAAA,EAAIqD,OAAOX,IAAI;oEACfb,cAAgB,EAAA;iEAElB,CAAA,GAAA,KAAA;gEAEN6D,QAAQ,EAAA,IAAA;;AAER,kFAAAtD,cAAA,CAACqD,mBAAME,KAAK,EAAA;kFACThG,aAAc,CAAA;4EACbK,EAAI,EAAA,aAAA;4EACJ6B,cAAgB,EAAA;AAClB,yEAAA;;kFAEFO,cAACwD,CAAAA,sBAAAA,EAAAA;wEAAUC,KAAO1C,EAAAA,MAAAA,CAAOT,IAAI,IAAI,EAAA;wEAAIoD,QAAU1C,EAAAA;;AAC/C,kFAAAhB,cAAA,CAACqD,mBAAMM,KAAK,EAAA,EAAA;;;;AAGhB,sEAAA3D,cAAA,CAACiD,kBAAKE,IAAI,EAAA;4DAACC,GAAK,EAAA,CAAA;4DAAGf,SAAU,EAAA,QAAA;4DAASC,UAAW,EAAA,SAAA;oFAC/CnC,eAAA,CAACkD,mBAAMH,IAAI,EAAA;gEACT5C,IAAK,EAAA,aAAA;gEACLlB,KACE6B,EAAAA,MAAAA,EAAQP,cACJnD,aAAc,CAAA;AACZK,oEAAAA,EAAAA,EAAIqD,OAAOP,WAAW;oEACtBjB,cAAgB,EAAA;iEAElB,CAAA,GAAA,KAAA;gEAEN6D,QAAQ,EAAA,IAAA;;AAER,kFAAAtD,cAAA,CAACqD,mBAAME,KAAK,EAAA;kFACThG,aAAc,CAAA;4EACbK,EAAI,EAAA,oBAAA;4EACJ6B,cAAgB,EAAA;AAClB,yEAAA;;kFAEFO,cAAC4D,CAAAA,qBAAAA,EAAAA;wEAASH,KAAO1C,EAAAA,MAAAA,CAAOL,WAAW,IAAI,EAAA;wEAAIgD,QAAU1C,EAAAA;;AACrD,kFAAAhB,cAAA,CAACqD,mBAAMM,KAAK,EAAA,EAAA;;;;;;;;AAMnB,wCAAA,CAAC1F,kCACA+B,cAAC6D,CAAAA,KAAAA,EAAAA;4CACCC,GAAKpF,EAAAA,cAAAA;AACLiB,4CAAAA,WAAAA,EAAatB,KAAKsB,WAAW;4CAC7BzB,MAAQA,EAAAA;;;;;;;;;;AAU5B;AAEa6F,MAAAA,sBAAAA,GAAyB,kBACpC/D,cAAA,CAACC,WAAK+D,OAAO,EAAA;AAACrE,QAAAA,WAAAA,EAAasE,sBAAYC,UAAU;AAC/C,QAAA,QAAA,gBAAAlE,cAAC1C,CAAAA,QAAAA,EAAAA,EAAAA;AAEH,KAAA;;;;;"}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { Main, Button, Flex, Typography, Grid, Field, TextInput, Textarea } from '@strapi/design-system';
|
|
4
|
+
import { Check } from '@strapi/icons';
|
|
5
|
+
import { Page, useNotification, useFetchClient, useAPIErrorHandler, Layouts, BackButton } from '@strapi/strapi/admin';
|
|
6
|
+
import { Formik, Form } from 'formik';
|
|
7
|
+
import { useIntl } from 'react-intl';
|
|
8
|
+
import { useQuery, useMutation } from 'react-query';
|
|
9
|
+
import { useMatch } from 'react-router-dom';
|
|
10
|
+
import UsersPermissions from '../../../components/UsersPermissions/index.mjs';
|
|
11
|
+
import { PERMISSIONS } from '../../../constants.mjs';
|
|
12
|
+
import getTrad from '../../../utils/getTrad.mjs';
|
|
13
|
+
import { createRoleSchema } from '../constants.mjs';
|
|
14
|
+
import { usePlugins } from '../hooks/usePlugins.mjs';
|
|
15
|
+
|
|
16
|
+
const EditPage = ()=>{
|
|
17
|
+
const { formatMessage } = useIntl();
|
|
18
|
+
const { toggleNotification } = useNotification();
|
|
19
|
+
const { params: { id } } = useMatch(`/settings/users-permissions/roles/:id`);
|
|
20
|
+
const { get } = useFetchClient();
|
|
21
|
+
const { isLoading: isLoadingPlugins, routes } = usePlugins();
|
|
22
|
+
const { data: role, isLoading: isLoadingRole, refetch: refetchRole } = useQuery([
|
|
23
|
+
'users-permissions',
|
|
24
|
+
'role',
|
|
25
|
+
id
|
|
26
|
+
], async ()=>{
|
|
27
|
+
// TODO: why doesn't this endpoint follow the admin API conventions?
|
|
28
|
+
const { data: { role } } = await get(`/users-permissions/roles/${id}`);
|
|
29
|
+
return role;
|
|
30
|
+
});
|
|
31
|
+
const permissionsRef = React.useRef();
|
|
32
|
+
const { put } = useFetchClient();
|
|
33
|
+
const { formatAPIError } = useAPIErrorHandler();
|
|
34
|
+
const mutation = useMutation((body)=>put(`/users-permissions/roles/${id}`, body), {
|
|
35
|
+
onError (error) {
|
|
36
|
+
toggleNotification({
|
|
37
|
+
type: 'danger',
|
|
38
|
+
message: formatAPIError(error)
|
|
39
|
+
});
|
|
40
|
+
},
|
|
41
|
+
async onSuccess () {
|
|
42
|
+
toggleNotification({
|
|
43
|
+
type: 'success',
|
|
44
|
+
message: formatMessage({
|
|
45
|
+
id: getTrad('Settings.roles.created'),
|
|
46
|
+
defaultMessage: 'Role edited'
|
|
47
|
+
})
|
|
48
|
+
});
|
|
49
|
+
await refetchRole();
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
const handleEditRoleSubmit = async (data)=>{
|
|
53
|
+
const permissions = permissionsRef.current.getPermissions();
|
|
54
|
+
await mutation.mutate({
|
|
55
|
+
...data,
|
|
56
|
+
...permissions,
|
|
57
|
+
users: []
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
if (isLoadingRole) {
|
|
61
|
+
return /*#__PURE__*/ jsx(Page.Loading, {});
|
|
62
|
+
}
|
|
63
|
+
return /*#__PURE__*/ jsxs(Main, {
|
|
64
|
+
children: [
|
|
65
|
+
/*#__PURE__*/ jsx(Page.Title, {
|
|
66
|
+
children: formatMessage({
|
|
67
|
+
id: 'Settings.PageTitle',
|
|
68
|
+
defaultMessage: 'Settings - {name}'
|
|
69
|
+
}, {
|
|
70
|
+
name: 'Roles'
|
|
71
|
+
})
|
|
72
|
+
}),
|
|
73
|
+
/*#__PURE__*/ jsx(Formik, {
|
|
74
|
+
enableReinitialize: true,
|
|
75
|
+
initialValues: {
|
|
76
|
+
name: role.name,
|
|
77
|
+
description: role.description
|
|
78
|
+
},
|
|
79
|
+
onSubmit: handleEditRoleSubmit,
|
|
80
|
+
validationSchema: createRoleSchema,
|
|
81
|
+
children: ({ handleSubmit, values, handleChange, errors })=>/*#__PURE__*/ jsxs(Form, {
|
|
82
|
+
noValidate: true,
|
|
83
|
+
onSubmit: handleSubmit,
|
|
84
|
+
children: [
|
|
85
|
+
/*#__PURE__*/ jsx(Layouts.Header, {
|
|
86
|
+
primaryAction: !isLoadingPlugins ? /*#__PURE__*/ jsx(Button, {
|
|
87
|
+
disabled: role.code === 'strapi-super-admin',
|
|
88
|
+
type: "submit",
|
|
89
|
+
loading: mutation.isLoading,
|
|
90
|
+
startIcon: /*#__PURE__*/ jsx(Check, {}),
|
|
91
|
+
children: formatMessage({
|
|
92
|
+
id: 'global.save',
|
|
93
|
+
defaultMessage: 'Save'
|
|
94
|
+
})
|
|
95
|
+
}) : null,
|
|
96
|
+
title: role.name,
|
|
97
|
+
subtitle: role.description,
|
|
98
|
+
navigationAction: /*#__PURE__*/ jsx(BackButton, {
|
|
99
|
+
fallback: ".."
|
|
100
|
+
})
|
|
101
|
+
}),
|
|
102
|
+
/*#__PURE__*/ jsx(Layouts.Content, {
|
|
103
|
+
children: /*#__PURE__*/ jsxs(Flex, {
|
|
104
|
+
background: "neutral0",
|
|
105
|
+
direction: "column",
|
|
106
|
+
alignItems: "stretch",
|
|
107
|
+
gap: 7,
|
|
108
|
+
hasRadius: true,
|
|
109
|
+
paddingTop: 6,
|
|
110
|
+
paddingBottom: 6,
|
|
111
|
+
paddingLeft: 7,
|
|
112
|
+
paddingRight: 7,
|
|
113
|
+
shadow: "filterShadow",
|
|
114
|
+
children: [
|
|
115
|
+
/*#__PURE__*/ jsxs(Flex, {
|
|
116
|
+
direction: "column",
|
|
117
|
+
alignItems: "stretch",
|
|
118
|
+
gap: 4,
|
|
119
|
+
children: [
|
|
120
|
+
/*#__PURE__*/ jsx(Typography, {
|
|
121
|
+
variant: "delta",
|
|
122
|
+
tag: "h2",
|
|
123
|
+
children: formatMessage({
|
|
124
|
+
id: getTrad('EditPage.form.roles'),
|
|
125
|
+
defaultMessage: 'Role details'
|
|
126
|
+
})
|
|
127
|
+
}),
|
|
128
|
+
/*#__PURE__*/ jsxs(Grid.Root, {
|
|
129
|
+
gap: 4,
|
|
130
|
+
children: [
|
|
131
|
+
/*#__PURE__*/ jsx(Grid.Item, {
|
|
132
|
+
col: 6,
|
|
133
|
+
direction: "column",
|
|
134
|
+
alignItems: "stretch",
|
|
135
|
+
children: /*#__PURE__*/ jsxs(Field.Root, {
|
|
136
|
+
name: "name",
|
|
137
|
+
error: errors?.name ? formatMessage({
|
|
138
|
+
id: errors.name,
|
|
139
|
+
defaultMessage: 'Name is required'
|
|
140
|
+
}) : false,
|
|
141
|
+
required: true,
|
|
142
|
+
children: [
|
|
143
|
+
/*#__PURE__*/ jsx(Field.Label, {
|
|
144
|
+
children: formatMessage({
|
|
145
|
+
id: 'global.name',
|
|
146
|
+
defaultMessage: 'Name'
|
|
147
|
+
})
|
|
148
|
+
}),
|
|
149
|
+
/*#__PURE__*/ jsx(TextInput, {
|
|
150
|
+
value: values.name || '',
|
|
151
|
+
onChange: handleChange
|
|
152
|
+
}),
|
|
153
|
+
/*#__PURE__*/ jsx(Field.Error, {})
|
|
154
|
+
]
|
|
155
|
+
})
|
|
156
|
+
}),
|
|
157
|
+
/*#__PURE__*/ jsx(Grid.Item, {
|
|
158
|
+
col: 6,
|
|
159
|
+
direction: "column",
|
|
160
|
+
alignItems: "stretch",
|
|
161
|
+
children: /*#__PURE__*/ jsxs(Field.Root, {
|
|
162
|
+
name: "description",
|
|
163
|
+
error: errors?.description ? formatMessage({
|
|
164
|
+
id: errors.description,
|
|
165
|
+
defaultMessage: 'Description is required'
|
|
166
|
+
}) : false,
|
|
167
|
+
required: true,
|
|
168
|
+
children: [
|
|
169
|
+
/*#__PURE__*/ jsx(Field.Label, {
|
|
170
|
+
children: formatMessage({
|
|
171
|
+
id: 'global.description',
|
|
172
|
+
defaultMessage: 'Description'
|
|
173
|
+
})
|
|
174
|
+
}),
|
|
175
|
+
/*#__PURE__*/ jsx(Textarea, {
|
|
176
|
+
value: values.description || '',
|
|
177
|
+
onChange: handleChange
|
|
178
|
+
}),
|
|
179
|
+
/*#__PURE__*/ jsx(Field.Error, {})
|
|
180
|
+
]
|
|
181
|
+
})
|
|
182
|
+
})
|
|
183
|
+
]
|
|
184
|
+
})
|
|
185
|
+
]
|
|
186
|
+
}),
|
|
187
|
+
!isLoadingPlugins && /*#__PURE__*/ jsx(UsersPermissions, {
|
|
188
|
+
ref: permissionsRef,
|
|
189
|
+
permissions: role.permissions,
|
|
190
|
+
routes: routes
|
|
191
|
+
})
|
|
192
|
+
]
|
|
193
|
+
})
|
|
194
|
+
})
|
|
195
|
+
]
|
|
196
|
+
})
|
|
197
|
+
})
|
|
198
|
+
]
|
|
199
|
+
});
|
|
200
|
+
};
|
|
201
|
+
const ProtectedRolesEditPage = ()=>/*#__PURE__*/ jsx(Page.Protect, {
|
|
202
|
+
permissions: PERMISSIONS.updateRole,
|
|
203
|
+
children: /*#__PURE__*/ jsx(EditPage, {})
|
|
204
|
+
});
|
|
205
|
+
|
|
206
|
+
export { EditPage, ProtectedRolesEditPage };
|
|
207
|
+
//# sourceMappingURL=EditPage.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EditPage.mjs","sources":["../../../../../admin/src/pages/Roles/pages/EditPage.jsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Main,\n Button,\n Flex,\n TextInput,\n Textarea,\n Typography,\n Grid,\n Field,\n} from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport {\n Page,\n BackButton,\n useAPIErrorHandler,\n useNotification,\n useFetchClient,\n Layouts,\n} from '@strapi/strapi/admin';\nimport { Formik, Form } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { useQuery, useMutation } from 'react-query';\nimport { useMatch } from 'react-router-dom';\n\nimport UsersPermissions from '../../../components/UsersPermissions';\nimport { PERMISSIONS } from '../../../constants';\nimport getTrad from '../../../utils/getTrad';\nimport { createRoleSchema } from '../constants';\nimport { usePlugins } from '../hooks/usePlugins';\n\nexport const EditPage = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const {\n params: { id },\n } = useMatch(`/settings/users-permissions/roles/:id`);\n const { get } = useFetchClient();\n const { isLoading: isLoadingPlugins, routes } = usePlugins();\n const {\n data: role,\n isLoading: isLoadingRole,\n refetch: refetchRole,\n } = useQuery(['users-permissions', 'role', id], async () => {\n // TODO: why doesn't this endpoint follow the admin API conventions?\n const {\n data: { role },\n } = await get(`/users-permissions/roles/${id}`);\n\n return role;\n });\n\n const permissionsRef = React.useRef();\n const { put } = useFetchClient();\n const { formatAPIError } = useAPIErrorHandler();\n const mutation = useMutation((body) => put(`/users-permissions/roles/${id}`, body), {\n onError(error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n },\n\n async onSuccess() {\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTrad('Settings.roles.created'),\n defaultMessage: 'Role edited',\n }),\n });\n\n await refetchRole();\n },\n });\n\n const handleEditRoleSubmit = async (data) => {\n const permissions = permissionsRef.current.getPermissions();\n\n await mutation.mutate({ ...data, ...permissions, users: [] });\n };\n\n if (isLoadingRole) {\n return <Page.Loading />;\n }\n\n return (\n <Main>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n { name: 'Roles' }\n )}\n </Page.Title>\n <Formik\n enableReinitialize\n initialValues={{ name: role.name, description: role.description }}\n onSubmit={handleEditRoleSubmit}\n validationSchema={createRoleSchema}\n >\n {({ handleSubmit, values, handleChange, errors }) => (\n <Form noValidate onSubmit={handleSubmit}>\n <Layouts.Header\n primaryAction={\n !isLoadingPlugins ? (\n <Button\n disabled={role.code === 'strapi-super-admin'}\n type=\"submit\"\n loading={mutation.isLoading}\n startIcon={<Check />}\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n ) : null\n }\n title={role.name}\n subtitle={role.description}\n navigationAction={<BackButton fallback=\"..\" />}\n />\n <Layouts.Content>\n <Flex\n background=\"neutral0\"\n direction=\"column\"\n alignItems=\"stretch\"\n gap={7}\n hasRadius\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n shadow=\"filterShadow\"\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: getTrad('EditPage.form.roles'),\n defaultMessage: 'Role details',\n })}\n </Typography>\n\n <Grid.Root gap={4}>\n <Grid.Item col={6} direction=\"column\" alignItems=\"stretch\">\n <Field.Root\n name=\"name\"\n error={\n errors?.name\n ? formatMessage({\n id: errors.name,\n defaultMessage: 'Name is required',\n })\n : false\n }\n required\n >\n <Field.Label>\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Field.Label>\n <TextInput value={values.name || ''} onChange={handleChange} />\n <Field.Error />\n </Field.Root>\n </Grid.Item>\n <Grid.Item col={6} direction=\"column\" alignItems=\"stretch\">\n <Field.Root\n name=\"description\"\n error={\n errors?.description\n ? formatMessage({\n id: errors.description,\n defaultMessage: 'Description is required',\n })\n : false\n }\n required\n >\n <Field.Label>\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'Description',\n })}\n </Field.Label>\n <Textarea value={values.description || ''} onChange={handleChange} />\n <Field.Error />\n </Field.Root>\n </Grid.Item>\n </Grid.Root>\n </Flex>\n\n {!isLoadingPlugins && (\n <UsersPermissions\n ref={permissionsRef}\n permissions={role.permissions}\n routes={routes}\n />\n )}\n </Flex>\n </Layouts.Content>\n </Form>\n )}\n </Formik>\n </Main>\n );\n};\n\nexport const ProtectedRolesEditPage = () => (\n <Page.Protect permissions={PERMISSIONS.updateRole}>\n <EditPage />\n </Page.Protect>\n);\n"],"names":["EditPage","formatMessage","useIntl","toggleNotification","useNotification","params","id","useMatch","get","useFetchClient","isLoading","isLoadingPlugins","routes","usePlugins","data","role","isLoadingRole","refetch","refetchRole","useQuery","permissionsRef","React","useRef","put","formatAPIError","useAPIErrorHandler","mutation","useMutation","body","onError","error","type","message","onSuccess","getTrad","defaultMessage","handleEditRoleSubmit","permissions","current","getPermissions","mutate","users","_jsx","Page","Loading","_jsxs","Main","Title","name","Formik","enableReinitialize","initialValues","description","onSubmit","validationSchema","createRoleSchema","handleSubmit","values","handleChange","errors","Form","noValidate","Layouts","Header","primaryAction","Button","disabled","code","loading","startIcon","Check","title","subtitle","navigationAction","BackButton","fallback","Content","Flex","background","direction","alignItems","gap","hasRadius","paddingTop","paddingBottom","paddingLeft","paddingRight","shadow","Typography","variant","tag","Grid","Root","Item","col","Field","required","Label","TextInput","value","onChange","Error","Textarea","UsersPermissions","ref","ProtectedRolesEditPage","Protect","PERMISSIONS","updateRole"],"mappings":"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"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
require('react');
|
|
5
|
+
var designSystem = require('@strapi/design-system');
|
|
6
|
+
var icons = require('@strapi/icons');
|
|
7
|
+
var PropTypes = require('prop-types');
|
|
8
|
+
var reactIntl = require('react-intl');
|
|
9
|
+
var reactRouterDom = require('react-router-dom');
|
|
10
|
+
var styledComponents = require('styled-components');
|
|
11
|
+
|
|
12
|
+
const EditLink = styledComponents.styled(designSystem.Link)`
|
|
13
|
+
align-items: center;
|
|
14
|
+
height: 3.2rem;
|
|
15
|
+
width: 3.2rem;
|
|
16
|
+
display: flex;
|
|
17
|
+
justify-content: center;
|
|
18
|
+
padding: ${({ theme })=>`${theme.spaces[2]}`};
|
|
19
|
+
|
|
20
|
+
svg {
|
|
21
|
+
height: 1.6rem;
|
|
22
|
+
width: 1.6rem;
|
|
23
|
+
|
|
24
|
+
path {
|
|
25
|
+
fill: ${({ theme })=>theme.colors.neutral500};
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
&:hover,
|
|
30
|
+
&:focus {
|
|
31
|
+
svg {
|
|
32
|
+
path {
|
|
33
|
+
fill: ${({ theme })=>theme.colors.neutral800};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
`;
|
|
38
|
+
const TableBody = ({ sortedRoles, canDelete, canUpdate, setRoleToDelete, onDelete })=>{
|
|
39
|
+
const { formatMessage } = reactIntl.useIntl();
|
|
40
|
+
const navigate = reactRouterDom.useNavigate();
|
|
41
|
+
const [showConfirmDelete, setShowConfirmDelete] = onDelete;
|
|
42
|
+
const checkCanDeleteRole = (role)=>canDelete && ![
|
|
43
|
+
'public',
|
|
44
|
+
'authenticated'
|
|
45
|
+
].includes(role.type);
|
|
46
|
+
const handleClickDelete = (id)=>{
|
|
47
|
+
setRoleToDelete(id);
|
|
48
|
+
setShowConfirmDelete(!showConfirmDelete);
|
|
49
|
+
};
|
|
50
|
+
return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Tbody, {
|
|
51
|
+
children: sortedRoles?.map((role)=>/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Tr, {
|
|
52
|
+
cursor: "pointer",
|
|
53
|
+
onClick: ()=>navigate(role.id.toString()),
|
|
54
|
+
children: [
|
|
55
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
|
|
56
|
+
width: "20%",
|
|
57
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
58
|
+
children: role.name
|
|
59
|
+
})
|
|
60
|
+
}),
|
|
61
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
|
|
62
|
+
width: "50%",
|
|
63
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
64
|
+
children: role.description
|
|
65
|
+
})
|
|
66
|
+
}),
|
|
67
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
|
|
68
|
+
width: "30%",
|
|
69
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
70
|
+
children: formatMessage({
|
|
71
|
+
id: 'Roles.RoleRow.user-count',
|
|
72
|
+
defaultMessage: '{number, plural, =0 {# user} one {# user} other {# users}}'
|
|
73
|
+
}, {
|
|
74
|
+
number: role.nb_users
|
|
75
|
+
})
|
|
76
|
+
})
|
|
77
|
+
}),
|
|
78
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
|
|
79
|
+
children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
|
80
|
+
justifyContent: "end",
|
|
81
|
+
onClick: (e)=>e.stopPropagation(),
|
|
82
|
+
children: [
|
|
83
|
+
canUpdate ? /*#__PURE__*/ jsxRuntime.jsx(EditLink, {
|
|
84
|
+
tag: reactRouterDom.NavLink,
|
|
85
|
+
to: role.id.toString(),
|
|
86
|
+
"aria-label": formatMessage({
|
|
87
|
+
id: 'app.component.table.edit',
|
|
88
|
+
defaultMessage: 'Edit {target}'
|
|
89
|
+
}, {
|
|
90
|
+
target: `${role.name}`
|
|
91
|
+
}),
|
|
92
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(icons.Pencil, {})
|
|
93
|
+
}) : null,
|
|
94
|
+
checkCanDeleteRole(role) && /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
|
|
95
|
+
onClick: ()=>handleClickDelete(role.id.toString()),
|
|
96
|
+
variant: "ghost",
|
|
97
|
+
label: formatMessage({
|
|
98
|
+
id: 'global.delete-target',
|
|
99
|
+
defaultMessage: 'Delete {target}'
|
|
100
|
+
}, {
|
|
101
|
+
target: `${role.name}`
|
|
102
|
+
}),
|
|
103
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(icons.Trash, {})
|
|
104
|
+
})
|
|
105
|
+
]
|
|
106
|
+
})
|
|
107
|
+
})
|
|
108
|
+
]
|
|
109
|
+
}, role.name))
|
|
110
|
+
});
|
|
111
|
+
};
|
|
112
|
+
TableBody.defaultProps = {
|
|
113
|
+
canDelete: false,
|
|
114
|
+
canUpdate: false
|
|
115
|
+
};
|
|
116
|
+
TableBody.propTypes = {
|
|
117
|
+
onDelete: PropTypes.array.isRequired,
|
|
118
|
+
setRoleToDelete: PropTypes.func.isRequired,
|
|
119
|
+
sortedRoles: PropTypes.array.isRequired,
|
|
120
|
+
canDelete: PropTypes.bool,
|
|
121
|
+
canUpdate: PropTypes.bool
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
module.exports = TableBody;
|
|
125
|
+
//# sourceMappingURL=TableBody.js.map
|