@strapi/plugin-users-permissions 0.0.0-next.f7babb775ed9a7e18d8351cb7f74c63e016323c4 → 0.0.0-next.f86041c89a8c1545c6437a881dc613e98bc52bd7
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} +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} +20 -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} +9 -6
- package/admin/src/components/UsersPermissions/{index.js → index.jsx} +16 -7
- package/admin/src/components/UsersPermissions/reducer.js +1 -1
- package/admin/src/index.js +21 -49
- 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 +157 -0
- package/admin/src/pages/EmailTemplates/components/{EmailTable.js → EmailTable.jsx} +21 -18
- 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 +260 -0
- package/admin/src/pages/Providers/utils/forms.js +23 -11
- package/admin/src/pages/Roles/constants.js +3 -3
- package/admin/src/{hooks → pages/Roles/hooks}/usePlugins.js +19 -12
- package/admin/src/pages/Roles/index.jsx +24 -0
- package/admin/src/pages/Roles/pages/CreatePage.jsx +207 -0
- package/admin/src/pages/Roles/pages/EditPage.jsx +220 -0
- package/admin/src/pages/Roles/pages/ListPage/components/TableBody.jsx +119 -0
- package/admin/src/pages/Roles/pages/ListPage/index.jsx +264 -0
- package/admin/src/pluginId.js +2 -2
- package/admin/src/translations/en.json +2 -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/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 +158 -0
- package/dist/admin/components/Permissions/PermissionRow/SubCategory.js.map +1 -0
- package/dist/admin/components/Permissions/PermissionRow/SubCategory.mjs +156 -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 +68 -0
- package/dist/admin/components/Policies/index.js.map +1 -0
- package/dist/admin/components/Policies/index.mjs +66 -0
- package/dist/admin/components/Policies/index.mjs.map +1 -0
- package/dist/admin/components/UsersPermissions/index.js +116 -0
- package/dist/admin/components/UsersPermissions/index.js.map +1 -0
- package/dist/admin/components/UsersPermissions/index.mjs +114 -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 +172 -0
- package/dist/admin/pages/EmailTemplates/components/EmailForm.js.map +1 -0
- package/dist/admin/pages/EmailTemplates/components/EmailForm.mjs +170 -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 +274 -0
- package/dist/admin/pages/Providers/index.js.map +1 -0
- package/dist/admin/pages/Providers/index.mjs +250 -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 +238 -0
- package/dist/admin/pages/Roles/pages/CreatePage.js.map +1 -0
- package/dist/admin/pages/Roles/pages/CreatePage.mjs +216 -0
- package/dist/admin/pages/Roles/pages/CreatePage.mjs.map +1 -0
- package/dist/admin/pages/Roles/pages/EditPage.js +239 -0
- package/dist/admin/pages/Roles/pages/EditPage.js.map +1 -0
- package/dist/admin/pages/Roles/pages/EditPage.mjs +217 -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 +233 -0
- package/dist/admin/pages/Roles/pages/ListPage/index.js.map +1 -0
- package/dist/admin/pages/Roles/pages/ListPage/index.mjs +230 -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 +88 -0
- package/dist/admin/translations/en.json.js.map +1 -0
- package/dist/admin/translations/en.json.mjs +86 -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 +166 -0
- package/dist/server/bootstrap/index.js.map +1 -0
- package/dist/server/bootstrap/index.mjs +164 -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 +70 -0
- package/dist/server/config.js.map +1 -0
- package/dist/server/config.mjs +68 -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 +630 -0
- package/dist/server/controllers/auth.js.map +1 -0
- package/dist/server/controllers/auth.mjs +628 -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 +168 -0
- package/dist/server/routes/content-api/auth.js.map +1 -0
- package/dist/server/routes/content-api/auth.mjs +166 -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 +217 -0
- package/dist/server/routes/content-api/validation.js.map +1 -0
- package/dist/server/routes/content-api/validation.mjs +215 -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/constants.js +19 -0
- package/dist/server/services/constants.js.map +1 -0
- package/dist/server/services/constants.mjs +17 -0
- package/dist/server/services/constants.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 +93 -0
- package/dist/server/services/jwt.js.map +1 -0
- package/dist/server/services/jwt.mjs +91 -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 +188 -0
- package/dist/server/services/user.js.map +1 -0
- package/dist/server/services/user.mjs +186 -0
- package/dist/server/services/user.mjs.map +1 -0
- package/dist/server/services/users-permissions.js +256 -0
- package/dist/server/services/users-permissions.js.map +1 -0
- package/dist/server/services/users-permissions.mjs +254 -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 -1
- package/package.json +50 -30
- package/rollup.config.mjs +19 -0
- package/server/bootstrap/index.js +49 -15
- package/server/bootstrap/users-permissions-actions.js +6 -0
- package/server/config.js +51 -0
- package/server/content-types/user/index.js +0 -1
- package/server/controllers/auth.js +323 -47
- 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 +2 -2
- package/server/register.js +2 -2
- package/server/routes/content-api/auth.js +119 -71
- package/server/routes/content-api/index.js +11 -4
- 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 +250 -0
- package/server/services/constants.js +9 -0
- package/server/services/jwt.js +53 -5
- 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 +67 -19
- package/server/services/users-permissions.js +21 -15
- 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 -126
- package/admin/src/components/Permissions/index.js +0 -57
- package/admin/src/hooks/index.js +0 -5
- package/admin/src/hooks/useFetchRole/index.js +0 -67
- package/admin/src/hooks/useFetchRole/reducer.js +0 -31
- package/admin/src/hooks/useForm/index.js +0 -68
- package/admin/src/hooks/useForm/reducer.js +0 -40
- package/admin/src/hooks/useRolesList/index.js +0 -65
- 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 -242
- package/admin/src/pages/AdvancedSettings/utils/api.js +0 -16
- package/admin/src/pages/EmailTemplates/components/EmailForm.js +0 -176
- package/admin/src/pages/EmailTemplates/index.js +0 -159
- package/admin/src/pages/EmailTemplates/utils/api.js +0 -16
- package/admin/src/pages/Providers/index.js +0 -271
- package/admin/src/pages/Providers/reducer.js +0 -54
- package/admin/src/pages/Providers/utils/api.js +0 -24
- package/admin/src/pages/Providers/utils/createProvidersArray.js +0 -21
- package/admin/src/pages/Roles/CreatePage.js +0 -185
- package/admin/src/pages/Roles/EditPage.js +0 -197
- package/admin/src/pages/Roles/ListPage/components/TableBody.js +0 -93
- package/admin/src/pages/Roles/ListPage/index.js +0 -238
- package/admin/src/pages/Roles/ListPage/utils/api.js +0 -30
- package/admin/src/pages/Roles/ProtectedCreatePage.js +0 -15
- package/admin/src/pages/Roles/ProtectedEditPage.js +0 -15
- package/admin/src/pages/Roles/ProtectedListPage.js +0 -17
- package/admin/src/pages/Roles/index.js +0 -30
- package/server/bootstrap/grant-config.js +0 -131
- package/strapi-admin.js +0 -3
- 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,129 @@
|
|
|
1
|
+
import require$$1 from '@strapi/utils';
|
|
2
|
+
|
|
3
|
+
var auth;
|
|
4
|
+
var hasRequiredAuth;
|
|
5
|
+
function requireAuth() {
|
|
6
|
+
if (hasRequiredAuth) return auth;
|
|
7
|
+
hasRequiredAuth = 1;
|
|
8
|
+
const { yup, validateYupSchema } = require$$1;
|
|
9
|
+
const callbackSchema = yup.object({
|
|
10
|
+
identifier: yup.string().required(),
|
|
11
|
+
password: yup.string().required()
|
|
12
|
+
});
|
|
13
|
+
const createRegisterSchema = (config)=>yup.object({
|
|
14
|
+
email: yup.string().email().required(),
|
|
15
|
+
username: yup.string().required(),
|
|
16
|
+
password: yup.string().required().test(function(value) {
|
|
17
|
+
if (!value) return true;
|
|
18
|
+
const isValid = new TextEncoder().encode(value).length <= 72;
|
|
19
|
+
if (!isValid) {
|
|
20
|
+
return this.createError({
|
|
21
|
+
message: 'Password must be less than 73 bytes'
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
return true;
|
|
25
|
+
}).test(async function(value) {
|
|
26
|
+
if (typeof config?.validatePassword === 'function') {
|
|
27
|
+
try {
|
|
28
|
+
const isValid = await config.validatePassword(value);
|
|
29
|
+
if (!isValid) {
|
|
30
|
+
return this.createError({
|
|
31
|
+
message: 'Password validation failed.'
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
} catch (error) {
|
|
35
|
+
return this.createError({
|
|
36
|
+
message: error.message || 'An error occurred.'
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return true;
|
|
41
|
+
})
|
|
42
|
+
});
|
|
43
|
+
const sendEmailConfirmationSchema = yup.object({
|
|
44
|
+
email: yup.string().email().required()
|
|
45
|
+
});
|
|
46
|
+
const validateEmailConfirmationSchema = yup.object({
|
|
47
|
+
confirmation: yup.string().required()
|
|
48
|
+
});
|
|
49
|
+
const forgotPasswordSchema = yup.object({
|
|
50
|
+
email: yup.string().email().required()
|
|
51
|
+
}).noUnknown();
|
|
52
|
+
const createResetPasswordSchema = (config)=>yup.object({
|
|
53
|
+
password: yup.string().required().test(function(value) {
|
|
54
|
+
if (!value) return true;
|
|
55
|
+
const isValid = new TextEncoder().encode(value).length <= 72;
|
|
56
|
+
if (!isValid) {
|
|
57
|
+
return this.createError({
|
|
58
|
+
message: 'Password must be less than 73 bytes'
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
return true;
|
|
62
|
+
}).test(async function(value) {
|
|
63
|
+
if (typeof config?.validatePassword === 'function') {
|
|
64
|
+
try {
|
|
65
|
+
const isValid = await config.validatePassword(value);
|
|
66
|
+
if (!isValid) {
|
|
67
|
+
return this.createError({
|
|
68
|
+
message: 'Password validation failed.'
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
} catch (error) {
|
|
72
|
+
return this.createError({
|
|
73
|
+
message: error.message || 'An error occurred.'
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return true;
|
|
78
|
+
}),
|
|
79
|
+
passwordConfirmation: yup.string().required().oneOf([
|
|
80
|
+
yup.ref('password')
|
|
81
|
+
], 'Passwords do not match'),
|
|
82
|
+
code: yup.string().required()
|
|
83
|
+
}).noUnknown();
|
|
84
|
+
const createChangePasswordSchema = (config)=>yup.object({
|
|
85
|
+
password: yup.string().required().test(function(value) {
|
|
86
|
+
if (!value) return true;
|
|
87
|
+
const isValid = new TextEncoder().encode(value).length <= 72;
|
|
88
|
+
if (!isValid) {
|
|
89
|
+
return this.createError({
|
|
90
|
+
message: 'Password must be less than 73 bytes'
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
return true;
|
|
94
|
+
}).test(async function(value) {
|
|
95
|
+
if (typeof config?.validatePassword === 'function') {
|
|
96
|
+
try {
|
|
97
|
+
const isValid = await config.validatePassword(value);
|
|
98
|
+
if (!isValid) {
|
|
99
|
+
return this.createError({
|
|
100
|
+
message: 'Password validation failed.'
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
} catch (error) {
|
|
104
|
+
return this.createError({
|
|
105
|
+
message: error.message || 'An error occurred.'
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return true;
|
|
110
|
+
}),
|
|
111
|
+
passwordConfirmation: yup.string().required().oneOf([
|
|
112
|
+
yup.ref('password')
|
|
113
|
+
], 'Passwords do not match'),
|
|
114
|
+
currentPassword: yup.string().required()
|
|
115
|
+
}).noUnknown();
|
|
116
|
+
auth = {
|
|
117
|
+
validateCallbackBody: validateYupSchema(callbackSchema),
|
|
118
|
+
validateRegisterBody: (payload, config)=>validateYupSchema(createRegisterSchema(config))(payload),
|
|
119
|
+
validateSendEmailConfirmationBody: validateYupSchema(sendEmailConfirmationSchema),
|
|
120
|
+
validateEmailConfirmationBody: validateYupSchema(validateEmailConfirmationSchema),
|
|
121
|
+
validateForgotPasswordBody: validateYupSchema(forgotPasswordSchema),
|
|
122
|
+
validateResetPasswordBody: (payload, config)=>validateYupSchema(createResetPasswordSchema(config))(payload),
|
|
123
|
+
validateChangePasswordBody: (payload, config)=>validateYupSchema(createChangePasswordSchema(config))(payload)
|
|
124
|
+
};
|
|
125
|
+
return auth;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export { requireAuth as __require };
|
|
129
|
+
//# sourceMappingURL=auth.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.mjs","sources":["../../../../server/controllers/validation/auth.js"],"sourcesContent":["'use strict';\n\nconst { yup, validateYupSchema } = require('@strapi/utils');\n\nconst callbackSchema = yup.object({\n identifier: yup.string().required(),\n password: yup.string().required(),\n});\n\nconst createRegisterSchema = (config) =>\n yup.object({\n email: yup.string().email().required(),\n username: yup.string().required(),\n password: yup\n .string()\n .required()\n .test(function (value) {\n if (!value) return true;\n const isValid = new TextEncoder().encode(value).length <= 72;\n if (!isValid) {\n return this.createError({ message: 'Password must be less than 73 bytes' });\n }\n return true;\n })\n .test(async function (value) {\n if (typeof config?.validatePassword === 'function') {\n try {\n const isValid = await config.validatePassword(value);\n if (!isValid) {\n return this.createError({ message: 'Password validation failed.' });\n }\n } catch (error) {\n return this.createError({ message: error.message || 'An error occurred.' });\n }\n }\n return true;\n }),\n });\n\nconst sendEmailConfirmationSchema = yup.object({\n email: yup.string().email().required(),\n});\n\nconst validateEmailConfirmationSchema = yup.object({\n confirmation: yup.string().required(),\n});\n\nconst forgotPasswordSchema = yup\n .object({\n email: yup.string().email().required(),\n })\n .noUnknown();\n\nconst createResetPasswordSchema = (config) =>\n yup\n .object({\n password: yup\n .string()\n .required()\n .test(function (value) {\n if (!value) return true;\n const isValid = new TextEncoder().encode(value).length <= 72;\n if (!isValid) {\n return this.createError({ message: 'Password must be less than 73 bytes' });\n }\n return true;\n })\n .test(async function (value) {\n if (typeof config?.validatePassword === 'function') {\n try {\n const isValid = await config.validatePassword(value);\n if (!isValid) {\n return this.createError({ message: 'Password validation failed.' });\n }\n } catch (error) {\n return this.createError({ message: error.message || 'An error occurred.' });\n }\n }\n return true;\n }),\n passwordConfirmation: yup\n .string()\n .required()\n .oneOf([yup.ref('password')], 'Passwords do not match'),\n\n code: yup.string().required(),\n })\n .noUnknown();\n\nconst createChangePasswordSchema = (config) =>\n yup\n .object({\n password: yup\n .string()\n .required()\n .test(function (value) {\n if (!value) return true;\n const isValid = new TextEncoder().encode(value).length <= 72;\n if (!isValid) {\n return this.createError({ message: 'Password must be less than 73 bytes' });\n }\n return true;\n })\n .test(async function (value) {\n if (typeof config?.validatePassword === 'function') {\n try {\n const isValid = await config.validatePassword(value);\n if (!isValid) {\n return this.createError({ message: 'Password validation failed.' });\n }\n } catch (error) {\n return this.createError({ message: error.message || 'An error occurred.' });\n }\n }\n return true;\n }),\n passwordConfirmation: yup\n .string()\n .required()\n .oneOf([yup.ref('password')], 'Passwords do not match'),\n currentPassword: yup.string().required(),\n })\n .noUnknown();\n\nmodule.exports = {\n validateCallbackBody: validateYupSchema(callbackSchema),\n validateRegisterBody: (payload, config) =>\n validateYupSchema(createRegisterSchema(config))(payload),\n validateSendEmailConfirmationBody: validateYupSchema(sendEmailConfirmationSchema),\n validateEmailConfirmationBody: validateYupSchema(validateEmailConfirmationSchema),\n validateForgotPasswordBody: validateYupSchema(forgotPasswordSchema),\n validateResetPasswordBody: (payload, config) =>\n validateYupSchema(createResetPasswordSchema(config))(payload),\n validateChangePasswordBody: (payload, config) =>\n validateYupSchema(createChangePasswordSchema(config))(payload),\n};\n"],"names":["yup","validateYupSchema","require$$0","callbackSchema","object","identifier","string","required","password","createRegisterSchema","config","email","username","test","value","isValid","TextEncoder","encode","length","createError","message","validatePassword","error","sendEmailConfirmationSchema","validateEmailConfirmationSchema","confirmation","forgotPasswordSchema","noUnknown","createResetPasswordSchema","passwordConfirmation","oneOf","ref","code","createChangePasswordSchema","currentPassword","auth","validateCallbackBody","validateRegisterBody","payload","validateSendEmailConfirmationBody","validateEmailConfirmationBody","validateForgotPasswordBody","validateResetPasswordBody","validateChangePasswordBody"],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var require$$0 = require('lodash/fp');
|
|
4
|
+
var require$$1 = require('@strapi/utils');
|
|
5
|
+
|
|
6
|
+
var emailTemplate;
|
|
7
|
+
var hasRequiredEmailTemplate;
|
|
8
|
+
function requireEmailTemplate() {
|
|
9
|
+
if (hasRequiredEmailTemplate) return emailTemplate;
|
|
10
|
+
hasRequiredEmailTemplate = 1;
|
|
11
|
+
const { trim } = require$$0;
|
|
12
|
+
const { template: { createLooseInterpolationRegExp, createStrictInterpolationRegExp } } = require$$1;
|
|
13
|
+
const invalidPatternsRegexes = [
|
|
14
|
+
// Ignore "evaluation" patterns: <% ... %>
|
|
15
|
+
/<%[^=]([\s\S]*?)%>/m,
|
|
16
|
+
// Ignore basic string interpolations
|
|
17
|
+
/\${([^{}]*)}/m
|
|
18
|
+
];
|
|
19
|
+
const authorizedKeys = [
|
|
20
|
+
'URL',
|
|
21
|
+
'ADMIN_URL',
|
|
22
|
+
'SERVER_URL',
|
|
23
|
+
'CODE',
|
|
24
|
+
'USER',
|
|
25
|
+
'USER.email',
|
|
26
|
+
'USER.username',
|
|
27
|
+
'TOKEN'
|
|
28
|
+
];
|
|
29
|
+
const matchAll = (pattern, src)=>{
|
|
30
|
+
const matches = [];
|
|
31
|
+
let match;
|
|
32
|
+
const regexPatternWithGlobal = RegExp(pattern, 'g');
|
|
33
|
+
// eslint-disable-next-line no-cond-assign
|
|
34
|
+
while(match = regexPatternWithGlobal.exec(src)){
|
|
35
|
+
const [, group] = match;
|
|
36
|
+
matches.push(trim(group));
|
|
37
|
+
}
|
|
38
|
+
return matches;
|
|
39
|
+
};
|
|
40
|
+
const isValidEmailTemplate = (template)=>{
|
|
41
|
+
// Check for known invalid patterns
|
|
42
|
+
for (const reg of invalidPatternsRegexes){
|
|
43
|
+
if (reg.test(template)) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
const interpolation = {
|
|
48
|
+
// Strict interpolation pattern to match only valid groups
|
|
49
|
+
strict: createStrictInterpolationRegExp(authorizedKeys),
|
|
50
|
+
// Weak interpolation pattern to match as many group as possible.
|
|
51
|
+
loose: createLooseInterpolationRegExp()
|
|
52
|
+
};
|
|
53
|
+
// Compute both strict & loose matches
|
|
54
|
+
const strictMatches = matchAll(interpolation.strict, template);
|
|
55
|
+
const looseMatches = matchAll(interpolation.loose, template);
|
|
56
|
+
// If we have more matches with the loose RegExp than with the strict one,
|
|
57
|
+
// then it means that at least one of the interpolation group is invalid
|
|
58
|
+
// Note: In the future, if we wanted to give more details for error formatting
|
|
59
|
+
// purposes, we could return the difference between the two arrays
|
|
60
|
+
if (looseMatches.length > strictMatches.length) {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
return true;
|
|
64
|
+
};
|
|
65
|
+
emailTemplate = {
|
|
66
|
+
isValidEmailTemplate
|
|
67
|
+
};
|
|
68
|
+
return emailTemplate;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
exports.__require = requireEmailTemplate;
|
|
72
|
+
//# sourceMappingURL=email-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-template.js","sources":["../../../../server/controllers/validation/email-template.js"],"sourcesContent":["'use strict';\n\nconst { trim } = require('lodash/fp');\nconst {\n template: { createLooseInterpolationRegExp, createStrictInterpolationRegExp },\n} = require('@strapi/utils');\n\nconst invalidPatternsRegexes = [\n // Ignore \"evaluation\" patterns: <% ... %>\n /<%[^=]([\\s\\S]*?)%>/m,\n // Ignore basic string interpolations\n /\\${([^{}]*)}/m,\n];\n\nconst authorizedKeys = [\n 'URL',\n 'ADMIN_URL',\n 'SERVER_URL',\n 'CODE',\n 'USER',\n 'USER.email',\n 'USER.username',\n 'TOKEN',\n];\n\nconst matchAll = (pattern, src) => {\n const matches = [];\n let match;\n\n const regexPatternWithGlobal = RegExp(pattern, 'g');\n\n // eslint-disable-next-line no-cond-assign\n while ((match = regexPatternWithGlobal.exec(src))) {\n const [, group] = match;\n\n matches.push(trim(group));\n }\n\n return matches;\n};\n\nconst isValidEmailTemplate = (template) => {\n // Check for known invalid patterns\n for (const reg of invalidPatternsRegexes) {\n if (reg.test(template)) {\n return false;\n }\n }\n\n const interpolation = {\n // Strict interpolation pattern to match only valid groups\n strict: createStrictInterpolationRegExp(authorizedKeys),\n // Weak interpolation pattern to match as many group as possible.\n loose: createLooseInterpolationRegExp(),\n };\n\n // Compute both strict & loose matches\n const strictMatches = matchAll(interpolation.strict, template);\n const looseMatches = matchAll(interpolation.loose, template);\n\n // If we have more matches with the loose RegExp than with the strict one,\n // then it means that at least one of the interpolation group is invalid\n // Note: In the future, if we wanted to give more details for error formatting\n // purposes, we could return the difference between the two arrays\n if (looseMatches.length > strictMatches.length) {\n return false;\n }\n\n return true;\n};\n\nmodule.exports = {\n isValidEmailTemplate,\n};\n"],"names":["trim","require$$0","template","createLooseInterpolationRegExp","createStrictInterpolationRegExp","require$$1","invalidPatternsRegexes","authorizedKeys","matchAll","pattern","src","matches","match","regexPatternWithGlobal","RegExp","exec","group","push","isValidEmailTemplate","reg","test","interpolation","strict","loose","strictMatches","looseMatches","length","emailTemplate"],"mappings":";;;;;;;;;;IAEA,MAAM,EAAEA,IAAI,EAAE,GAAGC,UAAAA;IACjB,MAAM,EACJC,UAAU,EAAEC,8BAA8B,EAAEC,+BAA+B,EAAE,EAC9E,GAAGC,UAAAA;AAEJ,IAAA,MAAMC,sBAAyB,GAAA;;AAE7B,QAAA,qBAAA;;AAEA,QAAA;AACD,KAAA;AAED,IAAA,MAAMC,cAAiB,GAAA;AACrB,QAAA,KAAA;AACA,QAAA,WAAA;AACA,QAAA,YAAA;AACA,QAAA,MAAA;AACA,QAAA,MAAA;AACA,QAAA,YAAA;AACA,QAAA,eAAA;AACA,QAAA;AACD,KAAA;IAED,MAAMC,QAAAA,GAAW,CAACC,OAASC,EAAAA,GAAAA,GAAAA;AACzB,QAAA,MAAMC,UAAU,EAAE;QAClB,IAAIC,KAAAA;QAEJ,MAAMC,sBAAAA,GAAyBC,OAAOL,OAAS,EAAA,GAAA,CAAA;;AAG/C,QAAA,MAAQG,KAAQC,GAAAA,sBAAAA,CAAuBE,IAAI,CAACL,GAAO,CAAA,CAAA;YACjD,MAAM,GAAGM,MAAM,GAAGJ,KAAAA;YAElBD,OAAQM,CAAAA,IAAI,CAACjB,IAAKgB,CAAAA,KAAAA,CAAAA,CAAAA;AACnB;QAED,OAAOL,OAAAA;AACT,KAAA;AAEA,IAAA,MAAMO,uBAAuB,CAAChB,QAAAA,GAAAA;;QAE5B,KAAK,MAAMiB,OAAOb,sBAAwB,CAAA;YACxC,IAAIa,GAAAA,CAAIC,IAAI,CAAClB,QAAW,CAAA,EAAA;gBACtB,OAAO,KAAA;AACR;AACF;AAED,QAAA,MAAMmB,aAAgB,GAAA;;AAEpBC,YAAAA,MAAAA,EAAQlB,+BAAgCG,CAAAA,cAAAA,CAAAA;;YAExCgB,KAAOpB,EAAAA,8BAAAA;AACX,SAAA;;AAGE,QAAA,MAAMqB,aAAgBhB,GAAAA,QAAAA,CAASa,aAAcC,CAAAA,MAAM,EAAEpB,QAAAA,CAAAA;AACrD,QAAA,MAAMuB,YAAejB,GAAAA,QAAAA,CAASa,aAAcE,CAAAA,KAAK,EAAErB,QAAAA,CAAAA;;;;;AAMnD,QAAA,IAAIuB,YAAaC,CAAAA,MAAM,GAAGF,aAAAA,CAAcE,MAAM,EAAE;YAC9C,OAAO,KAAA;AACR;QAED,OAAO,IAAA;AACT,KAAA;IAEAC,aAAiB,GAAA;AACfT,QAAAA;AACF,KAAA;;;;;;"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import require$$0 from 'lodash/fp';
|
|
2
|
+
import require$$1 from '@strapi/utils';
|
|
3
|
+
|
|
4
|
+
var emailTemplate;
|
|
5
|
+
var hasRequiredEmailTemplate;
|
|
6
|
+
function requireEmailTemplate() {
|
|
7
|
+
if (hasRequiredEmailTemplate) return emailTemplate;
|
|
8
|
+
hasRequiredEmailTemplate = 1;
|
|
9
|
+
const { trim } = require$$0;
|
|
10
|
+
const { template: { createLooseInterpolationRegExp, createStrictInterpolationRegExp } } = require$$1;
|
|
11
|
+
const invalidPatternsRegexes = [
|
|
12
|
+
// Ignore "evaluation" patterns: <% ... %>
|
|
13
|
+
/<%[^=]([\s\S]*?)%>/m,
|
|
14
|
+
// Ignore basic string interpolations
|
|
15
|
+
/\${([^{}]*)}/m
|
|
16
|
+
];
|
|
17
|
+
const authorizedKeys = [
|
|
18
|
+
'URL',
|
|
19
|
+
'ADMIN_URL',
|
|
20
|
+
'SERVER_URL',
|
|
21
|
+
'CODE',
|
|
22
|
+
'USER',
|
|
23
|
+
'USER.email',
|
|
24
|
+
'USER.username',
|
|
25
|
+
'TOKEN'
|
|
26
|
+
];
|
|
27
|
+
const matchAll = (pattern, src)=>{
|
|
28
|
+
const matches = [];
|
|
29
|
+
let match;
|
|
30
|
+
const regexPatternWithGlobal = RegExp(pattern, 'g');
|
|
31
|
+
// eslint-disable-next-line no-cond-assign
|
|
32
|
+
while(match = regexPatternWithGlobal.exec(src)){
|
|
33
|
+
const [, group] = match;
|
|
34
|
+
matches.push(trim(group));
|
|
35
|
+
}
|
|
36
|
+
return matches;
|
|
37
|
+
};
|
|
38
|
+
const isValidEmailTemplate = (template)=>{
|
|
39
|
+
// Check for known invalid patterns
|
|
40
|
+
for (const reg of invalidPatternsRegexes){
|
|
41
|
+
if (reg.test(template)) {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const interpolation = {
|
|
46
|
+
// Strict interpolation pattern to match only valid groups
|
|
47
|
+
strict: createStrictInterpolationRegExp(authorizedKeys),
|
|
48
|
+
// Weak interpolation pattern to match as many group as possible.
|
|
49
|
+
loose: createLooseInterpolationRegExp()
|
|
50
|
+
};
|
|
51
|
+
// Compute both strict & loose matches
|
|
52
|
+
const strictMatches = matchAll(interpolation.strict, template);
|
|
53
|
+
const looseMatches = matchAll(interpolation.loose, template);
|
|
54
|
+
// If we have more matches with the loose RegExp than with the strict one,
|
|
55
|
+
// then it means that at least one of the interpolation group is invalid
|
|
56
|
+
// Note: In the future, if we wanted to give more details for error formatting
|
|
57
|
+
// purposes, we could return the difference between the two arrays
|
|
58
|
+
if (looseMatches.length > strictMatches.length) {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
return true;
|
|
62
|
+
};
|
|
63
|
+
emailTemplate = {
|
|
64
|
+
isValidEmailTemplate
|
|
65
|
+
};
|
|
66
|
+
return emailTemplate;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export { requireEmailTemplate as __require };
|
|
70
|
+
//# sourceMappingURL=email-template.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-template.mjs","sources":["../../../../server/controllers/validation/email-template.js"],"sourcesContent":["'use strict';\n\nconst { trim } = require('lodash/fp');\nconst {\n template: { createLooseInterpolationRegExp, createStrictInterpolationRegExp },\n} = require('@strapi/utils');\n\nconst invalidPatternsRegexes = [\n // Ignore \"evaluation\" patterns: <% ... %>\n /<%[^=]([\\s\\S]*?)%>/m,\n // Ignore basic string interpolations\n /\\${([^{}]*)}/m,\n];\n\nconst authorizedKeys = [\n 'URL',\n 'ADMIN_URL',\n 'SERVER_URL',\n 'CODE',\n 'USER',\n 'USER.email',\n 'USER.username',\n 'TOKEN',\n];\n\nconst matchAll = (pattern, src) => {\n const matches = [];\n let match;\n\n const regexPatternWithGlobal = RegExp(pattern, 'g');\n\n // eslint-disable-next-line no-cond-assign\n while ((match = regexPatternWithGlobal.exec(src))) {\n const [, group] = match;\n\n matches.push(trim(group));\n }\n\n return matches;\n};\n\nconst isValidEmailTemplate = (template) => {\n // Check for known invalid patterns\n for (const reg of invalidPatternsRegexes) {\n if (reg.test(template)) {\n return false;\n }\n }\n\n const interpolation = {\n // Strict interpolation pattern to match only valid groups\n strict: createStrictInterpolationRegExp(authorizedKeys),\n // Weak interpolation pattern to match as many group as possible.\n loose: createLooseInterpolationRegExp(),\n };\n\n // Compute both strict & loose matches\n const strictMatches = matchAll(interpolation.strict, template);\n const looseMatches = matchAll(interpolation.loose, template);\n\n // If we have more matches with the loose RegExp than with the strict one,\n // then it means that at least one of the interpolation group is invalid\n // Note: In the future, if we wanted to give more details for error formatting\n // purposes, we could return the difference between the two arrays\n if (looseMatches.length > strictMatches.length) {\n return false;\n }\n\n return true;\n};\n\nmodule.exports = {\n isValidEmailTemplate,\n};\n"],"names":["trim","require$$0","template","createLooseInterpolationRegExp","createStrictInterpolationRegExp","require$$1","invalidPatternsRegexes","authorizedKeys","matchAll","pattern","src","matches","match","regexPatternWithGlobal","RegExp","exec","group","push","isValidEmailTemplate","reg","test","interpolation","strict","loose","strictMatches","looseMatches","length","emailTemplate"],"mappings":";;;;;;;;IAEA,MAAM,EAAEA,IAAI,EAAE,GAAGC,UAAAA;IACjB,MAAM,EACJC,UAAU,EAAEC,8BAA8B,EAAEC,+BAA+B,EAAE,EAC9E,GAAGC,UAAAA;AAEJ,IAAA,MAAMC,sBAAyB,GAAA;;AAE7B,QAAA,qBAAA;;AAEA,QAAA;AACD,KAAA;AAED,IAAA,MAAMC,cAAiB,GAAA;AACrB,QAAA,KAAA;AACA,QAAA,WAAA;AACA,QAAA,YAAA;AACA,QAAA,MAAA;AACA,QAAA,MAAA;AACA,QAAA,YAAA;AACA,QAAA,eAAA;AACA,QAAA;AACD,KAAA;IAED,MAAMC,QAAAA,GAAW,CAACC,OAASC,EAAAA,GAAAA,GAAAA;AACzB,QAAA,MAAMC,UAAU,EAAE;QAClB,IAAIC,KAAAA;QAEJ,MAAMC,sBAAAA,GAAyBC,OAAOL,OAAS,EAAA,GAAA,CAAA;;AAG/C,QAAA,MAAQG,KAAQC,GAAAA,sBAAAA,CAAuBE,IAAI,CAACL,GAAO,CAAA,CAAA;YACjD,MAAM,GAAGM,MAAM,GAAGJ,KAAAA;YAElBD,OAAQM,CAAAA,IAAI,CAACjB,IAAKgB,CAAAA,KAAAA,CAAAA,CAAAA;AACnB;QAED,OAAOL,OAAAA;AACT,KAAA;AAEA,IAAA,MAAMO,uBAAuB,CAAChB,QAAAA,GAAAA;;QAE5B,KAAK,MAAMiB,OAAOb,sBAAwB,CAAA;YACxC,IAAIa,GAAAA,CAAIC,IAAI,CAAClB,QAAW,CAAA,EAAA;gBACtB,OAAO,KAAA;AACR;AACF;AAED,QAAA,MAAMmB,aAAgB,GAAA;;AAEpBC,YAAAA,MAAAA,EAAQlB,+BAAgCG,CAAAA,cAAAA,CAAAA;;YAExCgB,KAAOpB,EAAAA,8BAAAA;AACX,SAAA;;AAGE,QAAA,MAAMqB,aAAgBhB,GAAAA,QAAAA,CAASa,aAAcC,CAAAA,MAAM,EAAEpB,QAAAA,CAAAA;AACrD,QAAA,MAAMuB,YAAejB,GAAAA,QAAAA,CAASa,aAAcE,CAAAA,KAAK,EAAErB,QAAAA,CAAAA;;;;;AAMnD,QAAA,IAAIuB,YAAaC,CAAAA,MAAM,GAAGF,aAAAA,CAAcE,MAAM,EAAE;YAC9C,OAAO,KAAA;AACR;QAED,OAAO,IAAA;AACT,KAAA;IAEAC,aAAiB,GAAA;AACfT,QAAAA;AACF,KAAA;;;;;;"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var require$$1 = require('@strapi/utils');
|
|
4
|
+
|
|
5
|
+
var user;
|
|
6
|
+
var hasRequiredUser;
|
|
7
|
+
function requireUser() {
|
|
8
|
+
if (hasRequiredUser) return user;
|
|
9
|
+
hasRequiredUser = 1;
|
|
10
|
+
const { yup, validateYupSchema } = require$$1;
|
|
11
|
+
const deleteRoleSchema = yup.object().shape({
|
|
12
|
+
role: yup.strapiID().required()
|
|
13
|
+
});
|
|
14
|
+
const createUserBodySchema = yup.object().shape({
|
|
15
|
+
email: yup.string().email().required(),
|
|
16
|
+
username: yup.string().min(1).required(),
|
|
17
|
+
password: yup.string().min(1).required(),
|
|
18
|
+
role: yup.lazy((value)=>typeof value === 'object' ? yup.object().shape({
|
|
19
|
+
connect: yup.array().of(yup.object().shape({
|
|
20
|
+
id: yup.strapiID().required()
|
|
21
|
+
})).min(1, 'Users must have a role').required()
|
|
22
|
+
}).required() : yup.strapiID().required())
|
|
23
|
+
});
|
|
24
|
+
const updateUserBodySchema = yup.object().shape({
|
|
25
|
+
email: yup.string().email().min(1),
|
|
26
|
+
username: yup.string().min(1),
|
|
27
|
+
password: yup.mixed().test('password-validation', 'Password must be at least 1 character', function validatePassword(value) {
|
|
28
|
+
if (value == null || value === '') {
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
return typeof value === 'string' && value.length >= 1;
|
|
32
|
+
}),
|
|
33
|
+
role: yup.lazy((value)=>typeof value === 'object' ? yup.object().shape({
|
|
34
|
+
connect: yup.array().of(yup.object().shape({
|
|
35
|
+
id: yup.strapiID().required()
|
|
36
|
+
})).required(),
|
|
37
|
+
disconnect: yup.array().test('CheckDisconnect', 'Cannot remove role', function test(disconnectValue) {
|
|
38
|
+
if (value.connect.length === 0 && disconnectValue.length > 0) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
return true;
|
|
42
|
+
}).required()
|
|
43
|
+
}) : yup.strapiID())
|
|
44
|
+
});
|
|
45
|
+
user = {
|
|
46
|
+
validateCreateUserBody: validateYupSchema(createUserBodySchema),
|
|
47
|
+
validateUpdateUserBody: validateYupSchema(updateUserBodySchema),
|
|
48
|
+
validateDeleteRoleBody: validateYupSchema(deleteRoleSchema)
|
|
49
|
+
};
|
|
50
|
+
return user;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
exports.__require = requireUser;
|
|
54
|
+
//# sourceMappingURL=user.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.js","sources":["../../../../server/controllers/validation/user.js"],"sourcesContent":["'use strict';\n\nconst { yup, validateYupSchema } = require('@strapi/utils');\n\nconst deleteRoleSchema = yup.object().shape({\n role: yup.strapiID().required(),\n});\n\nconst createUserBodySchema = yup.object().shape({\n email: yup.string().email().required(),\n username: yup.string().min(1).required(),\n password: yup.string().min(1).required(),\n role: yup.lazy((value) =>\n typeof value === 'object'\n ? yup\n .object()\n .shape({\n connect: yup\n .array()\n .of(yup.object().shape({ id: yup.strapiID().required() }))\n .min(1, 'Users must have a role')\n .required(),\n })\n .required()\n : yup.strapiID().required()\n ),\n});\n\nconst updateUserBodySchema = yup.object().shape({\n email: yup.string().email().min(1),\n username: yup.string().min(1),\n password: yup\n .mixed()\n .test(\n 'password-validation',\n 'Password must be at least 1 character',\n function validatePassword(value) {\n if (value == null || value === '') {\n return true;\n }\n return typeof value === 'string' && value.length >= 1;\n }\n ),\n role: yup.lazy((value) =>\n typeof value === 'object'\n ? yup.object().shape({\n connect: yup\n .array()\n .of(yup.object().shape({ id: yup.strapiID().required() }))\n .required(),\n disconnect: yup\n .array()\n .test('CheckDisconnect', 'Cannot remove role', function test(disconnectValue) {\n if (value.connect.length === 0 && disconnectValue.length > 0) {\n return false;\n }\n\n return true;\n })\n .required(),\n })\n : yup.strapiID()\n ),\n});\n\nmodule.exports = {\n validateCreateUserBody: validateYupSchema(createUserBodySchema),\n validateUpdateUserBody: validateYupSchema(updateUserBodySchema),\n validateDeleteRoleBody: validateYupSchema(deleteRoleSchema),\n};\n"],"names":["yup","validateYupSchema","require$$0","deleteRoleSchema","object","shape","role","strapiID","required","createUserBodySchema","email","string","username","min","password","lazy","value","connect","array","of","id","updateUserBodySchema","mixed","test","validatePassword","length","disconnect","disconnectValue","user","validateCreateUserBody","validateUpdateUserBody","validateDeleteRoleBody"],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import require$$1 from '@strapi/utils';
|
|
2
|
+
|
|
3
|
+
var user;
|
|
4
|
+
var hasRequiredUser;
|
|
5
|
+
function requireUser() {
|
|
6
|
+
if (hasRequiredUser) return user;
|
|
7
|
+
hasRequiredUser = 1;
|
|
8
|
+
const { yup, validateYupSchema } = require$$1;
|
|
9
|
+
const deleteRoleSchema = yup.object().shape({
|
|
10
|
+
role: yup.strapiID().required()
|
|
11
|
+
});
|
|
12
|
+
const createUserBodySchema = yup.object().shape({
|
|
13
|
+
email: yup.string().email().required(),
|
|
14
|
+
username: yup.string().min(1).required(),
|
|
15
|
+
password: yup.string().min(1).required(),
|
|
16
|
+
role: yup.lazy((value)=>typeof value === 'object' ? yup.object().shape({
|
|
17
|
+
connect: yup.array().of(yup.object().shape({
|
|
18
|
+
id: yup.strapiID().required()
|
|
19
|
+
})).min(1, 'Users must have a role').required()
|
|
20
|
+
}).required() : yup.strapiID().required())
|
|
21
|
+
});
|
|
22
|
+
const updateUserBodySchema = yup.object().shape({
|
|
23
|
+
email: yup.string().email().min(1),
|
|
24
|
+
username: yup.string().min(1),
|
|
25
|
+
password: yup.mixed().test('password-validation', 'Password must be at least 1 character', function validatePassword(value) {
|
|
26
|
+
if (value == null || value === '') {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
return typeof value === 'string' && value.length >= 1;
|
|
30
|
+
}),
|
|
31
|
+
role: yup.lazy((value)=>typeof value === 'object' ? yup.object().shape({
|
|
32
|
+
connect: yup.array().of(yup.object().shape({
|
|
33
|
+
id: yup.strapiID().required()
|
|
34
|
+
})).required(),
|
|
35
|
+
disconnect: yup.array().test('CheckDisconnect', 'Cannot remove role', function test(disconnectValue) {
|
|
36
|
+
if (value.connect.length === 0 && disconnectValue.length > 0) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
return true;
|
|
40
|
+
}).required()
|
|
41
|
+
}) : yup.strapiID())
|
|
42
|
+
});
|
|
43
|
+
user = {
|
|
44
|
+
validateCreateUserBody: validateYupSchema(createUserBodySchema),
|
|
45
|
+
validateUpdateUserBody: validateYupSchema(updateUserBodySchema),
|
|
46
|
+
validateDeleteRoleBody: validateYupSchema(deleteRoleSchema)
|
|
47
|
+
};
|
|
48
|
+
return user;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export { requireUser as __require };
|
|
52
|
+
//# sourceMappingURL=user.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.mjs","sources":["../../../../server/controllers/validation/user.js"],"sourcesContent":["'use strict';\n\nconst { yup, validateYupSchema } = require('@strapi/utils');\n\nconst deleteRoleSchema = yup.object().shape({\n role: yup.strapiID().required(),\n});\n\nconst createUserBodySchema = yup.object().shape({\n email: yup.string().email().required(),\n username: yup.string().min(1).required(),\n password: yup.string().min(1).required(),\n role: yup.lazy((value) =>\n typeof value === 'object'\n ? yup\n .object()\n .shape({\n connect: yup\n .array()\n .of(yup.object().shape({ id: yup.strapiID().required() }))\n .min(1, 'Users must have a role')\n .required(),\n })\n .required()\n : yup.strapiID().required()\n ),\n});\n\nconst updateUserBodySchema = yup.object().shape({\n email: yup.string().email().min(1),\n username: yup.string().min(1),\n password: yup\n .mixed()\n .test(\n 'password-validation',\n 'Password must be at least 1 character',\n function validatePassword(value) {\n if (value == null || value === '') {\n return true;\n }\n return typeof value === 'string' && value.length >= 1;\n }\n ),\n role: yup.lazy((value) =>\n typeof value === 'object'\n ? yup.object().shape({\n connect: yup\n .array()\n .of(yup.object().shape({ id: yup.strapiID().required() }))\n .required(),\n disconnect: yup\n .array()\n .test('CheckDisconnect', 'Cannot remove role', function test(disconnectValue) {\n if (value.connect.length === 0 && disconnectValue.length > 0) {\n return false;\n }\n\n return true;\n })\n .required(),\n })\n : yup.strapiID()\n ),\n});\n\nmodule.exports = {\n validateCreateUserBody: validateYupSchema(createUserBodySchema),\n validateUpdateUserBody: validateYupSchema(updateUserBodySchema),\n validateDeleteRoleBody: validateYupSchema(deleteRoleSchema),\n};\n"],"names":["yup","validateYupSchema","require$$0","deleteRoleSchema","object","shape","role","strapiID","required","createUserBodySchema","email","string","username","min","password","lazy","value","connect","array","of","id","updateUserBodySchema","mixed","test","validatePassword","length","disconnect","disconnectValue","user","validateCreateUserBody","validateUpdateUserBody","validateDeleteRoleBody"],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./types/index.js');
|
|
4
|
+
var index$1 = require('./queries/index.js');
|
|
5
|
+
var index$2 = require('./mutations/index.js');
|
|
6
|
+
var resolversConfigs = require('./resolvers-configs.js');
|
|
7
|
+
|
|
8
|
+
var graphql;
|
|
9
|
+
var hasRequiredGraphql;
|
|
10
|
+
function requireGraphql() {
|
|
11
|
+
if (hasRequiredGraphql) return graphql;
|
|
12
|
+
hasRequiredGraphql = 1;
|
|
13
|
+
const getTypes = index.__require();
|
|
14
|
+
const getQueries = index$1.__require();
|
|
15
|
+
const getMutations = index$2.__require();
|
|
16
|
+
const getResolversConfig = resolversConfigs.__require();
|
|
17
|
+
graphql = ({ strapi })=>{
|
|
18
|
+
const { config: graphQLConfig } = strapi.plugin('graphql');
|
|
19
|
+
const extensionService = strapi.plugin('graphql').service('extension');
|
|
20
|
+
const isShadowCRUDEnabled = graphQLConfig('shadowCRUD', true);
|
|
21
|
+
if (!isShadowCRUDEnabled) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
// Disable Permissions queries & mutations but allow the
|
|
25
|
+
// type to be used/selected in filters or nested resolvers
|
|
26
|
+
extensionService.shadowCRUD('plugin::users-permissions.permission').disableQueries().disableMutations();
|
|
27
|
+
// Disable User & Role's Create/Update/Delete actions so they can be replaced
|
|
28
|
+
const actionsToDisable = [
|
|
29
|
+
'create',
|
|
30
|
+
'update',
|
|
31
|
+
'delete'
|
|
32
|
+
];
|
|
33
|
+
extensionService.shadowCRUD('plugin::users-permissions.user').disableActions(actionsToDisable);
|
|
34
|
+
extensionService.shadowCRUD('plugin::users-permissions.role').disableActions(actionsToDisable);
|
|
35
|
+
// Register new types & resolvers config
|
|
36
|
+
extensionService.use(({ nexus })=>{
|
|
37
|
+
const types = getTypes({
|
|
38
|
+
strapi,
|
|
39
|
+
nexus
|
|
40
|
+
});
|
|
41
|
+
const queries = getQueries({
|
|
42
|
+
strapi,
|
|
43
|
+
nexus
|
|
44
|
+
});
|
|
45
|
+
const mutations = getMutations({
|
|
46
|
+
strapi,
|
|
47
|
+
nexus
|
|
48
|
+
});
|
|
49
|
+
const resolversConfig = getResolversConfig({
|
|
50
|
+
strapi
|
|
51
|
+
});
|
|
52
|
+
return {
|
|
53
|
+
types: [
|
|
54
|
+
types,
|
|
55
|
+
queries,
|
|
56
|
+
mutations
|
|
57
|
+
],
|
|
58
|
+
resolversConfig
|
|
59
|
+
};
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
return graphql;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
exports.__require = requireGraphql;
|
|
66
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../server/graphql/index.js"],"sourcesContent":["'use strict';\n\nconst getTypes = require('./types');\nconst getQueries = require('./queries');\nconst getMutations = require('./mutations');\nconst getResolversConfig = require('./resolvers-configs');\n\nmodule.exports = ({ strapi }) => {\n const { config: graphQLConfig } = strapi.plugin('graphql');\n const extensionService = strapi.plugin('graphql').service('extension');\n\n const isShadowCRUDEnabled = graphQLConfig('shadowCRUD', true);\n\n if (!isShadowCRUDEnabled) {\n return;\n }\n\n // Disable Permissions queries & mutations but allow the\n // type to be used/selected in filters or nested resolvers\n extensionService\n .shadowCRUD('plugin::users-permissions.permission')\n .disableQueries()\n .disableMutations();\n\n // Disable User & Role's Create/Update/Delete actions so they can be replaced\n const actionsToDisable = ['create', 'update', 'delete'];\n\n extensionService.shadowCRUD('plugin::users-permissions.user').disableActions(actionsToDisable);\n extensionService.shadowCRUD('plugin::users-permissions.role').disableActions(actionsToDisable);\n\n // Register new types & resolvers config\n extensionService.use(({ nexus }) => {\n const types = getTypes({ strapi, nexus });\n const queries = getQueries({ strapi, nexus });\n const mutations = getMutations({ strapi, nexus });\n const resolversConfig = getResolversConfig({ strapi });\n\n return {\n types: [types, queries, mutations],\n\n resolversConfig,\n };\n });\n};\n"],"names":["getTypes","require$$0","getQueries","require$$1","getMutations","require$$2","getResolversConfig","require$$3","graphql","strapi","config","graphQLConfig","plugin","extensionService","service","isShadowCRUDEnabled","shadowCRUD","disableQueries","disableMutations","actionsToDisable","disableActions","use","nexus","types","queries","mutations","resolversConfig"],"mappings":";;;;;;;;;;;;AAEA,IAAA,MAAMA,QAAWC,GAAAA,eAAAA,EAAAA;AACjB,IAAA,MAAMC,UAAaC,GAAAA,iBAAAA,EAAAA;AACnB,IAAA,MAAMC,YAAeC,GAAAA,iBAAAA,EAAAA;AACrB,IAAA,MAAMC,kBAAqBC,GAAAA,0BAAAA,EAAAA;IAE3BC,OAAiB,GAAA,CAAC,EAAEC,MAAM,EAAE,GAAA;AAC1B,QAAA,MAAM,EAAEC,MAAQC,EAAAA,aAAa,EAAE,GAAGF,MAAAA,CAAOG,MAAM,CAAC,SAAA,CAAA;AAChD,QAAA,MAAMC,mBAAmBJ,MAAOG,CAAAA,MAAM,CAAC,SAAA,CAAA,CAAWE,OAAO,CAAC,WAAA,CAAA;QAE1D,MAAMC,mBAAAA,GAAsBJ,cAAc,YAAc,EAAA,IAAA,CAAA;AAExD,QAAA,IAAI,CAACI,mBAAqB,EAAA;AACxB,YAAA;AACD;;;AAIDF,QAAAA,gBAAAA,CACGG,UAAU,CAAC,sCACXC,CAAAA,CAAAA,cAAc,GACdC,gBAAgB,EAAA;;AAGnB,QAAA,MAAMC,gBAAmB,GAAA;AAAC,YAAA,QAAA;AAAU,YAAA,QAAA;AAAU,YAAA;AAAS,SAAA;AAEvDN,QAAAA,gBAAAA,CAAiBG,UAAU,CAAC,gCAAkCI,CAAAA,CAAAA,cAAc,CAACD,gBAAAA,CAAAA;AAC7EN,QAAAA,gBAAAA,CAAiBG,UAAU,CAAC,gCAAkCI,CAAAA,CAAAA,cAAc,CAACD,gBAAAA,CAAAA;;AAG7EN,QAAAA,gBAAAA,CAAiBQ,GAAG,CAAC,CAAC,EAAEC,KAAK,EAAE,GAAA;AAC7B,YAAA,MAAMC,QAAQvB,QAAS,CAAA;AAAES,gBAAAA,MAAAA;AAAQa,gBAAAA;AAAO,aAAA,CAAA;AACxC,YAAA,MAAME,UAAUtB,UAAW,CAAA;AAAEO,gBAAAA,MAAAA;AAAQa,gBAAAA;AAAO,aAAA,CAAA;AAC5C,YAAA,MAAMG,YAAYrB,YAAa,CAAA;AAAEK,gBAAAA,MAAAA;AAAQa,gBAAAA;AAAO,aAAA,CAAA;AAChD,YAAA,MAAMI,kBAAkBpB,kBAAmB,CAAA;AAAEG,gBAAAA;AAAQ,aAAA,CAAA;YAErD,OAAO;gBACLc,KAAO,EAAA;AAACA,oBAAAA,KAAAA;AAAOC,oBAAAA,OAAAA;AAASC,oBAAAA;AAAU,iBAAA;AAElCC,gBAAAA;AACN,aAAA;AACA,SAAA,CAAA;AACA,KAAA;;;;;;"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { __require as requireTypes } from './types/index.mjs';
|
|
2
|
+
import { __require as requireQueries } from './queries/index.mjs';
|
|
3
|
+
import { __require as requireMutations } from './mutations/index.mjs';
|
|
4
|
+
import { __require as requireResolversConfigs } from './resolvers-configs.mjs';
|
|
5
|
+
|
|
6
|
+
var graphql;
|
|
7
|
+
var hasRequiredGraphql;
|
|
8
|
+
function requireGraphql() {
|
|
9
|
+
if (hasRequiredGraphql) return graphql;
|
|
10
|
+
hasRequiredGraphql = 1;
|
|
11
|
+
const getTypes = requireTypes();
|
|
12
|
+
const getQueries = requireQueries();
|
|
13
|
+
const getMutations = requireMutations();
|
|
14
|
+
const getResolversConfig = requireResolversConfigs();
|
|
15
|
+
graphql = ({ strapi })=>{
|
|
16
|
+
const { config: graphQLConfig } = strapi.plugin('graphql');
|
|
17
|
+
const extensionService = strapi.plugin('graphql').service('extension');
|
|
18
|
+
const isShadowCRUDEnabled = graphQLConfig('shadowCRUD', true);
|
|
19
|
+
if (!isShadowCRUDEnabled) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
// Disable Permissions queries & mutations but allow the
|
|
23
|
+
// type to be used/selected in filters or nested resolvers
|
|
24
|
+
extensionService.shadowCRUD('plugin::users-permissions.permission').disableQueries().disableMutations();
|
|
25
|
+
// Disable User & Role's Create/Update/Delete actions so they can be replaced
|
|
26
|
+
const actionsToDisable = [
|
|
27
|
+
'create',
|
|
28
|
+
'update',
|
|
29
|
+
'delete'
|
|
30
|
+
];
|
|
31
|
+
extensionService.shadowCRUD('plugin::users-permissions.user').disableActions(actionsToDisable);
|
|
32
|
+
extensionService.shadowCRUD('plugin::users-permissions.role').disableActions(actionsToDisable);
|
|
33
|
+
// Register new types & resolvers config
|
|
34
|
+
extensionService.use(({ nexus })=>{
|
|
35
|
+
const types = getTypes({
|
|
36
|
+
strapi,
|
|
37
|
+
nexus
|
|
38
|
+
});
|
|
39
|
+
const queries = getQueries({
|
|
40
|
+
strapi,
|
|
41
|
+
nexus
|
|
42
|
+
});
|
|
43
|
+
const mutations = getMutations({
|
|
44
|
+
strapi,
|
|
45
|
+
nexus
|
|
46
|
+
});
|
|
47
|
+
const resolversConfig = getResolversConfig({
|
|
48
|
+
strapi
|
|
49
|
+
});
|
|
50
|
+
return {
|
|
51
|
+
types: [
|
|
52
|
+
types,
|
|
53
|
+
queries,
|
|
54
|
+
mutations
|
|
55
|
+
],
|
|
56
|
+
resolversConfig
|
|
57
|
+
};
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
return graphql;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export { requireGraphql as __require };
|
|
64
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../server/graphql/index.js"],"sourcesContent":["'use strict';\n\nconst getTypes = require('./types');\nconst getQueries = require('./queries');\nconst getMutations = require('./mutations');\nconst getResolversConfig = require('./resolvers-configs');\n\nmodule.exports = ({ strapi }) => {\n const { config: graphQLConfig } = strapi.plugin('graphql');\n const extensionService = strapi.plugin('graphql').service('extension');\n\n const isShadowCRUDEnabled = graphQLConfig('shadowCRUD', true);\n\n if (!isShadowCRUDEnabled) {\n return;\n }\n\n // Disable Permissions queries & mutations but allow the\n // type to be used/selected in filters or nested resolvers\n extensionService\n .shadowCRUD('plugin::users-permissions.permission')\n .disableQueries()\n .disableMutations();\n\n // Disable User & Role's Create/Update/Delete actions so they can be replaced\n const actionsToDisable = ['create', 'update', 'delete'];\n\n extensionService.shadowCRUD('plugin::users-permissions.user').disableActions(actionsToDisable);\n extensionService.shadowCRUD('plugin::users-permissions.role').disableActions(actionsToDisable);\n\n // Register new types & resolvers config\n extensionService.use(({ nexus }) => {\n const types = getTypes({ strapi, nexus });\n const queries = getQueries({ strapi, nexus });\n const mutations = getMutations({ strapi, nexus });\n const resolversConfig = getResolversConfig({ strapi });\n\n return {\n types: [types, queries, mutations],\n\n resolversConfig,\n };\n });\n};\n"],"names":["getTypes","require$$0","getQueries","require$$1","getMutations","require$$2","getResolversConfig","require$$3","graphql","strapi","config","graphQLConfig","plugin","extensionService","service","isShadowCRUDEnabled","shadowCRUD","disableQueries","disableMutations","actionsToDisable","disableActions","use","nexus","types","queries","mutations","resolversConfig"],"mappings":";;;;;;;;;;AAEA,IAAA,MAAMA,QAAWC,GAAAA,YAAAA,EAAAA;AACjB,IAAA,MAAMC,UAAaC,GAAAA,cAAAA,EAAAA;AACnB,IAAA,MAAMC,YAAeC,GAAAA,gBAAAA,EAAAA;AACrB,IAAA,MAAMC,kBAAqBC,GAAAA,uBAAAA,EAAAA;IAE3BC,OAAiB,GAAA,CAAC,EAAEC,MAAM,EAAE,GAAA;AAC1B,QAAA,MAAM,EAAEC,MAAQC,EAAAA,aAAa,EAAE,GAAGF,MAAAA,CAAOG,MAAM,CAAC,SAAA,CAAA;AAChD,QAAA,MAAMC,mBAAmBJ,MAAOG,CAAAA,MAAM,CAAC,SAAA,CAAA,CAAWE,OAAO,CAAC,WAAA,CAAA;QAE1D,MAAMC,mBAAAA,GAAsBJ,cAAc,YAAc,EAAA,IAAA,CAAA;AAExD,QAAA,IAAI,CAACI,mBAAqB,EAAA;AACxB,YAAA;AACD;;;AAIDF,QAAAA,gBAAAA,CACGG,UAAU,CAAC,sCACXC,CAAAA,CAAAA,cAAc,GACdC,gBAAgB,EAAA;;AAGnB,QAAA,MAAMC,gBAAmB,GAAA;AAAC,YAAA,QAAA;AAAU,YAAA,QAAA;AAAU,YAAA;AAAS,SAAA;AAEvDN,QAAAA,gBAAAA,CAAiBG,UAAU,CAAC,gCAAkCI,CAAAA,CAAAA,cAAc,CAACD,gBAAAA,CAAAA;AAC7EN,QAAAA,gBAAAA,CAAiBG,UAAU,CAAC,gCAAkCI,CAAAA,CAAAA,cAAc,CAACD,gBAAAA,CAAAA;;AAG7EN,QAAAA,gBAAAA,CAAiBQ,GAAG,CAAC,CAAC,EAAEC,KAAK,EAAE,GAAA;AAC7B,YAAA,MAAMC,QAAQvB,QAAS,CAAA;AAAES,gBAAAA,MAAAA;AAAQa,gBAAAA;AAAO,aAAA,CAAA;AACxC,YAAA,MAAME,UAAUtB,UAAW,CAAA;AAAEO,gBAAAA,MAAAA;AAAQa,gBAAAA;AAAO,aAAA,CAAA;AAC5C,YAAA,MAAMG,YAAYrB,YAAa,CAAA;AAAEK,gBAAAA,MAAAA;AAAQa,gBAAAA;AAAO,aAAA,CAAA;AAChD,YAAA,MAAMI,kBAAkBpB,kBAAmB,CAAA;AAAEG,gBAAAA;AAAQ,aAAA,CAAA;YAErD,OAAO;gBACLc,KAAO,EAAA;AAACA,oBAAAA,KAAAA;AAAOC,oBAAAA,OAAAA;AAASC,oBAAAA;AAAU,iBAAA;AAElCC,gBAAAA;AACN,aAAA;AACA,SAAA,CAAA;AACA,KAAA;;;;;;"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var require$$0 = require('lodash/fp');
|
|
4
|
+
var utils = require('../../utils.js');
|
|
5
|
+
|
|
6
|
+
var changePassword;
|
|
7
|
+
var hasRequiredChangePassword;
|
|
8
|
+
function requireChangePassword() {
|
|
9
|
+
if (hasRequiredChangePassword) return changePassword;
|
|
10
|
+
hasRequiredChangePassword = 1;
|
|
11
|
+
const { toPlainObject } = require$$0;
|
|
12
|
+
const { checkBadRequest } = utils.__require();
|
|
13
|
+
changePassword = ({ nexus, strapi })=>{
|
|
14
|
+
const { nonNull } = nexus;
|
|
15
|
+
return {
|
|
16
|
+
type: 'UsersPermissionsLoginPayload',
|
|
17
|
+
args: {
|
|
18
|
+
currentPassword: nonNull('String'),
|
|
19
|
+
password: nonNull('String'),
|
|
20
|
+
passwordConfirmation: nonNull('String')
|
|
21
|
+
},
|
|
22
|
+
description: 'Change user password. Confirm with the current password.',
|
|
23
|
+
async resolve (parent, args, context) {
|
|
24
|
+
const { koaContext } = context;
|
|
25
|
+
koaContext.request.body = toPlainObject(args);
|
|
26
|
+
await strapi.plugin('users-permissions').controller('auth').changePassword(koaContext);
|
|
27
|
+
const output = koaContext.body;
|
|
28
|
+
checkBadRequest(output);
|
|
29
|
+
return {
|
|
30
|
+
user: output.user || output,
|
|
31
|
+
jwt: output.jwt
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
return changePassword;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
exports.__require = requireChangePassword;
|
|
40
|
+
//# sourceMappingURL=change-password.js.map
|