@strapi/plugin-users-permissions 0.0.0-next.f5b09a8e61e059f02784478e27c310c6290be088 → 0.0.0-next.f5d21551ed005f524bfc4760b274f1be154e26a8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +2 -1
- package/.eslintrc +4 -1
- package/LICENSE +18 -3
- package/admin/src/components/BoundRoute/{index.js → index.jsx} +3 -3
- package/admin/src/components/FormModal/Input/{index.js → index.jsx} +33 -32
- package/admin/src/components/FormModal/index.jsx +115 -0
- package/admin/src/components/Permissions/PermissionRow/{CheckboxWrapper.js → CheckboxWrapper.jsx} +4 -3
- package/admin/src/components/Permissions/PermissionRow/{SubCategory.js → SubCategory.jsx} +13 -22
- package/admin/src/components/Permissions/index.jsx +47 -0
- package/admin/src/components/Permissions/reducer.js +1 -1
- package/admin/src/components/Policies/{index.js → index.jsx} +8 -6
- package/admin/src/components/UsersPermissions/{index.js → index.jsx} +15 -7
- package/admin/src/components/UsersPermissions/reducer.js +1 -1
- package/admin/src/index.js +17 -34
- package/admin/src/pages/AdvancedSettings/index.jsx +214 -0
- package/admin/src/pages/AdvancedSettings/utils/layout.js +20 -35
- package/admin/src/pages/AdvancedSettings/utils/schema.js +5 -2
- package/admin/src/pages/EmailTemplates/components/EmailForm.jsx +156 -0
- package/admin/src/pages/EmailTemplates/components/{EmailTable.js → EmailTable.jsx} +21 -18
- package/admin/src/pages/EmailTemplates/{index.js → index.jsx} +36 -62
- package/admin/src/pages/EmailTemplates/utils/schema.js +18 -6
- package/admin/src/pages/Providers/{index.js → index.jsx} +98 -113
- package/admin/src/pages/Providers/utils/forms.js +23 -11
- package/admin/src/pages/Roles/constants.js +3 -3
- package/admin/src/pages/Roles/hooks/usePlugins.js +4 -4
- package/admin/src/pages/Roles/index.jsx +24 -0
- package/admin/src/pages/Roles/pages/{CreatePage.js → CreatePage.jsx} +53 -58
- package/admin/src/pages/Roles/pages/{EditPage.js → EditPage.jsx} +63 -68
- package/admin/src/pages/Roles/pages/ListPage/components/{TableBody.js → TableBody.jsx} +28 -32
- package/admin/src/pages/Roles/pages/ListPage/{index.js → index.jsx} +79 -55
- package/admin/src/pluginId.js +2 -2
- package/admin/src/translations/en.json +1 -1
- package/admin/src/translations/uk.json +41 -4
- package/admin/src/utils/formatPluginName.js +1 -1
- package/admin/src/utils/prefixPluginTranslations.js +13 -0
- package/dist/admin/components/BoundRoute/getMethodColor.js +49 -0
- package/dist/admin/components/BoundRoute/getMethodColor.js.map +1 -0
- package/dist/admin/components/BoundRoute/getMethodColor.mjs +47 -0
- package/dist/admin/components/BoundRoute/getMethodColor.mjs.map +1 -0
- package/dist/admin/components/BoundRoute/index.js +98 -0
- package/dist/admin/components/BoundRoute/index.js.map +1 -0
- package/dist/admin/components/BoundRoute/index.mjs +96 -0
- package/dist/admin/components/BoundRoute/index.mjs.map +1 -0
- package/dist/admin/components/FormModal/Input/index.js +123 -0
- package/dist/admin/components/FormModal/Input/index.js.map +1 -0
- package/dist/admin/components/FormModal/Input/index.mjs +121 -0
- package/dist/admin/components/FormModal/Input/index.mjs.map +1 -0
- package/dist/admin/components/FormModal/index.js +110 -0
- package/dist/admin/components/FormModal/index.js.map +1 -0
- package/dist/admin/components/FormModal/index.mjs +108 -0
- package/dist/admin/components/FormModal/index.mjs.map +1 -0
- package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.js +33 -0
- package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.js.map +1 -0
- package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.mjs +31 -0
- package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.mjs.map +1 -0
- package/dist/admin/components/Permissions/PermissionRow/SubCategory.js +156 -0
- package/dist/admin/components/Permissions/PermissionRow/SubCategory.js.map +1 -0
- package/dist/admin/components/Permissions/PermissionRow/SubCategory.mjs +154 -0
- package/dist/admin/components/Permissions/PermissionRow/SubCategory.mjs.map +1 -0
- package/dist/admin/components/Permissions/PermissionRow/index.js +50 -0
- package/dist/admin/components/Permissions/PermissionRow/index.js.map +1 -0
- package/dist/admin/components/Permissions/PermissionRow/index.mjs +48 -0
- package/dist/admin/components/Permissions/PermissionRow/index.mjs.map +1 -0
- package/dist/admin/components/Permissions/index.js +52 -0
- package/dist/admin/components/Permissions/index.js.map +1 -0
- package/dist/admin/components/Permissions/index.mjs +50 -0
- package/dist/admin/components/Permissions/index.mjs.map +1 -0
- package/dist/admin/components/Permissions/init.js +15 -0
- package/dist/admin/components/Permissions/init.js.map +1 -0
- package/dist/admin/components/Permissions/init.mjs +13 -0
- package/dist/admin/components/Permissions/init.mjs.map +1 -0
- package/dist/admin/components/Permissions/reducer.js +34 -0
- package/dist/admin/components/Permissions/reducer.js.map +1 -0
- package/dist/admin/components/Permissions/reducer.mjs +31 -0
- package/dist/admin/components/Permissions/reducer.mjs.map +1 -0
- package/dist/admin/components/Policies/index.js +67 -0
- package/dist/admin/components/Policies/index.js.map +1 -0
- package/dist/admin/components/Policies/index.mjs +65 -0
- package/dist/admin/components/Policies/index.mjs.map +1 -0
- package/dist/admin/components/UsersPermissions/index.js +115 -0
- package/dist/admin/components/UsersPermissions/index.js.map +1 -0
- package/dist/admin/components/UsersPermissions/index.mjs +113 -0
- package/dist/admin/components/UsersPermissions/index.mjs.map +1 -0
- package/dist/admin/components/UsersPermissions/init.js +13 -0
- package/dist/admin/components/UsersPermissions/init.js.map +1 -0
- package/dist/admin/components/UsersPermissions/init.mjs +11 -0
- package/dist/admin/components/UsersPermissions/init.mjs.map +1 -0
- package/dist/admin/components/UsersPermissions/reducer.js +73 -0
- package/dist/admin/components/UsersPermissions/reducer.js.map +1 -0
- package/dist/admin/components/UsersPermissions/reducer.mjs +68 -0
- package/dist/admin/components/UsersPermissions/reducer.mjs.map +1 -0
- package/dist/admin/constants.js +81 -0
- package/dist/admin/constants.js.map +1 -0
- package/dist/admin/constants.mjs +79 -0
- package/dist/admin/constants.mjs.map +1 -0
- package/dist/admin/contexts/UsersPermissionsContext/index.js +23 -0
- package/dist/admin/contexts/UsersPermissionsContext/index.js.map +1 -0
- package/dist/admin/contexts/UsersPermissionsContext/index.mjs +19 -0
- package/dist/admin/contexts/UsersPermissionsContext/index.mjs.map +1 -0
- package/dist/admin/index.js +125 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/index.mjs +121 -0
- package/dist/admin/index.mjs.map +1 -0
- package/dist/admin/package.json.js +14 -0
- package/dist/admin/package.json.js.map +1 -0
- package/dist/admin/package.json.mjs +11 -0
- package/dist/admin/package.json.mjs.map +1 -0
- package/dist/admin/pages/AdvancedSettings/index.js +194 -0
- package/dist/admin/pages/AdvancedSettings/index.js.map +1 -0
- package/dist/admin/pages/AdvancedSettings/index.mjs +191 -0
- package/dist/admin/pages/AdvancedSettings/index.mjs.map +1 -0
- package/dist/admin/pages/AdvancedSettings/utils/layout.js +83 -0
- package/dist/admin/pages/AdvancedSettings/utils/layout.js.map +1 -0
- package/dist/admin/pages/AdvancedSettings/utils/layout.mjs +81 -0
- package/dist/admin/pages/AdvancedSettings/utils/layout.mjs.map +1 -0
- package/dist/admin/pages/AdvancedSettings/utils/schema.js +40 -0
- package/dist/admin/pages/AdvancedSettings/utils/schema.js.map +1 -0
- package/dist/admin/pages/AdvancedSettings/utils/schema.mjs +19 -0
- package/dist/admin/pages/AdvancedSettings/utils/schema.mjs.map +1 -0
- package/dist/admin/pages/EmailTemplates/components/EmailForm.js +171 -0
- package/dist/admin/pages/EmailTemplates/components/EmailForm.js.map +1 -0
- package/dist/admin/pages/EmailTemplates/components/EmailForm.mjs +169 -0
- package/dist/admin/pages/EmailTemplates/components/EmailForm.mjs.map +1 -0
- package/dist/admin/pages/EmailTemplates/components/EmailTable.js +145 -0
- package/dist/admin/pages/EmailTemplates/components/EmailTable.js.map +1 -0
- package/dist/admin/pages/EmailTemplates/components/EmailTable.mjs +143 -0
- package/dist/admin/pages/EmailTemplates/components/EmailTable.mjs.map +1 -0
- package/dist/admin/pages/EmailTemplates/index.js +157 -0
- package/dist/admin/pages/EmailTemplates/index.js.map +1 -0
- package/dist/admin/pages/EmailTemplates/index.mjs +135 -0
- package/dist/admin/pages/EmailTemplates/index.mjs.map +1 -0
- package/dist/admin/pages/EmailTemplates/utils/schema.js +50 -0
- package/dist/admin/pages/EmailTemplates/utils/schema.js.map +1 -0
- package/dist/admin/pages/EmailTemplates/utils/schema.mjs +29 -0
- package/dist/admin/pages/EmailTemplates/utils/schema.mjs.map +1 -0
- package/dist/admin/pages/Providers/index.js +278 -0
- package/dist/admin/pages/Providers/index.js.map +1 -0
- package/dist/admin/pages/Providers/index.mjs +254 -0
- package/dist/admin/pages/Providers/index.mjs.map +1 -0
- package/dist/admin/pages/Providers/utils/forms.js +281 -0
- package/dist/admin/pages/Providers/utils/forms.js.map +1 -0
- package/dist/admin/pages/Providers/utils/forms.mjs +260 -0
- package/dist/admin/pages/Providers/utils/forms.mjs.map +1 -0
- package/dist/admin/pages/Roles/constants.js +31 -0
- package/dist/admin/pages/Roles/constants.js.map +1 -0
- package/dist/admin/pages/Roles/constants.mjs +10 -0
- package/dist/admin/pages/Roles/constants.mjs.map +1 -0
- package/dist/admin/pages/Roles/hooks/usePlugins.js +78 -0
- package/dist/admin/pages/Roles/hooks/usePlugins.js.map +1 -0
- package/dist/admin/pages/Roles/hooks/usePlugins.mjs +76 -0
- package/dist/admin/pages/Roles/hooks/usePlugins.mjs.map +1 -0
- package/dist/admin/pages/Roles/index.js +35 -0
- package/dist/admin/pages/Roles/index.js.map +1 -0
- package/dist/admin/pages/Roles/index.mjs +33 -0
- package/dist/admin/pages/Roles/index.mjs.map +1 -0
- package/dist/admin/pages/Roles/pages/CreatePage.js +225 -0
- package/dist/admin/pages/Roles/pages/CreatePage.js.map +1 -0
- package/dist/admin/pages/Roles/pages/CreatePage.mjs +203 -0
- package/dist/admin/pages/Roles/pages/CreatePage.mjs.map +1 -0
- package/dist/admin/pages/Roles/pages/EditPage.js +229 -0
- package/dist/admin/pages/Roles/pages/EditPage.js.map +1 -0
- package/dist/admin/pages/Roles/pages/EditPage.mjs +207 -0
- package/dist/admin/pages/Roles/pages/EditPage.mjs.map +1 -0
- package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.js +125 -0
- package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.js.map +1 -0
- package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.mjs +123 -0
- package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.mjs.map +1 -0
- package/dist/admin/pages/Roles/pages/ListPage/index.js +237 -0
- package/dist/admin/pages/Roles/pages/ListPage/index.js.map +1 -0
- package/dist/admin/pages/Roles/pages/ListPage/index.mjs +234 -0
- package/dist/admin/pages/Roles/pages/ListPage/index.mjs.map +1 -0
- package/dist/admin/pluginId.js +8 -0
- package/dist/admin/pluginId.js.map +1 -0
- package/dist/admin/pluginId.mjs +6 -0
- package/dist/admin/pluginId.mjs.map +1 -0
- package/dist/admin/translations/ar.json.js +45 -0
- package/dist/admin/translations/ar.json.js.map +1 -0
- package/dist/admin/translations/ar.json.mjs +43 -0
- package/dist/admin/translations/ar.json.mjs.map +1 -0
- package/dist/admin/translations/cs.json.js +51 -0
- package/dist/admin/translations/cs.json.js.map +1 -0
- package/dist/admin/translations/cs.json.mjs +49 -0
- package/dist/admin/translations/cs.json.mjs.map +1 -0
- package/dist/admin/translations/de.json.js +63 -0
- package/dist/admin/translations/de.json.js.map +1 -0
- package/dist/admin/translations/de.json.mjs +61 -0
- package/dist/admin/translations/de.json.mjs.map +1 -0
- package/dist/admin/translations/dk.json.js +87 -0
- package/dist/admin/translations/dk.json.js.map +1 -0
- package/dist/admin/translations/dk.json.mjs +85 -0
- package/dist/admin/translations/dk.json.mjs.map +1 -0
- package/dist/admin/translations/en.json.js +87 -0
- package/dist/admin/translations/en.json.js.map +1 -0
- package/dist/admin/translations/en.json.mjs +85 -0
- package/dist/admin/translations/en.json.mjs.map +1 -0
- package/dist/admin/translations/es.json.js +87 -0
- package/dist/admin/translations/es.json.js.map +1 -0
- package/dist/admin/translations/es.json.mjs +85 -0
- package/dist/admin/translations/es.json.mjs.map +1 -0
- package/dist/admin/translations/fr.json.js +51 -0
- package/dist/admin/translations/fr.json.js.map +1 -0
- package/dist/admin/translations/fr.json.mjs +49 -0
- package/dist/admin/translations/fr.json.mjs.map +1 -0
- package/dist/admin/translations/id.json.js +63 -0
- package/dist/admin/translations/id.json.js.map +1 -0
- package/dist/admin/translations/id.json.mjs +61 -0
- package/dist/admin/translations/id.json.mjs.map +1 -0
- package/dist/admin/translations/it.json.js +63 -0
- package/dist/admin/translations/it.json.js.map +1 -0
- package/dist/admin/translations/it.json.mjs +61 -0
- package/dist/admin/translations/it.json.mjs.map +1 -0
- package/dist/admin/translations/ja.json.js +49 -0
- package/dist/admin/translations/ja.json.js.map +1 -0
- package/dist/admin/translations/ja.json.mjs +47 -0
- package/dist/admin/translations/ja.json.mjs.map +1 -0
- package/dist/admin/translations/ko.json.js +87 -0
- package/dist/admin/translations/ko.json.js.map +1 -0
- package/dist/admin/translations/ko.json.mjs +85 -0
- package/dist/admin/translations/ko.json.mjs.map +1 -0
- package/dist/admin/translations/ms.json.js +50 -0
- package/dist/admin/translations/ms.json.js.map +1 -0
- package/dist/admin/translations/ms.json.mjs +48 -0
- package/dist/admin/translations/ms.json.mjs.map +1 -0
- package/dist/admin/translations/nl.json.js +49 -0
- package/dist/admin/translations/nl.json.js.map +1 -0
- package/dist/admin/translations/nl.json.mjs +47 -0
- package/dist/admin/translations/nl.json.mjs.map +1 -0
- package/dist/admin/translations/pl.json.js +87 -0
- package/dist/admin/translations/pl.json.js.map +1 -0
- package/dist/admin/translations/pl.json.mjs +85 -0
- package/dist/admin/translations/pl.json.mjs.map +1 -0
- package/dist/admin/translations/pt-BR.json.js +45 -0
- package/dist/admin/translations/pt-BR.json.js.map +1 -0
- package/dist/admin/translations/pt-BR.json.mjs +43 -0
- package/dist/admin/translations/pt-BR.json.mjs.map +1 -0
- package/dist/admin/translations/pt.json.js +49 -0
- package/dist/admin/translations/pt.json.js.map +1 -0
- package/dist/admin/translations/pt.json.mjs +47 -0
- package/dist/admin/translations/pt.json.mjs.map +1 -0
- package/dist/admin/translations/ru.json.js +87 -0
- package/dist/admin/translations/ru.json.js.map +1 -0
- package/dist/admin/translations/ru.json.mjs +85 -0
- package/dist/admin/translations/ru.json.mjs.map +1 -0
- package/dist/admin/translations/sk.json.js +51 -0
- package/dist/admin/translations/sk.json.js.map +1 -0
- package/dist/admin/translations/sk.json.mjs +49 -0
- package/dist/admin/translations/sk.json.mjs.map +1 -0
- package/dist/admin/translations/sv.json.js +87 -0
- package/dist/admin/translations/sv.json.js.map +1 -0
- package/dist/admin/translations/sv.json.mjs +85 -0
- package/dist/admin/translations/sv.json.mjs.map +1 -0
- package/dist/admin/translations/th.json.js +61 -0
- package/dist/admin/translations/th.json.js.map +1 -0
- package/dist/admin/translations/th.json.mjs +59 -0
- package/dist/admin/translations/th.json.mjs.map +1 -0
- package/dist/admin/translations/tr.json.js +86 -0
- package/dist/admin/translations/tr.json.js.map +1 -0
- package/dist/admin/translations/tr.json.mjs +84 -0
- package/dist/admin/translations/tr.json.mjs.map +1 -0
- package/dist/admin/translations/uk.json.js +87 -0
- package/dist/admin/translations/uk.json.js.map +1 -0
- package/dist/admin/translations/uk.json.mjs +85 -0
- package/dist/admin/translations/uk.json.mjs.map +1 -0
- package/dist/admin/translations/vi.json.js +51 -0
- package/dist/admin/translations/vi.json.js.map +1 -0
- package/dist/admin/translations/vi.json.mjs +49 -0
- package/dist/admin/translations/vi.json.mjs.map +1 -0
- package/dist/admin/translations/zh-Hans.json.js +87 -0
- package/dist/admin/translations/zh-Hans.json.js.map +1 -0
- package/dist/admin/translations/zh-Hans.json.mjs +85 -0
- package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
- package/dist/admin/translations/zh.json.js +87 -0
- package/dist/admin/translations/zh.json.js.map +1 -0
- package/dist/admin/translations/zh.json.mjs +85 -0
- package/dist/admin/translations/zh.json.mjs.map +1 -0
- package/dist/admin/utils/cleanPermissions.js +24 -0
- package/dist/admin/utils/cleanPermissions.js.map +1 -0
- package/dist/admin/utils/cleanPermissions.mjs +22 -0
- package/dist/admin/utils/cleanPermissions.mjs.map +1 -0
- package/dist/admin/utils/formatPluginName.js +29 -0
- package/dist/admin/utils/formatPluginName.js.map +1 -0
- package/dist/admin/utils/formatPluginName.mjs +27 -0
- package/dist/admin/utils/formatPluginName.mjs.map +1 -0
- package/dist/admin/utils/getTrad.js +8 -0
- package/dist/admin/utils/getTrad.js.map +1 -0
- package/dist/admin/utils/getTrad.mjs +6 -0
- package/dist/admin/utils/getTrad.mjs.map +1 -0
- package/dist/admin/utils/prefixPluginTranslations.js +11 -0
- package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
- package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
- package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
- package/dist/server/_virtual/_commonjsHelpers.js +8 -0
- package/dist/server/_virtual/_commonjsHelpers.js.map +1 -0
- package/dist/server/_virtual/_commonjsHelpers.mjs +6 -0
- package/dist/server/_virtual/_commonjsHelpers.mjs.map +1 -0
- package/dist/server/bootstrap/index.js +145 -0
- package/dist/server/bootstrap/index.js.map +1 -0
- package/dist/server/bootstrap/index.mjs +143 -0
- package/dist/server/bootstrap/index.mjs.map +1 -0
- package/dist/server/bootstrap/users-permissions-actions.js +98 -0
- package/dist/server/bootstrap/users-permissions-actions.js.map +1 -0
- package/dist/server/bootstrap/users-permissions-actions.mjs +96 -0
- package/dist/server/bootstrap/users-permissions-actions.mjs.map +1 -0
- package/dist/server/config.js +54 -0
- package/dist/server/config.js.map +1 -0
- package/dist/server/config.mjs +52 -0
- package/dist/server/config.mjs.map +1 -0
- package/dist/server/content-types/index.js +30 -0
- package/dist/server/content-types/index.js.map +1 -0
- package/dist/server/content-types/index.mjs +28 -0
- package/dist/server/content-types/index.mjs.map +1 -0
- package/dist/server/content-types/permission/index.js +44 -0
- package/dist/server/content-types/permission/index.js.map +1 -0
- package/dist/server/content-types/permission/index.mjs +42 -0
- package/dist/server/content-types/permission/index.mjs.map +1 -0
- package/dist/server/content-types/role/index.js +61 -0
- package/dist/server/content-types/role/index.js.map +1 -0
- package/dist/server/content-types/role/index.mjs +59 -0
- package/dist/server/content-types/role/index.mjs.map +1 -0
- package/dist/server/content-types/user/index.js +84 -0
- package/dist/server/content-types/user/index.js.map +1 -0
- package/dist/server/content-types/user/index.mjs +82 -0
- package/dist/server/content-types/user/index.mjs.map +1 -0
- package/dist/server/content-types/user/schema-config.js +25 -0
- package/dist/server/content-types/user/schema-config.js.map +1 -0
- package/dist/server/content-types/user/schema-config.mjs +23 -0
- package/dist/server/content-types/user/schema-config.mjs.map +1 -0
- package/dist/server/controllers/auth.js +429 -0
- package/dist/server/controllers/auth.js.map +1 -0
- package/dist/server/controllers/auth.mjs +427 -0
- package/dist/server/controllers/auth.mjs.map +1 -0
- package/dist/server/controllers/content-manager-user.js +168 -0
- package/dist/server/controllers/content-manager-user.js.map +1 -0
- package/dist/server/controllers/content-manager-user.mjs +166 -0
- package/dist/server/controllers/content-manager-user.mjs.map +1 -0
- package/dist/server/controllers/index.js +33 -0
- package/dist/server/controllers/index.js.map +1 -0
- package/dist/server/controllers/index.mjs +31 -0
- package/dist/server/controllers/index.mjs.map +1 -0
- package/dist/server/controllers/permissions.js +37 -0
- package/dist/server/controllers/permissions.js.map +1 -0
- package/dist/server/controllers/permissions.mjs +35 -0
- package/dist/server/controllers/permissions.mjs.map +1 -0
- package/dist/server/controllers/role.js +91 -0
- package/dist/server/controllers/role.js.map +1 -0
- package/dist/server/controllers/role.mjs +89 -0
- package/dist/server/controllers/role.mjs.map +1 -0
- package/dist/server/controllers/settings.js +107 -0
- package/dist/server/controllers/settings.js.map +1 -0
- package/dist/server/controllers/settings.mjs +105 -0
- package/dist/server/controllers/settings.mjs.map +1 -0
- package/dist/server/controllers/user.js +201 -0
- package/dist/server/controllers/user.js.map +1 -0
- package/dist/server/controllers/user.mjs +199 -0
- package/dist/server/controllers/user.mjs.map +1 -0
- package/dist/server/controllers/validation/auth.js +131 -0
- package/dist/server/controllers/validation/auth.js.map +1 -0
- package/dist/server/controllers/validation/auth.mjs +129 -0
- package/dist/server/controllers/validation/auth.mjs.map +1 -0
- package/dist/server/controllers/validation/email-template.js +72 -0
- package/dist/server/controllers/validation/email-template.js.map +1 -0
- package/dist/server/controllers/validation/email-template.mjs +70 -0
- package/dist/server/controllers/validation/email-template.mjs.map +1 -0
- package/dist/server/controllers/validation/user.js +54 -0
- package/dist/server/controllers/validation/user.js.map +1 -0
- package/dist/server/controllers/validation/user.mjs +52 -0
- package/dist/server/controllers/validation/user.mjs.map +1 -0
- package/dist/server/graphql/index.js +66 -0
- package/dist/server/graphql/index.js.map +1 -0
- package/dist/server/graphql/index.mjs +64 -0
- package/dist/server/graphql/index.mjs.map +1 -0
- package/dist/server/graphql/mutations/auth/change-password.js +40 -0
- package/dist/server/graphql/mutations/auth/change-password.js.map +1 -0
- package/dist/server/graphql/mutations/auth/change-password.mjs +38 -0
- package/dist/server/graphql/mutations/auth/change-password.mjs.map +1 -0
- package/dist/server/graphql/mutations/auth/email-confirmation.js +38 -0
- package/dist/server/graphql/mutations/auth/email-confirmation.js.map +1 -0
- package/dist/server/graphql/mutations/auth/email-confirmation.mjs +36 -0
- package/dist/server/graphql/mutations/auth/email-confirmation.mjs.map +1 -0
- package/dist/server/graphql/mutations/auth/forgot-password.js +37 -0
- package/dist/server/graphql/mutations/auth/forgot-password.js.map +1 -0
- package/dist/server/graphql/mutations/auth/forgot-password.mjs +35 -0
- package/dist/server/graphql/mutations/auth/forgot-password.mjs.map +1 -0
- package/dist/server/graphql/mutations/auth/login.js +40 -0
- package/dist/server/graphql/mutations/auth/login.js.map +1 -0
- package/dist/server/graphql/mutations/auth/login.mjs +38 -0
- package/dist/server/graphql/mutations/auth/login.mjs.map +1 -0
- package/dist/server/graphql/mutations/auth/register.js +38 -0
- package/dist/server/graphql/mutations/auth/register.js.map +1 -0
- package/dist/server/graphql/mutations/auth/register.mjs +36 -0
- package/dist/server/graphql/mutations/auth/register.mjs.map +1 -0
- package/dist/server/graphql/mutations/auth/reset-password.js +40 -0
- package/dist/server/graphql/mutations/auth/reset-password.js.map +1 -0
- package/dist/server/graphql/mutations/auth/reset-password.mjs +38 -0
- package/dist/server/graphql/mutations/auth/reset-password.mjs.map +1 -0
- package/dist/server/graphql/mutations/crud/role/create-role.js +37 -0
- package/dist/server/graphql/mutations/crud/role/create-role.js.map +1 -0
- package/dist/server/graphql/mutations/crud/role/create-role.mjs +35 -0
- package/dist/server/graphql/mutations/crud/role/create-role.mjs.map +1 -0
- package/dist/server/graphql/mutations/crud/role/delete-role.js +32 -0
- package/dist/server/graphql/mutations/crud/role/delete-role.js.map +1 -0
- package/dist/server/graphql/mutations/crud/role/delete-role.mjs +30 -0
- package/dist/server/graphql/mutations/crud/role/delete-role.mjs.map +1 -0
- package/dist/server/graphql/mutations/crud/role/update-role.js +39 -0
- package/dist/server/graphql/mutations/crud/role/update-role.js.map +1 -0
- package/dist/server/graphql/mutations/crud/role/update-role.mjs +37 -0
- package/dist/server/graphql/mutations/crud/role/update-role.mjs.map +1 -0
- package/dist/server/graphql/mutations/crud/user/create-user.js +46 -0
- package/dist/server/graphql/mutations/crud/user/create-user.js.map +1 -0
- package/dist/server/graphql/mutations/crud/user/create-user.mjs +44 -0
- package/dist/server/graphql/mutations/crud/user/create-user.mjs.map +1 -0
- package/dist/server/graphql/mutations/crud/user/delete-user.js +44 -0
- package/dist/server/graphql/mutations/crud/user/delete-user.js.map +1 -0
- package/dist/server/graphql/mutations/crud/user/delete-user.mjs +42 -0
- package/dist/server/graphql/mutations/crud/user/delete-user.mjs.map +1 -0
- package/dist/server/graphql/mutations/crud/user/update-user.js +49 -0
- package/dist/server/graphql/mutations/crud/user/update-user.js.map +1 -0
- package/dist/server/graphql/mutations/crud/user/update-user.mjs +47 -0
- package/dist/server/graphql/mutations/crud/user/update-user.mjs.map +1 -0
- package/dist/server/graphql/mutations/index.js +58 -0
- package/dist/server/graphql/mutations/index.js.map +1 -0
- package/dist/server/graphql/mutations/index.mjs +56 -0
- package/dist/server/graphql/mutations/index.mjs.map +1 -0
- package/dist/server/graphql/queries/index.js +25 -0
- package/dist/server/graphql/queries/index.js.map +1 -0
- package/dist/server/graphql/queries/index.mjs +23 -0
- package/dist/server/graphql/queries/index.mjs.map +1 -0
- package/dist/server/graphql/queries/me.js +23 -0
- package/dist/server/graphql/queries/me.js.map +1 -0
- package/dist/server/graphql/queries/me.mjs +21 -0
- package/dist/server/graphql/queries/me.mjs.map +1 -0
- package/dist/server/graphql/resolvers-configs.js +93 -0
- package/dist/server/graphql/resolvers-configs.js.map +1 -0
- package/dist/server/graphql/resolvers-configs.mjs +91 -0
- package/dist/server/graphql/resolvers-configs.mjs.map +1 -0
- package/dist/server/graphql/types/create-role-payload.js +20 -0
- package/dist/server/graphql/types/create-role-payload.js.map +1 -0
- package/dist/server/graphql/types/create-role-payload.mjs +18 -0
- package/dist/server/graphql/types/create-role-payload.mjs.map +1 -0
- package/dist/server/graphql/types/delete-role-payload.js +20 -0
- package/dist/server/graphql/types/delete-role-payload.js.map +1 -0
- package/dist/server/graphql/types/delete-role-payload.mjs +18 -0
- package/dist/server/graphql/types/delete-role-payload.mjs.map +1 -0
- package/dist/server/graphql/types/index.js +41 -0
- package/dist/server/graphql/types/index.js.map +1 -0
- package/dist/server/graphql/types/index.mjs +39 -0
- package/dist/server/graphql/types/index.mjs.map +1 -0
- package/dist/server/graphql/types/login-input.js +24 -0
- package/dist/server/graphql/types/login-input.js.map +1 -0
- package/dist/server/graphql/types/login-input.mjs +22 -0
- package/dist/server/graphql/types/login-input.mjs.map +1 -0
- package/dist/server/graphql/types/login-payload.js +23 -0
- package/dist/server/graphql/types/login-payload.js.map +1 -0
- package/dist/server/graphql/types/login-payload.mjs +21 -0
- package/dist/server/graphql/types/login-payload.mjs.map +1 -0
- package/dist/server/graphql/types/me-role.js +23 -0
- package/dist/server/graphql/types/me-role.js.map +1 -0
- package/dist/server/graphql/types/me-role.mjs +21 -0
- package/dist/server/graphql/types/me-role.mjs.map +1 -0
- package/dist/server/graphql/types/me.js +28 -0
- package/dist/server/graphql/types/me.js.map +1 -0
- package/dist/server/graphql/types/me.mjs +26 -0
- package/dist/server/graphql/types/me.mjs.map +1 -0
- package/dist/server/graphql/types/password-payload.js +20 -0
- package/dist/server/graphql/types/password-payload.js.map +1 -0
- package/dist/server/graphql/types/password-payload.mjs +18 -0
- package/dist/server/graphql/types/password-payload.mjs.map +1 -0
- package/dist/server/graphql/types/register-input.js +22 -0
- package/dist/server/graphql/types/register-input.js.map +1 -0
- package/dist/server/graphql/types/register-input.mjs +20 -0
- package/dist/server/graphql/types/register-input.mjs.map +1 -0
- package/dist/server/graphql/types/update-role-payload.js +20 -0
- package/dist/server/graphql/types/update-role-payload.js.map +1 -0
- package/dist/server/graphql/types/update-role-payload.mjs +18 -0
- package/dist/server/graphql/types/update-role-payload.mjs.map +1 -0
- package/dist/server/graphql/types/user-input.js +26 -0
- package/dist/server/graphql/types/user-input.js.map +1 -0
- package/dist/server/graphql/types/user-input.mjs +24 -0
- package/dist/server/graphql/types/user-input.mjs.map +1 -0
- package/dist/server/graphql/utils.js +32 -0
- package/dist/server/graphql/utils.js.map +1 -0
- package/dist/server/graphql/utils.mjs +30 -0
- package/dist/server/graphql/utils.mjs.map +1 -0
- package/dist/server/index.js +10 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/index.mjs +8 -0
- package/dist/server/index.mjs.map +1 -0
- package/dist/server/index2.js +39 -0
- package/dist/server/index2.js.map +1 -0
- package/dist/server/index2.mjs +37 -0
- package/dist/server/index2.mjs.map +1 -0
- package/dist/server/middlewares/index.js +18 -0
- package/dist/server/middlewares/index.js.map +1 -0
- package/dist/server/middlewares/index.mjs +16 -0
- package/dist/server/middlewares/index.mjs.map +1 -0
- package/dist/server/middlewares/rateLimit.js +51 -0
- package/dist/server/middlewares/rateLimit.js.map +1 -0
- package/dist/server/middlewares/rateLimit.mjs +49 -0
- package/dist/server/middlewares/rateLimit.mjs.map +1 -0
- package/dist/server/register.js +41 -0
- package/dist/server/register.js.map +1 -0
- package/dist/server/register.mjs +39 -0
- package/dist/server/register.mjs.map +1 -0
- package/dist/server/routes/admin/index.js +27 -0
- package/dist/server/routes/admin/index.js.map +1 -0
- package/dist/server/routes/admin/index.mjs +25 -0
- package/dist/server/routes/admin/index.mjs.map +1 -0
- package/dist/server/routes/admin/permissions.js +29 -0
- package/dist/server/routes/admin/permissions.js.map +1 -0
- package/dist/server/routes/admin/permissions.mjs +27 -0
- package/dist/server/routes/admin/permissions.mjs.map +1 -0
- package/dist/server/routes/admin/role.js +99 -0
- package/dist/server/routes/admin/role.js.map +1 -0
- package/dist/server/routes/admin/role.mjs +97 -0
- package/dist/server/routes/admin/role.mjs.map +1 -0
- package/dist/server/routes/admin/settings.js +116 -0
- package/dist/server/routes/admin/settings.js.map +1 -0
- package/dist/server/routes/admin/settings.mjs +114 -0
- package/dist/server/routes/admin/settings.mjs.map +1 -0
- package/dist/server/routes/content-api/auth.js +152 -0
- package/dist/server/routes/content-api/auth.js.map +1 -0
- package/dist/server/routes/content-api/auth.mjs +150 -0
- package/dist/server/routes/content-api/auth.mjs.map +1 -0
- package/dist/server/routes/content-api/index.js +32 -0
- package/dist/server/routes/content-api/index.js.map +1 -0
- package/dist/server/routes/content-api/index.mjs +30 -0
- package/dist/server/routes/content-api/index.mjs.map +1 -0
- package/dist/server/routes/content-api/permissions.js +26 -0
- package/dist/server/routes/content-api/permissions.js.map +1 -0
- package/dist/server/routes/content-api/permissions.mjs +24 -0
- package/dist/server/routes/content-api/permissions.mjs.map +1 -0
- package/dist/server/routes/content-api/role.js +73 -0
- package/dist/server/routes/content-api/role.js.map +1 -0
- package/dist/server/routes/content-api/role.mjs +71 -0
- package/dist/server/routes/content-api/role.mjs.map +1 -0
- package/dist/server/routes/content-api/user.js +132 -0
- package/dist/server/routes/content-api/user.js.map +1 -0
- package/dist/server/routes/content-api/user.mjs +130 -0
- package/dist/server/routes/content-api/user.mjs.map +1 -0
- package/dist/server/routes/content-api/validation.js +216 -0
- package/dist/server/routes/content-api/validation.js.map +1 -0
- package/dist/server/routes/content-api/validation.mjs +214 -0
- package/dist/server/routes/content-api/validation.mjs.map +1 -0
- package/dist/server/routes/index.js +19 -0
- package/dist/server/routes/index.js.map +1 -0
- package/dist/server/routes/index.mjs +17 -0
- package/dist/server/routes/index.mjs.map +1 -0
- package/dist/server/services/index.js +36 -0
- package/dist/server/services/index.js.map +1 -0
- package/dist/server/services/index.mjs +34 -0
- package/dist/server/services/index.mjs.map +1 -0
- package/dist/server/services/jwt.js +50 -0
- package/dist/server/services/jwt.js.map +1 -0
- package/dist/server/services/jwt.mjs +48 -0
- package/dist/server/services/jwt.mjs.map +1 -0
- package/dist/server/services/permission.js +52 -0
- package/dist/server/services/permission.js.map +1 -0
- package/dist/server/services/permission.mjs +50 -0
- package/dist/server/services/permission.mjs.map +1 -0
- package/dist/server/services/providers-registry.js +555 -0
- package/dist/server/services/providers-registry.js.map +1 -0
- package/dist/server/services/providers-registry.mjs +553 -0
- package/dist/server/services/providers-registry.mjs.map +1 -0
- package/dist/server/services/providers.js +111 -0
- package/dist/server/services/providers.js.map +1 -0
- package/dist/server/services/providers.mjs +109 -0
- package/dist/server/services/providers.mjs.map +1 -0
- package/dist/server/services/role.js +186 -0
- package/dist/server/services/role.js.map +1 -0
- package/dist/server/services/role.mjs +184 -0
- package/dist/server/services/role.mjs.map +1 -0
- package/dist/server/services/user.js +179 -0
- package/dist/server/services/user.js.map +1 -0
- package/dist/server/services/user.mjs +177 -0
- package/dist/server/services/user.mjs.map +1 -0
- package/dist/server/services/users-permissions.js +247 -0
- package/dist/server/services/users-permissions.js.map +1 -0
- package/dist/server/services/users-permissions.mjs +245 -0
- package/dist/server/services/users-permissions.mjs.map +1 -0
- package/dist/server/strategies/users-permissions.js +114 -0
- package/dist/server/strategies/users-permissions.js.map +1 -0
- package/dist/server/strategies/users-permissions.mjs +112 -0
- package/dist/server/strategies/users-permissions.mjs.map +1 -0
- package/dist/server/utils/index.js +22 -0
- package/dist/server/utils/index.js.map +1 -0
- package/dist/server/utils/index.mjs +20 -0
- package/dist/server/utils/index.mjs.map +1 -0
- package/dist/server/utils/sanitize/index.js +21 -0
- package/dist/server/utils/sanitize/index.js.map +1 -0
- package/dist/server/utils/sanitize/index.mjs +19 -0
- package/dist/server/utils/sanitize/index.mjs.map +1 -0
- package/dist/server/utils/sanitize/sanitizers.js +32 -0
- package/dist/server/utils/sanitize/sanitizers.js.map +1 -0
- package/dist/server/utils/sanitize/sanitizers.mjs +30 -0
- package/dist/server/utils/sanitize/sanitizers.mjs.map +1 -0
- package/dist/server/utils/sanitize/visitors/index.js +17 -0
- package/dist/server/utils/sanitize/visitors/index.js.map +1 -0
- package/dist/server/utils/sanitize/visitors/index.mjs +15 -0
- package/dist/server/utils/sanitize/visitors/index.mjs.map +1 -0
- package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js +17 -0
- package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js.map +1 -0
- package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.mjs +15 -0
- package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.mjs.map +1 -0
- package/package.json +33 -33
- package/rollup.config.mjs +19 -0
- package/server/bootstrap/index.js +18 -51
- package/server/bootstrap/users-permissions-actions.js +6 -0
- package/server/config.js +29 -0
- package/server/content-types/user/index.js +0 -1
- package/server/controllers/auth.js +63 -64
- package/server/controllers/content-manager-user.js +31 -34
- package/server/controllers/role.js +17 -4
- package/server/controllers/user.js +8 -9
- package/server/controllers/validation/auth.js +104 -25
- package/server/controllers/validation/user.js +12 -1
- package/server/graphql/types/index.js +1 -0
- package/server/graphql/types/me.js +1 -0
- package/server/graphql/types/user-input.js +20 -0
- package/server/middlewares/rateLimit.js +1 -1
- package/server/register.js +2 -2
- package/server/routes/content-api/auth.js +107 -71
- package/server/routes/content-api/index.js +10 -3
- package/server/routes/content-api/permissions.js +14 -7
- package/server/routes/content-api/role.js +57 -27
- package/server/routes/content-api/user.js +108 -51
- package/server/routes/content-api/validation.js +249 -0
- package/server/services/jwt.js +3 -3
- package/server/services/permission.js +3 -7
- package/server/services/providers-registry.js +469 -261
- package/server/services/providers.js +10 -5
- package/server/services/role.js +15 -13
- package/server/services/user.js +56 -19
- package/server/services/users-permissions.js +15 -13
- package/server/utils/index.d.ts +2 -1
- package/server/utils/sanitize/sanitizers.js +7 -3
- package/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js +2 -2
- package/admin/src/components/FormModal/index.js +0 -126
- package/admin/src/components/Permissions/index.js +0 -55
- package/admin/src/pages/AdvancedSettings/index.js +0 -259
- package/admin/src/pages/EmailTemplates/components/EmailForm.js +0 -176
- package/admin/src/pages/Roles/index.js +0 -33
- package/admin/src/pages/Roles/pages/ListPage/utils/api.js +0 -30
- package/packup.config.ts +0 -42
- package/server/bootstrap/grant-config.js +0 -131
- package/strapi-server.js +0 -3
- /package/admin/src/components/Permissions/PermissionRow/{index.js → index.jsx} +0 -0
- /package/admin/src/contexts/UsersPermissionsContext/{index.js → index.jsx} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.mjs","sources":["../../../server/controllers/user.js"],"sourcesContent":["'use strict';\n\n/**\n * User.js controller\n *\n * @description: A set of functions called \"actions\" for managing `User`.\n */\n\nconst _ = require('lodash');\nconst utils = require('@strapi/utils');\nconst { getService } = require('../utils');\nconst { validateCreateUserBody, validateUpdateUserBody } = require('./validation/user');\n\nconst { ApplicationError, ValidationError, NotFoundError } = utils.errors;\n\nconst sanitizeOutput = async (user, ctx) => {\n const schema = strapi.getModel('plugin::users-permissions.user');\n const { auth } = ctx.state;\n\n return strapi.contentAPI.sanitize.output(user, schema, { auth });\n};\n\nconst validateQuery = async (query, ctx) => {\n const schema = strapi.getModel('plugin::users-permissions.user');\n const { auth } = ctx.state;\n\n return strapi.contentAPI.validate.query(query, schema, { auth });\n};\n\nconst sanitizeQuery = async (query, ctx) => {\n const schema = strapi.getModel('plugin::users-permissions.user');\n const { auth } = ctx.state;\n\n return strapi.contentAPI.sanitize.query(query, schema, { auth });\n};\n\nmodule.exports = {\n /**\n * Create a/an user record.\n * @return {Object}\n */\n async create(ctx) {\n const advanced = await strapi\n .store({ type: 'plugin', name: 'users-permissions', key: 'advanced' })\n .get();\n\n await validateCreateUserBody(ctx.request.body);\n\n const { email, username, role } = ctx.request.body;\n\n const userWithSameUsername = await strapi.db\n .query('plugin::users-permissions.user')\n .findOne({ where: { username } });\n\n if (userWithSameUsername) {\n if (!email) throw new ApplicationError('Username already taken');\n }\n\n if (advanced.unique_email) {\n const userWithSameEmail = await strapi.db\n .query('plugin::users-permissions.user')\n .findOne({ where: { email: email.toLowerCase() } });\n\n if (userWithSameEmail) {\n throw new ApplicationError('Email already taken');\n }\n }\n\n const user = {\n ...ctx.request.body,\n email: email.toLowerCase(),\n provider: 'local',\n };\n\n if (!role) {\n const defaultRole = await strapi.db\n .query('plugin::users-permissions.role')\n .findOne({ where: { type: advanced.default_role } });\n\n user.role = defaultRole.id;\n }\n\n try {\n const data = await getService('user').add(user);\n const sanitizedData = await sanitizeOutput(data, ctx);\n\n ctx.created(sanitizedData);\n } catch (error) {\n throw new ApplicationError(error.message);\n }\n },\n\n /**\n * Update a/an user record.\n * @return {Object}\n */\n async update(ctx) {\n const advancedConfigs = await strapi\n .store({ type: 'plugin', name: 'users-permissions', key: 'advanced' })\n .get();\n\n const { id } = ctx.params;\n const { email, username, password } = ctx.request.body;\n\n const user = await getService('user').fetch(id);\n if (!user) {\n throw new NotFoundError(`User not found`);\n }\n\n await validateUpdateUserBody(ctx.request.body);\n\n if (user.provider === 'local' && _.has(ctx.request.body, 'password') && !password) {\n throw new ValidationError('password.notNull');\n }\n\n if (_.has(ctx.request.body, 'username')) {\n const userWithSameUsername = await strapi.db\n .query('plugin::users-permissions.user')\n .findOne({ where: { username } });\n\n if (userWithSameUsername && _.toString(userWithSameUsername.id) !== _.toString(id)) {\n throw new ApplicationError('Username already taken');\n }\n }\n\n if (_.has(ctx.request.body, 'email') && advancedConfigs.unique_email) {\n const userWithSameEmail = await strapi.db\n .query('plugin::users-permissions.user')\n .findOne({ where: { email: email.toLowerCase() } });\n\n if (userWithSameEmail && _.toString(userWithSameEmail.id) !== _.toString(id)) {\n throw new ApplicationError('Email already taken');\n }\n ctx.request.body.email = ctx.request.body.email.toLowerCase();\n }\n\n const updateData = {\n ...ctx.request.body,\n };\n\n const data = await getService('user').edit(user.id, updateData);\n const sanitizedData = await sanitizeOutput(data, ctx);\n\n ctx.send(sanitizedData);\n },\n\n /**\n * Retrieve user records.\n * @return {Object|Array}\n */\n async find(ctx) {\n await validateQuery(ctx.query, ctx);\n const sanitizedQuery = await sanitizeQuery(ctx.query, ctx);\n const users = await getService('user').fetchAll(sanitizedQuery);\n\n ctx.body = await Promise.all(users.map((user) => sanitizeOutput(user, ctx)));\n },\n\n /**\n * Retrieve a user record.\n * @return {Object}\n */\n async findOne(ctx) {\n const { id } = ctx.params;\n await validateQuery(ctx.query, ctx);\n const sanitizedQuery = await sanitizeQuery(ctx.query, ctx);\n\n let data = await getService('user').fetch(id, sanitizedQuery);\n\n if (data) {\n data = await sanitizeOutput(data, ctx);\n }\n\n ctx.body = data;\n },\n\n /**\n * Retrieve user count.\n * @return {Number}\n */\n async count(ctx) {\n await validateQuery(ctx.query, ctx);\n const sanitizedQuery = await sanitizeQuery(ctx.query, ctx);\n\n ctx.body = await getService('user').count(sanitizedQuery);\n },\n\n /**\n * Destroy a/an user record.\n * @return {Object}\n */\n async destroy(ctx) {\n const { id } = ctx.params;\n\n const data = await getService('user').remove({ id });\n const sanitizedUser = await sanitizeOutput(data, ctx);\n\n ctx.send(sanitizedUser);\n },\n\n /**\n * Retrieve authenticated user.\n * @return {Object|Array}\n */\n async me(ctx) {\n const authUser = ctx.state.user;\n const { query } = ctx;\n\n if (!authUser) {\n return ctx.unauthorized();\n }\n\n await validateQuery(query, ctx);\n const sanitizedQuery = await sanitizeQuery(query, ctx);\n const user = await getService('user').fetch(authUser.id, sanitizedQuery);\n\n ctx.body = await sanitizeOutput(user, ctx);\n },\n};\n"],"names":["_","require$$0","utils","require$$1","getService","require$$2","validateCreateUserBody","validateUpdateUserBody","require$$3","ApplicationError","ValidationError","NotFoundError","errors","sanitizeOutput","user","ctx","schema","strapi","getModel","auth","state","contentAPI","sanitize","output","validateQuery","query","validate","sanitizeQuery","create","advanced","store","type","name","key","get","request","body","email","username","role","userWithSameUsername","db","findOne","where","unique_email","userWithSameEmail","toLowerCase","provider","defaultRole","default_role","id","data","add","sanitizedData","created","error","message","update","advancedConfigs","params","password","fetch","has","toString","updateData","edit","send","find","sanitizedQuery","users","fetchAll","Promise","all","map","count","destroy","remove","sanitizedUser","me","authUser","unauthorized"],"mappings":"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"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var require$$1 = require('@strapi/utils');
|
|
4
|
+
|
|
5
|
+
var auth;
|
|
6
|
+
var hasRequiredAuth;
|
|
7
|
+
function requireAuth() {
|
|
8
|
+
if (hasRequiredAuth) return auth;
|
|
9
|
+
hasRequiredAuth = 1;
|
|
10
|
+
const { yup, validateYupSchema } = require$$1;
|
|
11
|
+
const callbackSchema = yup.object({
|
|
12
|
+
identifier: yup.string().required(),
|
|
13
|
+
password: yup.string().required()
|
|
14
|
+
});
|
|
15
|
+
const createRegisterSchema = (config)=>yup.object({
|
|
16
|
+
email: yup.string().email().required(),
|
|
17
|
+
username: yup.string().required(),
|
|
18
|
+
password: yup.string().required().test(function(value) {
|
|
19
|
+
if (!value) return true;
|
|
20
|
+
const isValid = new TextEncoder().encode(value).length <= 72;
|
|
21
|
+
if (!isValid) {
|
|
22
|
+
return this.createError({
|
|
23
|
+
message: 'Password must be less than 73 bytes'
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
return true;
|
|
27
|
+
}).test(async function(value) {
|
|
28
|
+
if (typeof config?.validatePassword === 'function') {
|
|
29
|
+
try {
|
|
30
|
+
const isValid = await config.validatePassword(value);
|
|
31
|
+
if (!isValid) {
|
|
32
|
+
return this.createError({
|
|
33
|
+
message: 'Password validation failed.'
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
} catch (error) {
|
|
37
|
+
return this.createError({
|
|
38
|
+
message: error.message || 'An error occurred.'
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return true;
|
|
43
|
+
})
|
|
44
|
+
});
|
|
45
|
+
const sendEmailConfirmationSchema = yup.object({
|
|
46
|
+
email: yup.string().email().required()
|
|
47
|
+
});
|
|
48
|
+
const validateEmailConfirmationSchema = yup.object({
|
|
49
|
+
confirmation: yup.string().required()
|
|
50
|
+
});
|
|
51
|
+
const forgotPasswordSchema = yup.object({
|
|
52
|
+
email: yup.string().email().required()
|
|
53
|
+
}).noUnknown();
|
|
54
|
+
const createResetPasswordSchema = (config)=>yup.object({
|
|
55
|
+
password: yup.string().required().test(function(value) {
|
|
56
|
+
if (!value) return true;
|
|
57
|
+
const isValid = new TextEncoder().encode(value).length <= 72;
|
|
58
|
+
if (!isValid) {
|
|
59
|
+
return this.createError({
|
|
60
|
+
message: 'Password must be less than 73 bytes'
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
return true;
|
|
64
|
+
}).test(async function(value) {
|
|
65
|
+
if (typeof config?.validatePassword === 'function') {
|
|
66
|
+
try {
|
|
67
|
+
const isValid = await config.validatePassword(value);
|
|
68
|
+
if (!isValid) {
|
|
69
|
+
return this.createError({
|
|
70
|
+
message: 'Password validation failed.'
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
} catch (error) {
|
|
74
|
+
return this.createError({
|
|
75
|
+
message: error.message || 'An error occurred.'
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return true;
|
|
80
|
+
}),
|
|
81
|
+
passwordConfirmation: yup.string().required().oneOf([
|
|
82
|
+
yup.ref('password')
|
|
83
|
+
], 'Passwords do not match'),
|
|
84
|
+
code: yup.string().required()
|
|
85
|
+
}).noUnknown();
|
|
86
|
+
const createChangePasswordSchema = (config)=>yup.object({
|
|
87
|
+
password: yup.string().required().test(function(value) {
|
|
88
|
+
if (!value) return true;
|
|
89
|
+
const isValid = new TextEncoder().encode(value).length <= 72;
|
|
90
|
+
if (!isValid) {
|
|
91
|
+
return this.createError({
|
|
92
|
+
message: 'Password must be less than 73 bytes'
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
return true;
|
|
96
|
+
}).test(async function(value) {
|
|
97
|
+
if (typeof config?.validatePassword === 'function') {
|
|
98
|
+
try {
|
|
99
|
+
const isValid = await config.validatePassword(value);
|
|
100
|
+
if (!isValid) {
|
|
101
|
+
return this.createError({
|
|
102
|
+
message: 'Password validation failed.'
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
} catch (error) {
|
|
106
|
+
return this.createError({
|
|
107
|
+
message: error.message || 'An error occurred.'
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return true;
|
|
112
|
+
}),
|
|
113
|
+
passwordConfirmation: yup.string().required().oneOf([
|
|
114
|
+
yup.ref('password')
|
|
115
|
+
], 'Passwords do not match'),
|
|
116
|
+
currentPassword: yup.string().required()
|
|
117
|
+
}).noUnknown();
|
|
118
|
+
auth = {
|
|
119
|
+
validateCallbackBody: validateYupSchema(callbackSchema),
|
|
120
|
+
validateRegisterBody: (payload, config)=>validateYupSchema(createRegisterSchema(config))(payload),
|
|
121
|
+
validateSendEmailConfirmationBody: validateYupSchema(sendEmailConfirmationSchema),
|
|
122
|
+
validateEmailConfirmationBody: validateYupSchema(validateEmailConfirmationSchema),
|
|
123
|
+
validateForgotPasswordBody: validateYupSchema(forgotPasswordSchema),
|
|
124
|
+
validateResetPasswordBody: (payload, config)=>validateYupSchema(createResetPasswordSchema(config))(payload),
|
|
125
|
+
validateChangePasswordBody: (payload, config)=>validateYupSchema(createChangePasswordSchema(config))(payload)
|
|
126
|
+
};
|
|
127
|
+
return auth;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
exports.__require = requireAuth;
|
|
131
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","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,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":";;;;;;;;;AAEA,IAAA,MAAM,EAAEA,GAAG,EAAEC,iBAAiB,EAAE,GAAGC,UAAAA;AAEnC,IAAA,MAAMC,gBAAmBH,GAAAA,GAAAA,CAAII,MAAM,EAAA,CAAGC,KAAK,CAAC;QAC1CC,IAAMN,EAAAA,GAAAA,CAAIO,QAAQ,EAAA,CAAGC,QAAQ;AAC/B,KAAA,CAAA;AAEA,IAAA,MAAMC,oBAAuBT,GAAAA,GAAAA,CAAII,MAAM,EAAA,CAAGC,KAAK,CAAC;AAC9CK,QAAAA,KAAAA,EAAOV,GAAIW,CAAAA,MAAM,EAAGD,CAAAA,KAAK,GAAGF,QAAQ,EAAA;AACpCI,QAAAA,QAAAA,EAAUZ,IAAIW,MAAM,EAAA,CAAGE,GAAG,CAAC,GAAGL,QAAQ,EAAA;AACtCM,QAAAA,QAAAA,EAAUd,IAAIW,MAAM,EAAA,CAAGE,GAAG,CAAC,GAAGL,QAAQ,EAAA;AACtCF,QAAAA,IAAAA,EAAMN,GAAIe,CAAAA,IAAI,CAAC,CAACC,KACd,GAAA,OAAOA,KAAU,KAAA,QAAA,GACbhB,GACGI,CAAAA,MAAM,EACNC,CAAAA,KAAK,CAAC;gBACLY,OAASjB,EAAAA,GAAAA,CACNkB,KAAK,EACLC,CAAAA,EAAE,CAACnB,GAAII,CAAAA,MAAM,EAAGC,CAAAA,KAAK,CAAC;oBAAEe,EAAIpB,EAAAA,GAAAA,CAAIO,QAAQ,EAAA,CAAGC,QAAQ;AAAI,iBAAA,CAAA,CAAA,CACvDK,GAAG,CAAC,CAAG,EAAA,wBAAA,CAAA,CACPL,QAAQ;AACvB,aAAA,CAAA,CACWA,QAAQ,EAAA,GACXR,GAAIO,CAAAA,QAAQ,GAAGC,QAAQ,EAAA;AAE/B,KAAA,CAAA;AAEA,IAAA,MAAMa,oBAAuBrB,GAAAA,GAAAA,CAAII,MAAM,EAAA,CAAGC,KAAK,CAAC;AAC9CK,QAAAA,KAAAA,EAAOV,IAAIW,MAAM,EAAA,CAAGD,KAAK,EAAA,CAAGG,GAAG,CAAC,CAAA,CAAA;AAChCD,QAAAA,QAAAA,EAAUZ,GAAIW,CAAAA,MAAM,EAAGE,CAAAA,GAAG,CAAC,CAAA,CAAA;QAC3BC,QAAUd,EAAAA,GAAAA,CACPsB,KAAK,EACLC,CAAAA,IAAI,CACH,qBACA,EAAA,uCAAA,EACA,SAASC,gBAAAA,CAAiBR,KAAK,EAAA;YAC7B,IAAIA,KAAAA,IAAS,IAAQA,IAAAA,KAAAA,KAAU,EAAI,EAAA;gBACjC,OAAO,IAAA;AACR;AACD,YAAA,OAAO,OAAOA,KAAAA,KAAU,QAAYA,IAAAA,KAAAA,CAAMS,MAAM,IAAI,CAAA;AACrD,SAAA,CAAA;AAELnB,QAAAA,IAAAA,EAAMN,GAAIe,CAAAA,IAAI,CAAC,CAACC,KACd,GAAA,OAAOA,KAAU,KAAA,QAAA,GACbhB,GAAII,CAAAA,MAAM,EAAGC,CAAAA,KAAK,CAAC;gBACjBY,OAASjB,EAAAA,GAAAA,CACNkB,KAAK,EACLC,CAAAA,EAAE,CAACnB,GAAII,CAAAA,MAAM,EAAGC,CAAAA,KAAK,CAAC;oBAAEe,EAAIpB,EAAAA,GAAAA,CAAIO,QAAQ,EAAA,CAAGC,QAAQ;AAAI,iBAAA,CAAA,CAAA,CACvDA,QAAQ,EAAA;gBACXkB,UAAY1B,EAAAA,GAAAA,CACTkB,KAAK,EACLK,CAAAA,IAAI,CAAC,iBAAmB,EAAA,oBAAA,EAAsB,SAASA,IAAAA,CAAKI,eAAe,EAAA;oBAC1E,IAAIX,KAAAA,CAAMC,OAAO,CAACQ,MAAM,KAAK,CAAKE,IAAAA,eAAAA,CAAgBF,MAAM,GAAG,CAAG,EAAA;wBAC5D,OAAO,KAAA;AACR;oBAED,OAAO,IAAA;AACrB,iBAAA,CAAA,CACajB,QAAQ;AACrB,aAAA,CAAA,GACQR,IAAIO,QAAQ,EAAA;AAEpB,KAAA,CAAA;IAEAqB,IAAiB,GAAA;AACfC,QAAAA,sBAAAA,EAAwB5B,iBAAkBQ,CAAAA,oBAAAA,CAAAA;AAC1CqB,QAAAA,sBAAAA,EAAwB7B,iBAAkBoB,CAAAA,oBAAAA,CAAAA;AAC1CU,QAAAA,sBAAAA,EAAwB9B,iBAAkBE,CAAAA,gBAAAA;AAC5C,KAAA;;;;;;"}
|
|
@@ -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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"}
|