@strapi/plugin-users-permissions 0.0.0-next.ff946d2c25a3e577b47132a357cac2932eb8e635 → 0.0.0-next.ffc36acb308febe288f1a31b62cbbb75b286585c
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 -2
- package/.eslintrc +17 -0
- package/LICENSE +18 -3
- package/admin/src/components/BoundRoute/{index.js → index.jsx} +7 -5
- package/admin/src/components/FormModal/Input/{index.js → index.jsx} +35 -33
- 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} +27 -15
- package/admin/src/components/Permissions/PermissionRow/{index.js → index.jsx} +4 -2
- 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} +10 -7
- package/admin/src/components/UsersPermissions/{index.js → index.jsx} +22 -11
- package/admin/src/components/UsersPermissions/reducer.js +1 -1
- package/admin/src/{permissions.js → constants.js} +1 -3
- package/admin/src/contexts/UsersPermissionsContext/{index.js → index.jsx} +1 -0
- package/admin/src/index.js +27 -53
- 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} +28 -23
- package/admin/src/pages/EmailTemplates/index.jsx +148 -0
- package/admin/src/pages/EmailTemplates/utils/schema.js +18 -6
- package/admin/src/pages/Providers/index.jsx +262 -0
- package/admin/src/pages/Providers/utils/forms.js +23 -11
- package/admin/src/pages/Roles/constants.js +7 -0
- package/admin/src/pages/Roles/hooks/usePlugins.js +78 -0
- package/admin/src/pages/Roles/index.jsx +24 -0
- package/admin/src/pages/Roles/pages/CreatePage.jsx +194 -0
- package/admin/src/pages/Roles/pages/EditPage.jsx +215 -0
- package/admin/src/pages/Roles/pages/ListPage/components/TableBody.jsx +119 -0
- package/admin/src/pages/Roles/{ListPage/index.js → pages/ListPage/index.jsx} +108 -83
- 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/translations/zh-Hans.json +80 -80
- package/admin/src/utils/formatPluginName.js +1 -1
- package/admin/src/utils/index.js +1 -2
- 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/documentation/content-api.yaml +1 -1
- package/jest.config.front.js +1 -0
- package/package.json +54 -36
- package/rollup.config.mjs +19 -0
- package/server/bootstrap/index.js +18 -15
- 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 +75 -39
- package/server/controllers/content-manager-user.js +31 -34
- package/server/controllers/role.js +17 -4
- package/server/controllers/user.js +18 -8
- 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 +41 -21
- 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/strategies/users-permissions.js +1 -8
- 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/.eslintrc.js +0 -14
- package/admin/src/components/FormModal/index.js +0 -123
- package/admin/src/components/Permissions/index.js +0 -54
- package/admin/src/hooks/index.js +0 -5
- package/admin/src/hooks/useFetchRole/index.js +0 -64
- package/admin/src/hooks/useFetchRole/reducer.js +0 -31
- package/admin/src/hooks/useForm/index.js +0 -67
- package/admin/src/hooks/useForm/reducer.js +0 -40
- package/admin/src/hooks/usePlugins/index.js +0 -67
- package/admin/src/hooks/usePlugins/init.js +0 -5
- package/admin/src/hooks/usePlugins/reducer.js +0 -34
- package/admin/src/hooks/useRolesList/index.js +0 -62
- package/admin/src/hooks/useRolesList/init.js +0 -5
- package/admin/src/hooks/useRolesList/reducer.js +0 -31
- package/admin/src/pages/AdvancedSettings/index.js +0 -243
- package/admin/src/pages/AdvancedSettings/utils/api.js +0 -17
- package/admin/src/pages/EmailTemplates/components/EmailForm.js +0 -175
- package/admin/src/pages/EmailTemplates/index.js +0 -160
- package/admin/src/pages/EmailTemplates/utils/api.js +0 -17
- package/admin/src/pages/Providers/index.js +0 -272
- package/admin/src/pages/Providers/reducer.js +0 -54
- package/admin/src/pages/Providers/utils/api.js +0 -25
- package/admin/src/pages/Providers/utils/createProvidersArray.js +0 -21
- package/admin/src/pages/Roles/CreatePage/index.js +0 -182
- package/admin/src/pages/Roles/CreatePage/utils/schema.js +0 -9
- package/admin/src/pages/Roles/EditPage/index.js +0 -194
- package/admin/src/pages/Roles/EditPage/utils/schema.js +0 -9
- package/admin/src/pages/Roles/ListPage/components/TableBody.js +0 -92
- package/admin/src/pages/Roles/ListPage/utils/api.js +0 -31
- package/admin/src/pages/Roles/ProtectedCreatePage/index.js +0 -12
- package/admin/src/pages/Roles/ProtectedEditPage/index.js +0 -12
- package/admin/src/pages/Roles/ProtectedListPage/index.js +0 -15
- package/admin/src/pages/Roles/index.js +0 -27
- package/admin/src/utils/getRequestURL.js +0 -5
- package/server/bootstrap/grant-config.js +0 -131
- package/strapi-admin.js +0 -3
- package/strapi-server.js +0 -3
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
const _ = require('lodash');
|
|
9
9
|
const urlJoin = require('url-join');
|
|
10
10
|
|
|
11
|
-
const { getAbsoluteServerUrl } = require('@strapi/utils');
|
|
12
11
|
const { getService } = require('../utils');
|
|
13
12
|
|
|
14
13
|
module.exports = ({ strapi }) => {
|
|
@@ -60,7 +59,7 @@ module.exports = ({ strapi }) => {
|
|
|
60
59
|
throw new Error('Email was not available.');
|
|
61
60
|
}
|
|
62
61
|
|
|
63
|
-
const users = await strapi.query('plugin::users-permissions.user').findMany({
|
|
62
|
+
const users = await strapi.db.query('plugin::users-permissions.user').findMany({
|
|
64
63
|
where: { email },
|
|
65
64
|
});
|
|
66
65
|
|
|
@@ -83,7 +82,7 @@ module.exports = ({ strapi }) => {
|
|
|
83
82
|
}
|
|
84
83
|
|
|
85
84
|
// Retrieve default role.
|
|
86
|
-
const defaultRole = await strapi
|
|
85
|
+
const defaultRole = await strapi.db
|
|
87
86
|
.query('plugin::users-permissions.role')
|
|
88
87
|
.findOne({ where: { type: advancedSettings.default_role } });
|
|
89
88
|
|
|
@@ -96,7 +95,7 @@ module.exports = ({ strapi }) => {
|
|
|
96
95
|
confirmed: true,
|
|
97
96
|
};
|
|
98
97
|
|
|
99
|
-
const createdUser = await strapi
|
|
98
|
+
const createdUser = await strapi.db
|
|
100
99
|
.query('plugin::users-permissions.user')
|
|
101
100
|
.create({ data: newUser });
|
|
102
101
|
|
|
@@ -105,7 +104,13 @@ module.exports = ({ strapi }) => {
|
|
|
105
104
|
|
|
106
105
|
const buildRedirectUri = (provider = '') => {
|
|
107
106
|
const apiPrefix = strapi.config.get('api.rest.prefix');
|
|
108
|
-
return urlJoin(
|
|
107
|
+
return urlJoin(
|
|
108
|
+
strapi.config.get('server.absoluteUrl'),
|
|
109
|
+
apiPrefix,
|
|
110
|
+
'connect',
|
|
111
|
+
provider,
|
|
112
|
+
'callback'
|
|
113
|
+
);
|
|
109
114
|
};
|
|
110
115
|
|
|
111
116
|
return {
|
package/server/services/role.js
CHANGED
|
@@ -10,7 +10,7 @@ module.exports = ({ strapi }) => ({
|
|
|
10
10
|
params.type = _.snakeCase(_.deburr(_.toLower(params.name)));
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
const role = await strapi
|
|
13
|
+
const role = await strapi.db
|
|
14
14
|
.query('plugin::users-permissions.role')
|
|
15
15
|
.create({ data: _.omit(params, ['users', 'permissions']) });
|
|
16
16
|
|
|
@@ -25,7 +25,7 @@ module.exports = ({ strapi }) => ({
|
|
|
25
25
|
const actionID = `${typeName}.${controllerName}.${actionName}`;
|
|
26
26
|
|
|
27
27
|
acc.push(
|
|
28
|
-
strapi
|
|
28
|
+
strapi.db
|
|
29
29
|
.query('plugin::users-permissions.permission')
|
|
30
30
|
.create({ data: { action: actionID, role: role.id } })
|
|
31
31
|
);
|
|
@@ -42,7 +42,7 @@ module.exports = ({ strapi }) => ({
|
|
|
42
42
|
},
|
|
43
43
|
|
|
44
44
|
async findOne(roleID) {
|
|
45
|
-
const role = await strapi
|
|
45
|
+
const role = await strapi.db
|
|
46
46
|
.query('plugin::users-permissions.role')
|
|
47
47
|
.findOne({ where: { id: roleID }, populate: ['permissions'] });
|
|
48
48
|
|
|
@@ -69,10 +69,12 @@ module.exports = ({ strapi }) => ({
|
|
|
69
69
|
},
|
|
70
70
|
|
|
71
71
|
async find() {
|
|
72
|
-
const roles = await strapi.
|
|
72
|
+
const roles = await strapi.db
|
|
73
|
+
.query('plugin::users-permissions.role')
|
|
74
|
+
.findMany({ sort: ['name'] });
|
|
73
75
|
|
|
74
76
|
for (const role of roles) {
|
|
75
|
-
role.nb_users = await strapi
|
|
77
|
+
role.nb_users = await strapi.db
|
|
76
78
|
.query('plugin::users-permissions.user')
|
|
77
79
|
.count({ where: { role: { id: role.id } } });
|
|
78
80
|
}
|
|
@@ -81,7 +83,7 @@ module.exports = ({ strapi }) => ({
|
|
|
81
83
|
},
|
|
82
84
|
|
|
83
85
|
async updateRole(roleID, data) {
|
|
84
|
-
const role = await strapi
|
|
86
|
+
const role = await strapi.db
|
|
85
87
|
.query('plugin::users-permissions.role')
|
|
86
88
|
.findOne({ where: { id: roleID }, populate: ['permissions'] });
|
|
87
89
|
|
|
@@ -89,7 +91,7 @@ module.exports = ({ strapi }) => ({
|
|
|
89
91
|
throw new NotFoundError('Role not found');
|
|
90
92
|
}
|
|
91
93
|
|
|
92
|
-
await strapi.query('plugin::users-permissions.role').update({
|
|
94
|
+
await strapi.db.query('plugin::users-permissions.role').update({
|
|
93
95
|
where: { id: roleID },
|
|
94
96
|
data: _.pick(data, ['name', 'description']),
|
|
95
97
|
});
|
|
@@ -129,7 +131,7 @@ module.exports = ({ strapi }) => ({
|
|
|
129
131
|
|
|
130
132
|
await Promise.all(
|
|
131
133
|
toDelete.map((permission) =>
|
|
132
|
-
strapi
|
|
134
|
+
strapi.db
|
|
133
135
|
.query('plugin::users-permissions.permission')
|
|
134
136
|
.delete({ where: { id: permission.id } })
|
|
135
137
|
)
|
|
@@ -137,13 +139,13 @@ module.exports = ({ strapi }) => ({
|
|
|
137
139
|
|
|
138
140
|
await Promise.all(
|
|
139
141
|
toCreate.map((permissionInfo) =>
|
|
140
|
-
strapi.query('plugin::users-permissions.permission').create({ data: permissionInfo })
|
|
142
|
+
strapi.db.query('plugin::users-permissions.permission').create({ data: permissionInfo })
|
|
141
143
|
)
|
|
142
144
|
);
|
|
143
145
|
},
|
|
144
146
|
|
|
145
147
|
async deleteRole(roleID, publicRoleID) {
|
|
146
|
-
const role = await strapi
|
|
148
|
+
const role = await strapi.db
|
|
147
149
|
.query('plugin::users-permissions.role')
|
|
148
150
|
.findOne({ where: { id: roleID }, populate: ['users', 'permissions'] });
|
|
149
151
|
|
|
@@ -154,7 +156,7 @@ module.exports = ({ strapi }) => ({
|
|
|
154
156
|
// Move users to guest role.
|
|
155
157
|
await Promise.all(
|
|
156
158
|
role.users.map((user) => {
|
|
157
|
-
return strapi.query('plugin::users-permissions.user').update({
|
|
159
|
+
return strapi.db.query('plugin::users-permissions.user').update({
|
|
158
160
|
where: { id: user.id },
|
|
159
161
|
data: { role: publicRoleID },
|
|
160
162
|
});
|
|
@@ -165,13 +167,13 @@ module.exports = ({ strapi }) => ({
|
|
|
165
167
|
// TODO: use delete many
|
|
166
168
|
await Promise.all(
|
|
167
169
|
role.permissions.map((permission) => {
|
|
168
|
-
return strapi.query('plugin::users-permissions.permission').delete({
|
|
170
|
+
return strapi.db.query('plugin::users-permissions.permission').delete({
|
|
169
171
|
where: { id: permission.id },
|
|
170
172
|
});
|
|
171
173
|
})
|
|
172
174
|
);
|
|
173
175
|
|
|
174
176
|
// Delete the role.
|
|
175
|
-
await strapi.query('plugin::users-permissions.role').delete({ where: { id: roleID } });
|
|
177
|
+
await strapi.db.query('plugin::users-permissions.role').delete({ where: { id: roleID } });
|
|
176
178
|
},
|
|
177
179
|
});
|
package/server/services/user.js
CHANGED
|
@@ -10,9 +10,12 @@ const crypto = require('crypto');
|
|
|
10
10
|
const bcrypt = require('bcryptjs');
|
|
11
11
|
const urlJoin = require('url-join');
|
|
12
12
|
|
|
13
|
-
const {
|
|
13
|
+
const { sanitize } = require('@strapi/utils');
|
|
14
|
+
const { toNumber, getOr } = require('lodash/fp');
|
|
14
15
|
const { getService } = require('../utils');
|
|
15
16
|
|
|
17
|
+
const USER_MODEL_UID = 'plugin::users-permissions.user';
|
|
18
|
+
|
|
16
19
|
module.exports = ({ strapi }) => ({
|
|
17
20
|
/**
|
|
18
21
|
* Promise to count users
|
|
@@ -21,22 +24,38 @@ module.exports = ({ strapi }) => ({
|
|
|
21
24
|
*/
|
|
22
25
|
|
|
23
26
|
count(params) {
|
|
24
|
-
return strapi.query(
|
|
27
|
+
return strapi.db.query(USER_MODEL_UID).count({ where: params });
|
|
25
28
|
},
|
|
26
29
|
|
|
27
30
|
/**
|
|
28
|
-
*
|
|
31
|
+
* Hashes password fields in the provided values object if they are present.
|
|
32
|
+
* It checks each key in the values object against the model's attributes and
|
|
33
|
+
* hashes it if the attribute type is 'password',
|
|
29
34
|
*
|
|
30
|
-
* @
|
|
35
|
+
* @param {object} values - The object containing the fields to be hashed.
|
|
36
|
+
* @return {object} The values object with hashed password fields if they were present.
|
|
31
37
|
*/
|
|
38
|
+
async ensureHashedPasswords(values) {
|
|
39
|
+
const attributes = strapi.getModel(USER_MODEL_UID).attributes;
|
|
40
|
+
|
|
41
|
+
for (const key in values) {
|
|
42
|
+
if (attributes[key] && attributes[key].type === 'password') {
|
|
43
|
+
// Check if a custom encryption.rounds has been set on the password attribute
|
|
44
|
+
const rounds = toNumber(getOr(10, 'encryption.rounds', attributes[key]));
|
|
45
|
+
values[key] = await bcrypt.hash(values[key], rounds);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return values;
|
|
50
|
+
},
|
|
32
51
|
|
|
33
52
|
/**
|
|
34
53
|
* Promise to add a/an user.
|
|
35
54
|
* @return {Promise}
|
|
36
55
|
*/
|
|
37
56
|
async add(values) {
|
|
38
|
-
return strapi.
|
|
39
|
-
data: values,
|
|
57
|
+
return strapi.db.query(USER_MODEL_UID).create({
|
|
58
|
+
data: await this.ensureHashedPasswords(values),
|
|
40
59
|
populate: ['role'],
|
|
41
60
|
});
|
|
42
61
|
},
|
|
@@ -48,8 +67,9 @@ module.exports = ({ strapi }) => ({
|
|
|
48
67
|
* @return {Promise}
|
|
49
68
|
*/
|
|
50
69
|
async edit(userId, params = {}) {
|
|
51
|
-
return strapi.
|
|
52
|
-
|
|
70
|
+
return strapi.db.query(USER_MODEL_UID).update({
|
|
71
|
+
where: { id: userId },
|
|
72
|
+
data: await this.ensureHashedPasswords(params),
|
|
53
73
|
populate: ['role'],
|
|
54
74
|
});
|
|
55
75
|
},
|
|
@@ -59,7 +79,14 @@ module.exports = ({ strapi }) => ({
|
|
|
59
79
|
* @return {Promise}
|
|
60
80
|
*/
|
|
61
81
|
fetch(id, params) {
|
|
62
|
-
|
|
82
|
+
const query = strapi.get('query-params').transform(USER_MODEL_UID, params ?? {});
|
|
83
|
+
|
|
84
|
+
return strapi.db.query(USER_MODEL_UID).findOne({
|
|
85
|
+
...query,
|
|
86
|
+
where: {
|
|
87
|
+
$and: [{ id }, query.where || {}],
|
|
88
|
+
},
|
|
89
|
+
});
|
|
63
90
|
},
|
|
64
91
|
|
|
65
92
|
/**
|
|
@@ -67,9 +94,7 @@ module.exports = ({ strapi }) => ({
|
|
|
67
94
|
* @return {Promise}
|
|
68
95
|
*/
|
|
69
96
|
fetchAuthenticatedUser(id) {
|
|
70
|
-
return strapi
|
|
71
|
-
.query('plugin::users-permissions.user')
|
|
72
|
-
.findOne({ where: { id }, populate: ['role'] });
|
|
97
|
+
return strapi.db.query(USER_MODEL_UID).findOne({ where: { id }, populate: ['role'] });
|
|
73
98
|
},
|
|
74
99
|
|
|
75
100
|
/**
|
|
@@ -77,7 +102,9 @@ module.exports = ({ strapi }) => ({
|
|
|
77
102
|
* @return {Promise}
|
|
78
103
|
*/
|
|
79
104
|
fetchAll(params) {
|
|
80
|
-
|
|
105
|
+
const query = strapi.get('query-params').transform(USER_MODEL_UID, params ?? {});
|
|
106
|
+
|
|
107
|
+
return strapi.db.query(USER_MODEL_UID).findMany(query);
|
|
81
108
|
},
|
|
82
109
|
|
|
83
110
|
/**
|
|
@@ -85,7 +112,7 @@ module.exports = ({ strapi }) => ({
|
|
|
85
112
|
* @return {Promise}
|
|
86
113
|
*/
|
|
87
114
|
async remove(params) {
|
|
88
|
-
return strapi.query(
|
|
115
|
+
return strapi.db.query(USER_MODEL_UID).delete({ where: params });
|
|
89
116
|
},
|
|
90
117
|
|
|
91
118
|
validatePassword(password, hash) {
|
|
@@ -95,14 +122,20 @@ module.exports = ({ strapi }) => ({
|
|
|
95
122
|
async sendConfirmationEmail(user) {
|
|
96
123
|
const userPermissionService = getService('users-permissions');
|
|
97
124
|
const pluginStore = await strapi.store({ type: 'plugin', name: 'users-permissions' });
|
|
98
|
-
const userSchema = strapi.getModel(
|
|
125
|
+
const userSchema = strapi.getModel(USER_MODEL_UID);
|
|
99
126
|
|
|
100
127
|
const settings = await pluginStore
|
|
101
128
|
.get({ key: 'email' })
|
|
102
129
|
.then((storeEmail) => storeEmail.email_confirmation.options);
|
|
103
130
|
|
|
104
131
|
// Sanitize the template's user information
|
|
105
|
-
const sanitizedUserInfo = await sanitize.sanitizers.defaultSanitizeOutput(
|
|
132
|
+
const sanitizedUserInfo = await sanitize.sanitizers.defaultSanitizeOutput(
|
|
133
|
+
{
|
|
134
|
+
schema: userSchema,
|
|
135
|
+
getModel: strapi.getModel.bind(strapi),
|
|
136
|
+
},
|
|
137
|
+
user
|
|
138
|
+
);
|
|
106
139
|
|
|
107
140
|
const confirmationToken = crypto.randomBytes(20).toString('hex');
|
|
108
141
|
|
|
@@ -112,9 +145,13 @@ module.exports = ({ strapi }) => ({
|
|
|
112
145
|
|
|
113
146
|
try {
|
|
114
147
|
settings.message = await userPermissionService.template(settings.message, {
|
|
115
|
-
URL: urlJoin(
|
|
116
|
-
|
|
117
|
-
|
|
148
|
+
URL: urlJoin(
|
|
149
|
+
strapi.config.get('server.absoluteUrl'),
|
|
150
|
+
apiPrefix,
|
|
151
|
+
'/auth/email-confirmation'
|
|
152
|
+
),
|
|
153
|
+
SERVER_URL: strapi.config.get('server.absoluteUrl'),
|
|
154
|
+
ADMIN_URL: strapi.config.get('admin.absoluteUrl'),
|
|
118
155
|
USER: sanitizedUserInfo,
|
|
119
156
|
CODE: confirmationToken,
|
|
120
157
|
});
|
|
@@ -6,7 +6,7 @@ const urlJoin = require('url-join');
|
|
|
6
6
|
const {
|
|
7
7
|
template: { createStrictInterpolationRegExp },
|
|
8
8
|
errors,
|
|
9
|
-
|
|
9
|
+
objects,
|
|
10
10
|
} = require('@strapi/utils');
|
|
11
11
|
|
|
12
12
|
const { getService } = require('../utils');
|
|
@@ -45,7 +45,7 @@ module.exports = ({ strapi }) => ({
|
|
|
45
45
|
return action[Symbol.for('__type__')].includes('content-api');
|
|
46
46
|
};
|
|
47
47
|
|
|
48
|
-
_.forEach(strapi.
|
|
48
|
+
_.forEach(strapi.apis, (api, apiName) => {
|
|
49
49
|
const controllers = _.reduce(
|
|
50
50
|
api.controllers,
|
|
51
51
|
(acc, controller, controllerName) => {
|
|
@@ -105,7 +105,7 @@ module.exports = ({ strapi }) => ({
|
|
|
105
105
|
async getRoutes() {
|
|
106
106
|
const routesMap = {};
|
|
107
107
|
|
|
108
|
-
_.forEach(strapi.
|
|
108
|
+
_.forEach(strapi.apis, (api, apiName) => {
|
|
109
109
|
const routes = _.flatMap(api.routes, (route) => {
|
|
110
110
|
if (_.has(route, 'routes')) {
|
|
111
111
|
return route.routes;
|
|
@@ -151,12 +151,12 @@ module.exports = ({ strapi }) => ({
|
|
|
151
151
|
},
|
|
152
152
|
|
|
153
153
|
async syncPermissions() {
|
|
154
|
-
const roles = await strapi.query('plugin::users-permissions.role').findMany();
|
|
155
|
-
const dbPermissions = await strapi.query('plugin::users-permissions.permission').findMany();
|
|
154
|
+
const roles = await strapi.db.query('plugin::users-permissions.role').findMany();
|
|
155
|
+
const dbPermissions = await strapi.db.query('plugin::users-permissions.permission').findMany();
|
|
156
156
|
|
|
157
157
|
const permissionsFoundInDB = _.uniq(_.map(dbPermissions, 'action'));
|
|
158
158
|
|
|
159
|
-
const appActions = _.flatMap(strapi.
|
|
159
|
+
const appActions = _.flatMap(strapi.apis, (api, apiName) => {
|
|
160
160
|
return _.flatMap(api.controllers, (controller, controllerName) => {
|
|
161
161
|
return _.keys(controller).map((actionName) => {
|
|
162
162
|
return `api::${apiName}.${controllerName}.${actionName}`;
|
|
@@ -178,7 +178,9 @@ module.exports = ({ strapi }) => ({
|
|
|
178
178
|
|
|
179
179
|
await Promise.all(
|
|
180
180
|
toDelete.map((action) => {
|
|
181
|
-
return strapi.
|
|
181
|
+
return strapi.db
|
|
182
|
+
.query('plugin::users-permissions.permission')
|
|
183
|
+
.delete({ where: { action } });
|
|
182
184
|
})
|
|
183
185
|
);
|
|
184
186
|
|
|
@@ -192,7 +194,7 @@ module.exports = ({ strapi }) => ({
|
|
|
192
194
|
|
|
193
195
|
await Promise.all(
|
|
194
196
|
toCreate.map((action) => {
|
|
195
|
-
return strapi.query('plugin::users-permissions.permission').create({
|
|
197
|
+
return strapi.db.query('plugin::users-permissions.permission').create({
|
|
196
198
|
data: {
|
|
197
199
|
action,
|
|
198
200
|
role: role.id,
|
|
@@ -205,10 +207,10 @@ module.exports = ({ strapi }) => ({
|
|
|
205
207
|
},
|
|
206
208
|
|
|
207
209
|
async initialize() {
|
|
208
|
-
const roleCount = await strapi.query('plugin::users-permissions.role').count();
|
|
210
|
+
const roleCount = await strapi.db.query('plugin::users-permissions.role').count();
|
|
209
211
|
|
|
210
212
|
if (roleCount === 0) {
|
|
211
|
-
await strapi.query('plugin::users-permissions.role').create({
|
|
213
|
+
await strapi.db.query('plugin::users-permissions.role').create({
|
|
212
214
|
data: {
|
|
213
215
|
name: 'Authenticated',
|
|
214
216
|
description: 'Default role given to authenticated user.',
|
|
@@ -216,7 +218,7 @@ module.exports = ({ strapi }) => ({
|
|
|
216
218
|
},
|
|
217
219
|
});
|
|
218
220
|
|
|
219
|
-
await strapi.query('plugin::users-permissions.role').create({
|
|
221
|
+
await strapi.db.query('plugin::users-permissions.role').create({
|
|
220
222
|
data: {
|
|
221
223
|
name: 'Public',
|
|
222
224
|
description: 'Default role given to unauthenticated user.',
|
|
@@ -229,13 +231,13 @@ module.exports = ({ strapi }) => ({
|
|
|
229
231
|
},
|
|
230
232
|
|
|
231
233
|
async updateUserRole(user, role) {
|
|
232
|
-
return strapi
|
|
234
|
+
return strapi.db
|
|
233
235
|
.query('plugin::users-permissions.user')
|
|
234
236
|
.update({ where: { id: user.id }, data: { role } });
|
|
235
237
|
},
|
|
236
238
|
|
|
237
239
|
template(layout, data) {
|
|
238
|
-
const allowedTemplateVariables = keysDeep(data);
|
|
240
|
+
const allowedTemplateVariables = objects.keysDeep(data);
|
|
239
241
|
|
|
240
242
|
// Create a strict interpolation RegExp based on possible variable names
|
|
241
243
|
const interpolate = createStrictInterpolationRegExp(allowedTemplateVariables, 'g');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const { castArray, map, every, pipe
|
|
3
|
+
const { castArray, map, every, pipe } = require('lodash/fp');
|
|
4
4
|
const { ForbiddenError, UnauthorizedError } = require('@strapi/utils').errors;
|
|
5
5
|
|
|
6
6
|
const { getService } = require('../utils');
|
|
@@ -80,13 +80,6 @@ const authenticate = async (ctx) => {
|
|
|
80
80
|
const verify = async (auth, config) => {
|
|
81
81
|
const { credentials: user, ability } = auth;
|
|
82
82
|
|
|
83
|
-
strapi.telemetry.send('didReceiveAPIRequest', {
|
|
84
|
-
eventProperties: {
|
|
85
|
-
authenticationMethod: auth?.strategy?.name,
|
|
86
|
-
isAuthenticated: !isEmpty(user),
|
|
87
|
-
},
|
|
88
|
-
});
|
|
89
|
-
|
|
90
83
|
if (!config.scope) {
|
|
91
84
|
if (!user) {
|
|
92
85
|
// A non authenticated user cannot access routes that do not have a scope
|
package/server/utils/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import * as user from '../services/user';
|
|
|
3
3
|
import * as role from '../services/role';
|
|
4
4
|
import * as jwt from '../services/jwt';
|
|
5
5
|
import * as providers from '../services/providers';
|
|
6
|
+
import * as providersRegistry from '../services/providers-registry';
|
|
6
7
|
import * as permission from '../services/permission';
|
|
7
8
|
|
|
8
9
|
type S = {
|
|
@@ -11,7 +12,7 @@ type S = {
|
|
|
11
12
|
user: typeof user;
|
|
12
13
|
jwt: typeof jwt;
|
|
13
14
|
providers: typeof providers;
|
|
14
|
-
['providers-registry']: typeof
|
|
15
|
+
['providers-registry']: typeof providersRegistry;
|
|
15
16
|
permission: typeof permission;
|
|
16
17
|
};
|
|
17
18
|
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
const { curry } = require('lodash/fp');
|
|
4
|
-
const { traverseEntity,
|
|
4
|
+
const { traverseEntity, async } = require('@strapi/utils');
|
|
5
5
|
|
|
6
6
|
const { removeUserRelationFromRoleEntities } = require('./visitors');
|
|
7
7
|
|
|
8
8
|
const sanitizeUserRelationFromRoleEntities = curry((schema, entity) => {
|
|
9
|
-
return traverseEntity(
|
|
9
|
+
return traverseEntity(
|
|
10
|
+
removeUserRelationFromRoleEntities,
|
|
11
|
+
{ schema, getModel: strapi.getModel.bind(strapi) },
|
|
12
|
+
entity
|
|
13
|
+
);
|
|
10
14
|
});
|
|
11
15
|
|
|
12
16
|
const defaultSanitizeOutput = curry((schema, entity) => {
|
|
13
|
-
return
|
|
17
|
+
return async.pipe(sanitizeUserRelationFromRoleEntities(schema))(entity);
|
|
14
18
|
});
|
|
15
19
|
|
|
16
20
|
module.exports = {
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
module.exports = ({ schema, key, attribute }, { remove }) => {
|
|
4
4
|
if (
|
|
5
|
-
attribute
|
|
6
|
-
attribute
|
|
5
|
+
attribute?.type === 'relation' &&
|
|
6
|
+
attribute?.target === 'plugin::users-permissions.user' &&
|
|
7
7
|
schema.uid === 'plugin::users-permissions.role'
|
|
8
8
|
) {
|
|
9
9
|
remove(key);
|
package/.eslintrc.js
DELETED
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
3
|
-
* FormModal
|
|
4
|
-
*
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import React from 'react';
|
|
8
|
-
import { useIntl } from 'react-intl';
|
|
9
|
-
import {
|
|
10
|
-
Button,
|
|
11
|
-
Flex,
|
|
12
|
-
Breadcrumbs,
|
|
13
|
-
Crumb,
|
|
14
|
-
Grid,
|
|
15
|
-
GridItem,
|
|
16
|
-
ModalLayout,
|
|
17
|
-
ModalHeader,
|
|
18
|
-
ModalFooter,
|
|
19
|
-
ModalBody,
|
|
20
|
-
} from '@strapi/design-system';
|
|
21
|
-
import PropTypes from 'prop-types';
|
|
22
|
-
import { Formik } from 'formik';
|
|
23
|
-
import { Form } from '@strapi/helper-plugin';
|
|
24
|
-
import Input from './Input';
|
|
25
|
-
|
|
26
|
-
const FormModal = ({
|
|
27
|
-
headerBreadcrumbs,
|
|
28
|
-
initialData,
|
|
29
|
-
isSubmiting,
|
|
30
|
-
layout,
|
|
31
|
-
isOpen,
|
|
32
|
-
onSubmit,
|
|
33
|
-
onToggle,
|
|
34
|
-
providerToEditName,
|
|
35
|
-
}) => {
|
|
36
|
-
const { formatMessage } = useIntl();
|
|
37
|
-
|
|
38
|
-
if (!isOpen) {
|
|
39
|
-
return null;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return (
|
|
43
|
-
<ModalLayout onClose={onToggle} labelledBy="title">
|
|
44
|
-
<ModalHeader>
|
|
45
|
-
<Breadcrumbs label={headerBreadcrumbs.join(', ')}>
|
|
46
|
-
{headerBreadcrumbs.map((crumb) => (
|
|
47
|
-
<Crumb key={crumb}>{crumb}</Crumb>
|
|
48
|
-
))}
|
|
49
|
-
</Breadcrumbs>
|
|
50
|
-
</ModalHeader>
|
|
51
|
-
<Formik
|
|
52
|
-
onSubmit={(values) => onSubmit(values)}
|
|
53
|
-
initialValues={initialData}
|
|
54
|
-
validationSchema={layout.schema}
|
|
55
|
-
validateOnChange={false}
|
|
56
|
-
>
|
|
57
|
-
{({ errors, handleChange, values }) => {
|
|
58
|
-
return (
|
|
59
|
-
<Form>
|
|
60
|
-
<ModalBody>
|
|
61
|
-
<Flex direction="column" alignItems="stretch" gap={1}>
|
|
62
|
-
<Grid gap={5}>
|
|
63
|
-
{layout.form.map((row) => {
|
|
64
|
-
return row.map((input) => {
|
|
65
|
-
return (
|
|
66
|
-
<GridItem key={input.name} col={input.size} xs={12}>
|
|
67
|
-
<Input
|
|
68
|
-
{...input}
|
|
69
|
-
error={errors[input.name]}
|
|
70
|
-
onChange={handleChange}
|
|
71
|
-
value={values[input.name]}
|
|
72
|
-
providerToEditName={providerToEditName}
|
|
73
|
-
/>
|
|
74
|
-
</GridItem>
|
|
75
|
-
);
|
|
76
|
-
});
|
|
77
|
-
})}
|
|
78
|
-
</Grid>
|
|
79
|
-
</Flex>
|
|
80
|
-
</ModalBody>
|
|
81
|
-
<ModalFooter
|
|
82
|
-
startActions={
|
|
83
|
-
<Button variant="tertiary" onClick={onToggle} type="button">
|
|
84
|
-
{formatMessage({
|
|
85
|
-
id: 'app.components.Button.cancel',
|
|
86
|
-
defaultMessage: 'Cancel',
|
|
87
|
-
})}
|
|
88
|
-
</Button>
|
|
89
|
-
}
|
|
90
|
-
endActions={
|
|
91
|
-
<Button type="submit" loading={isSubmiting}>
|
|
92
|
-
{formatMessage({ id: 'global.save', defaultMessage: 'Save' })}
|
|
93
|
-
</Button>
|
|
94
|
-
}
|
|
95
|
-
/>
|
|
96
|
-
</Form>
|
|
97
|
-
);
|
|
98
|
-
}}
|
|
99
|
-
</Formik>
|
|
100
|
-
</ModalLayout>
|
|
101
|
-
);
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
FormModal.defaultProps = {
|
|
105
|
-
initialData: null,
|
|
106
|
-
providerToEditName: null,
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
FormModal.propTypes = {
|
|
110
|
-
headerBreadcrumbs: PropTypes.arrayOf(PropTypes.string).isRequired,
|
|
111
|
-
initialData: PropTypes.object,
|
|
112
|
-
layout: PropTypes.shape({
|
|
113
|
-
form: PropTypes.arrayOf(PropTypes.array),
|
|
114
|
-
schema: PropTypes.object,
|
|
115
|
-
}).isRequired,
|
|
116
|
-
isOpen: PropTypes.bool.isRequired,
|
|
117
|
-
isSubmiting: PropTypes.bool.isRequired,
|
|
118
|
-
onSubmit: PropTypes.func.isRequired,
|
|
119
|
-
onToggle: PropTypes.func.isRequired,
|
|
120
|
-
providerToEditName: PropTypes.string,
|
|
121
|
-
};
|
|
122
|
-
|
|
123
|
-
export default FormModal;
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import React, { useReducer } from 'react';
|
|
2
|
-
import { Accordion, AccordionToggle, AccordionContent, Box, Flex } from '@strapi/design-system';
|
|
3
|
-
import { useIntl } from 'react-intl';
|
|
4
|
-
import { useUsersPermissions } from '../../contexts/UsersPermissionsContext';
|
|
5
|
-
import formatPluginName from '../../utils/formatPluginName';
|
|
6
|
-
import PermissionRow from './PermissionRow';
|
|
7
|
-
import init from './init';
|
|
8
|
-
import { initialState, reducer } from './reducer';
|
|
9
|
-
|
|
10
|
-
const Permissions = () => {
|
|
11
|
-
const { modifiedData } = useUsersPermissions();
|
|
12
|
-
const { formatMessage } = useIntl();
|
|
13
|
-
const [{ collapses }, dispatch] = useReducer(reducer, initialState, (state) =>
|
|
14
|
-
init(state, modifiedData)
|
|
15
|
-
);
|
|
16
|
-
|
|
17
|
-
const handleToggle = (index) =>
|
|
18
|
-
dispatch({
|
|
19
|
-
type: 'TOGGLE_COLLAPSE',
|
|
20
|
-
index,
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
return (
|
|
24
|
-
<Flex direction="column" alignItems="stretch" gap={1}>
|
|
25
|
-
{collapses.map((collapse, index) => (
|
|
26
|
-
<Accordion
|
|
27
|
-
expanded={collapse.isOpen}
|
|
28
|
-
onToggle={() => handleToggle(index)}
|
|
29
|
-
key={collapse.name}
|
|
30
|
-
variant={index % 2 === 0 ? 'secondary' : undefined}
|
|
31
|
-
>
|
|
32
|
-
<AccordionToggle
|
|
33
|
-
title={formatPluginName(collapse.name)}
|
|
34
|
-
description={formatMessage(
|
|
35
|
-
{
|
|
36
|
-
id: 'users-permissions.Plugin.permissions.plugins.description',
|
|
37
|
-
defaultMessage: 'Define all allowed actions for the {name} plugin.',
|
|
38
|
-
},
|
|
39
|
-
{ name: collapse.name }
|
|
40
|
-
)}
|
|
41
|
-
variant={index % 2 ? 'primary' : 'secondary'}
|
|
42
|
-
/>
|
|
43
|
-
<AccordionContent>
|
|
44
|
-
<Box>
|
|
45
|
-
<PermissionRow permissions={modifiedData[collapse.name]} name={collapse.name} />
|
|
46
|
-
</Box>
|
|
47
|
-
</AccordionContent>
|
|
48
|
-
</Accordion>
|
|
49
|
-
))}
|
|
50
|
-
</Flex>
|
|
51
|
-
);
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
export default Permissions;
|
package/admin/src/hooks/index.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
// eslint-disable-next-line import/prefer-default-export
|
|
2
|
-
export { default as useForm } from './useForm';
|
|
3
|
-
export { default as useRolesList } from './useRolesList';
|
|
4
|
-
export { default as usePlugins } from './usePlugins';
|
|
5
|
-
export { default as useFetchRole } from './useFetchRole';
|