@strapi/plugin-users-permissions 0.0.0-next.e61eff51f9834ffdef16bdc236aecab5f837723b → 0.0.0-next.e7ae51b01f78ddeaa09c4aa3e3882f466a5b3188
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/admin/src/components/Permissions/PermissionRow/SubCategory.jsx +8 -1
- package/admin/src/components/Policies/index.jsx +1 -0
- package/admin/src/components/UsersPermissions/index.jsx +1 -0
- package/admin/src/pages/EmailTemplates/components/EmailForm.jsx +2 -1
- package/admin/src/pages/Providers/index.jsx +74 -76
- package/admin/src/pages/Roles/pages/CreatePage.jsx +20 -7
- package/admin/src/pages/Roles/pages/EditPage.jsx +12 -7
- package/admin/src/pages/Roles/pages/ListPage/index.jsx +91 -93
- package/admin/src/translations/en.json +1 -0
- package/admin/src/utils/formatPluginName.js +1 -1
- 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 +119 -2
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +120 -1
- package/dist/admin/index.mjs.map +1 -1
- 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/{chunks/index-DFnYIqrB.js → pages/AdvancedSettings/index.js} +14 -121
- package/dist/admin/pages/AdvancedSettings/index.js.map +1 -0
- package/dist/admin/{chunks/index-Cy-tPfRk.mjs → pages/AdvancedSettings/index.mjs} +6 -94
- 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/{chunks/ar-BJwjobLp.js → translations/ar.json.js} +2 -2
- package/dist/admin/translations/ar.json.js.map +1 -0
- package/dist/admin/{chunks/ar-G6bUGuUb.mjs → translations/ar.json.mjs} +1 -1
- package/dist/admin/translations/ar.json.mjs.map +1 -0
- package/dist/admin/{chunks/cs-uS_SIEo8.js → translations/cs.json.js} +2 -2
- package/dist/admin/translations/cs.json.js.map +1 -0
- package/dist/admin/{chunks/cs-Bu59JqhG.mjs → translations/cs.json.mjs} +1 -1
- package/dist/admin/translations/cs.json.mjs.map +1 -0
- package/dist/admin/{chunks/de-7MVMrqqI.js → translations/de.json.js} +2 -2
- package/dist/admin/translations/de.json.js.map +1 -0
- package/dist/admin/{chunks/de-B81A69_5.mjs → translations/de.json.mjs} +1 -1
- package/dist/admin/translations/de.json.mjs.map +1 -0
- package/dist/admin/{chunks/dk-DwCLGmy9.js → translations/dk.json.js} +2 -2
- package/dist/admin/translations/dk.json.js.map +1 -0
- package/dist/admin/{chunks/dk-BaelzvBE.mjs → translations/dk.json.mjs} +1 -1
- package/dist/admin/translations/dk.json.mjs.map +1 -0
- package/dist/admin/{chunks/en-DwQjkHi_.js → translations/en.json.js} +3 -2
- package/dist/admin/translations/en.json.js.map +1 -0
- package/dist/admin/{chunks/en-BhgCBe7M.mjs → translations/en.json.mjs} +2 -1
- package/dist/admin/translations/en.json.mjs.map +1 -0
- package/dist/admin/{chunks/es-BOJOedG5.js → translations/es.json.js} +2 -2
- package/dist/admin/translations/es.json.js.map +1 -0
- package/dist/admin/{chunks/es-B0wXmvRj.mjs → translations/es.json.mjs} +1 -1
- package/dist/admin/translations/es.json.mjs.map +1 -0
- package/dist/admin/{chunks/fr-BDNWCNs0.js → translations/fr.json.js} +2 -2
- package/dist/admin/translations/fr.json.js.map +1 -0
- package/dist/admin/{chunks/fr-CGYvGUXg.mjs → translations/fr.json.mjs} +1 -1
- package/dist/admin/translations/fr.json.mjs.map +1 -0
- package/dist/admin/{chunks/id-UqUPykHZ.js → translations/id.json.js} +2 -2
- package/dist/admin/translations/id.json.js.map +1 -0
- package/dist/admin/{chunks/id-CNzbwFjA.mjs → translations/id.json.mjs} +1 -1
- package/dist/admin/translations/id.json.mjs.map +1 -0
- package/dist/admin/{chunks/it-D5VuyoLU.js → translations/it.json.js} +2 -2
- package/dist/admin/translations/it.json.js.map +1 -0
- package/dist/admin/{chunks/it-B2H2foTf.mjs → translations/it.json.mjs} +1 -1
- package/dist/admin/translations/it.json.mjs.map +1 -0
- package/dist/admin/{chunks/ja-MpqVsCgs.js → translations/ja.json.js} +2 -2
- package/dist/admin/translations/ja.json.js.map +1 -0
- package/dist/admin/{chunks/ja-C0z9d7L9.mjs → translations/ja.json.mjs} +1 -1
- package/dist/admin/translations/ja.json.mjs.map +1 -0
- package/dist/admin/{chunks/ko-Bm-grPSc.js → translations/ko.json.js} +2 -2
- package/dist/admin/translations/ko.json.js.map +1 -0
- package/dist/admin/{chunks/ko-CzUgzpeS.mjs → translations/ko.json.mjs} +1 -1
- package/dist/admin/translations/ko.json.mjs.map +1 -0
- package/dist/admin/{chunks/ms-D7eyBD5H.js → translations/ms.json.js} +2 -2
- package/dist/admin/translations/ms.json.js.map +1 -0
- package/dist/admin/{chunks/ms-CCacxjim.mjs → translations/ms.json.mjs} +1 -1
- package/dist/admin/translations/ms.json.mjs.map +1 -0
- package/dist/admin/{chunks/nl-BIOwAQtI.js → translations/nl.json.js} +2 -2
- package/dist/admin/translations/nl.json.js.map +1 -0
- package/dist/admin/{chunks/nl-DDC3nZW-.mjs → translations/nl.json.mjs} +1 -1
- package/dist/admin/translations/nl.json.mjs.map +1 -0
- package/dist/admin/{chunks/pl-D5BeNrg_.js → translations/pl.json.js} +2 -2
- package/dist/admin/translations/pl.json.js.map +1 -0
- package/dist/admin/{chunks/pl-XkS463rN.mjs → translations/pl.json.mjs} +1 -1
- package/dist/admin/translations/pl.json.mjs.map +1 -0
- package/dist/admin/{chunks/pt-BR-DxPBzQGx.js → translations/pt-BR.json.js} +2 -2
- package/dist/admin/translations/pt-BR.json.js.map +1 -0
- package/dist/admin/{chunks/pt-BR-8cC7z8Km.mjs → translations/pt-BR.json.mjs} +1 -1
- package/dist/admin/translations/pt-BR.json.mjs.map +1 -0
- package/dist/admin/{chunks/pt-kkCwzNvH.js → translations/pt.json.js} +2 -2
- package/dist/admin/translations/pt.json.js.map +1 -0
- package/dist/admin/{chunks/pt-DQpEvio8.mjs → translations/pt.json.mjs} +1 -1
- package/dist/admin/translations/pt.json.mjs.map +1 -0
- package/dist/admin/{chunks/ru-BQ0gHmp3.js → translations/ru.json.js} +2 -2
- package/dist/admin/translations/ru.json.js.map +1 -0
- package/dist/admin/{chunks/ru-nzL_7Mhg.mjs → translations/ru.json.mjs} +1 -1
- package/dist/admin/translations/ru.json.mjs.map +1 -0
- package/dist/admin/{chunks/sk-nVwAPdYC.js → translations/sk.json.js} +2 -2
- package/dist/admin/translations/sk.json.js.map +1 -0
- package/dist/admin/{chunks/sk-Ddxc_tZA.mjs → translations/sk.json.mjs} +1 -1
- package/dist/admin/translations/sk.json.mjs.map +1 -0
- package/dist/admin/{chunks/sv-BDfk2A-F.js → translations/sv.json.js} +2 -2
- package/dist/admin/translations/sv.json.js.map +1 -0
- package/dist/admin/{chunks/sv-By3RYpMG.mjs → translations/sv.json.mjs} +1 -1
- package/dist/admin/translations/sv.json.mjs.map +1 -0
- package/dist/admin/{chunks/th-BtTtpHe2.js → translations/th.json.js} +2 -2
- package/dist/admin/translations/th.json.js.map +1 -0
- package/dist/admin/{chunks/th-COl50vqb.mjs → translations/th.json.mjs} +1 -1
- package/dist/admin/translations/th.json.mjs.map +1 -0
- package/dist/admin/{chunks/tr-Di-Nf7cT.js → translations/tr.json.js} +2 -2
- package/dist/admin/translations/tr.json.js.map +1 -0
- package/dist/admin/{chunks/tr-80SJU6jg.mjs → translations/tr.json.mjs} +1 -1
- package/dist/admin/translations/tr.json.mjs.map +1 -0
- package/dist/admin/{chunks/uk-r5zXTAS7.js → translations/uk.json.js} +2 -2
- package/dist/admin/translations/uk.json.js.map +1 -0
- package/dist/admin/{chunks/uk-DnrIlPwG.mjs → translations/uk.json.mjs} +1 -1
- package/dist/admin/translations/uk.json.mjs.map +1 -0
- package/dist/admin/{chunks/vi-D9cCsHsU.js → translations/vi.json.js} +2 -2
- package/dist/admin/translations/vi.json.js.map +1 -0
- package/dist/admin/{chunks/vi-69AF03Iv.mjs → translations/vi.json.mjs} +1 -1
- package/dist/admin/translations/vi.json.mjs.map +1 -0
- package/dist/admin/{chunks/zh-Hans-CKqQbpsM.js → translations/zh-Hans.json.js} +2 -2
- package/dist/admin/translations/zh-Hans.json.js.map +1 -0
- package/dist/admin/{chunks/zh-Hans-DmDcSsp7.mjs → translations/zh-Hans.json.mjs} +1 -1
- package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
- package/dist/admin/{chunks/zh-BzWgJEzz.js → translations/zh.json.js} +2 -2
- package/dist/admin/translations/zh.json.js.map +1 -0
- package/dist/admin/{chunks/zh-BzSkqxo-.mjs → translations/zh.json.mjs} +1 -1
- 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 +4 -4760
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +2 -4758
- package/dist/server/index.mjs.map +1 -1
- 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/package.json +9 -8
- package/rollup.config.mjs +15 -48
- package/server/bootstrap/index.js +31 -0
- package/server/config.js +22 -0
- package/server/controllers/auth.js +248 -8
- package/server/controllers/content-manager-user.js +3 -4
- package/server/controllers/validation/user.js +12 -1
- 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 +50 -2
- package/server/services/user.js +11 -0
- package/server/services/users-permissions.js +6 -2
- package/dist/admin/chunks/ar-BJwjobLp.js.map +0 -1
- package/dist/admin/chunks/ar-G6bUGuUb.mjs.map +0 -1
- package/dist/admin/chunks/cs-Bu59JqhG.mjs.map +0 -1
- package/dist/admin/chunks/cs-uS_SIEo8.js.map +0 -1
- package/dist/admin/chunks/de-7MVMrqqI.js.map +0 -1
- package/dist/admin/chunks/de-B81A69_5.mjs.map +0 -1
- package/dist/admin/chunks/dk-BaelzvBE.mjs.map +0 -1
- package/dist/admin/chunks/dk-DwCLGmy9.js.map +0 -1
- package/dist/admin/chunks/en-BhgCBe7M.mjs.map +0 -1
- package/dist/admin/chunks/en-DwQjkHi_.js.map +0 -1
- package/dist/admin/chunks/es-B0wXmvRj.mjs.map +0 -1
- package/dist/admin/chunks/es-BOJOedG5.js.map +0 -1
- package/dist/admin/chunks/fr-BDNWCNs0.js.map +0 -1
- package/dist/admin/chunks/fr-CGYvGUXg.mjs.map +0 -1
- package/dist/admin/chunks/id-CNzbwFjA.mjs.map +0 -1
- package/dist/admin/chunks/id-UqUPykHZ.js.map +0 -1
- package/dist/admin/chunks/index--_o6btSC.js +0 -471
- package/dist/admin/chunks/index--_o6btSC.js.map +0 -1
- package/dist/admin/chunks/index-BBjNJt_G.mjs +0 -448
- package/dist/admin/chunks/index-BBjNJt_G.mjs.map +0 -1
- package/dist/admin/chunks/index-BgAfLcWs.mjs +0 -1516
- package/dist/admin/chunks/index-BgAfLcWs.mjs.map +0 -1
- package/dist/admin/chunks/index-CHTUC0LM.mjs +0 -718
- package/dist/admin/chunks/index-CHTUC0LM.mjs.map +0 -1
- package/dist/admin/chunks/index-CY5JZ38k.mjs +0 -213
- package/dist/admin/chunks/index-CY5JZ38k.mjs.map +0 -1
- package/dist/admin/chunks/index-Cu1VuLS3.js +0 -741
- package/dist/admin/chunks/index-Cu1VuLS3.js.map +0 -1
- package/dist/admin/chunks/index-Cy-tPfRk.mjs.map +0 -1
- package/dist/admin/chunks/index-DD-Z6c1S.js +0 -217
- package/dist/admin/chunks/index-DD-Z6c1S.js.map +0 -1
- package/dist/admin/chunks/index-DFnYIqrB.js.map +0 -1
- package/dist/admin/chunks/index-DvubCYNe.js +0 -1537
- package/dist/admin/chunks/index-DvubCYNe.js.map +0 -1
- package/dist/admin/chunks/it-B2H2foTf.mjs.map +0 -1
- package/dist/admin/chunks/it-D5VuyoLU.js.map +0 -1
- package/dist/admin/chunks/ja-C0z9d7L9.mjs.map +0 -1
- package/dist/admin/chunks/ja-MpqVsCgs.js.map +0 -1
- package/dist/admin/chunks/ko-Bm-grPSc.js.map +0 -1
- package/dist/admin/chunks/ko-CzUgzpeS.mjs.map +0 -1
- package/dist/admin/chunks/ms-CCacxjim.mjs.map +0 -1
- package/dist/admin/chunks/ms-D7eyBD5H.js.map +0 -1
- package/dist/admin/chunks/nl-BIOwAQtI.js.map +0 -1
- package/dist/admin/chunks/nl-DDC3nZW-.mjs.map +0 -1
- package/dist/admin/chunks/pl-D5BeNrg_.js.map +0 -1
- package/dist/admin/chunks/pl-XkS463rN.mjs.map +0 -1
- package/dist/admin/chunks/pt-BR-8cC7z8Km.mjs.map +0 -1
- package/dist/admin/chunks/pt-BR-DxPBzQGx.js.map +0 -1
- package/dist/admin/chunks/pt-DQpEvio8.mjs.map +0 -1
- package/dist/admin/chunks/pt-kkCwzNvH.js.map +0 -1
- package/dist/admin/chunks/ru-BQ0gHmp3.js.map +0 -1
- package/dist/admin/chunks/ru-nzL_7Mhg.mjs.map +0 -1
- package/dist/admin/chunks/sk-Ddxc_tZA.mjs.map +0 -1
- package/dist/admin/chunks/sk-nVwAPdYC.js.map +0 -1
- package/dist/admin/chunks/sv-BDfk2A-F.js.map +0 -1
- package/dist/admin/chunks/sv-By3RYpMG.mjs.map +0 -1
- package/dist/admin/chunks/th-BtTtpHe2.js.map +0 -1
- package/dist/admin/chunks/th-COl50vqb.mjs.map +0 -1
- package/dist/admin/chunks/tr-80SJU6jg.mjs.map +0 -1
- package/dist/admin/chunks/tr-Di-Nf7cT.js.map +0 -1
- package/dist/admin/chunks/uk-DnrIlPwG.mjs.map +0 -1
- package/dist/admin/chunks/uk-r5zXTAS7.js.map +0 -1
- package/dist/admin/chunks/vi-69AF03Iv.mjs.map +0 -1
- package/dist/admin/chunks/vi-D9cCsHsU.js.map +0 -1
- package/dist/admin/chunks/zh-BzSkqxo-.mjs.map +0 -1
- package/dist/admin/chunks/zh-BzWgJEzz.js.map +0 -1
- package/dist/admin/chunks/zh-Hans-CKqQbpsM.js.map +0 -1
- package/dist/admin/chunks/zh-Hans-DmDcSsp7.mjs.map +0 -1
package/rollup.config.mjs
CHANGED
|
@@ -1,52 +1,19 @@
|
|
|
1
1
|
import { defineConfig } from 'rollup';
|
|
2
|
-
import
|
|
3
|
-
import { basePlugins } from '../../../rollup.utils.mjs';
|
|
2
|
+
import { baseConfig } from '../../../rollup.utils.mjs';
|
|
4
3
|
|
|
5
4
|
export default defineConfig([
|
|
6
|
-
{
|
|
7
|
-
input:
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
entryFileNames: '[name].mjs',
|
|
21
|
-
chunkFileNames: 'chunks/[name]-[hash].mjs',
|
|
22
|
-
exports: 'auto',
|
|
23
|
-
format: 'esm',
|
|
24
|
-
sourcemap: true,
|
|
25
|
-
},
|
|
26
|
-
],
|
|
27
|
-
plugins: [...basePlugins(import.meta.dirname)],
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
input: path.join(import.meta.dirname, 'server/index.js'),
|
|
31
|
-
external: (id) => !path.isAbsolute(id) && !id.startsWith('.'),
|
|
32
|
-
output: [
|
|
33
|
-
{
|
|
34
|
-
dir: path.join(import.meta.dirname, 'dist/server'),
|
|
35
|
-
entryFileNames: '[name].js',
|
|
36
|
-
chunkFileNames: 'chunks/[name]-[hash].js',
|
|
37
|
-
exports: 'auto',
|
|
38
|
-
format: 'cjs',
|
|
39
|
-
sourcemap: true,
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
dir: path.join(import.meta.dirname, 'dist/server'),
|
|
43
|
-
entryFileNames: '[name].mjs',
|
|
44
|
-
chunkFileNames: 'chunks/[name]-[hash].mjs',
|
|
45
|
-
exports: 'auto',
|
|
46
|
-
format: 'esm',
|
|
47
|
-
sourcemap: true,
|
|
48
|
-
},
|
|
49
|
-
],
|
|
50
|
-
plugins: [...basePlugins(import.meta.dirname)],
|
|
51
|
-
},
|
|
5
|
+
baseConfig({
|
|
6
|
+
input: {
|
|
7
|
+
index: './admin/src/index.js',
|
|
8
|
+
},
|
|
9
|
+
rootDir: './admin/src',
|
|
10
|
+
outDir: './dist/admin',
|
|
11
|
+
}),
|
|
12
|
+
baseConfig({
|
|
13
|
+
input: {
|
|
14
|
+
index: './server/index.js'
|
|
15
|
+
},
|
|
16
|
+
rootDir: './server',
|
|
17
|
+
outDir: './dist/server',
|
|
18
|
+
})
|
|
52
19
|
]);
|
|
@@ -11,6 +11,18 @@ const crypto = require('crypto');
|
|
|
11
11
|
const _ = require('lodash');
|
|
12
12
|
const { getService } = require('../utils');
|
|
13
13
|
const usersPermissionsActions = require('./users-permissions-actions');
|
|
14
|
+
const {
|
|
15
|
+
DEFAULT_ACCESS_TOKEN_LIFESPAN,
|
|
16
|
+
DEFAULT_MAX_REFRESH_TOKEN_LIFESPAN,
|
|
17
|
+
DEFAULT_IDLE_REFRESH_TOKEN_LIFESPAN,
|
|
18
|
+
DEFAULT_MAX_SESSION_LIFESPAN,
|
|
19
|
+
DEFAULT_IDLE_SESSION_LIFESPAN,
|
|
20
|
+
} = require('../services/constants');
|
|
21
|
+
|
|
22
|
+
const getSessionManager = () => {
|
|
23
|
+
const manager = strapi.sessionManager;
|
|
24
|
+
return manager ?? null;
|
|
25
|
+
};
|
|
14
26
|
|
|
15
27
|
const initGrant = async (pluginStore) => {
|
|
16
28
|
const allProviders = getService('providers-registry').getAll();
|
|
@@ -113,6 +125,25 @@ module.exports = async ({ strapi }) => {
|
|
|
113
125
|
|
|
114
126
|
await getService('users-permissions').initialize();
|
|
115
127
|
|
|
128
|
+
// Define users-permissions origin configuration for sessionManager
|
|
129
|
+
const upConfig = strapi.config.get('plugin::users-permissions');
|
|
130
|
+
const sessionManager = getSessionManager();
|
|
131
|
+
|
|
132
|
+
if (sessionManager) {
|
|
133
|
+
sessionManager.defineOrigin('users-permissions', {
|
|
134
|
+
jwtSecret: upConfig.jwtSecret || strapi.config.get('admin.auth.secret'),
|
|
135
|
+
accessTokenLifespan: upConfig.sessions?.accessTokenLifespan || DEFAULT_ACCESS_TOKEN_LIFESPAN,
|
|
136
|
+
maxRefreshTokenLifespan:
|
|
137
|
+
upConfig.sessions?.maxRefreshTokenLifespan || DEFAULT_MAX_REFRESH_TOKEN_LIFESPAN,
|
|
138
|
+
idleRefreshTokenLifespan:
|
|
139
|
+
upConfig.sessions?.idleRefreshTokenLifespan || DEFAULT_IDLE_REFRESH_TOKEN_LIFESPAN,
|
|
140
|
+
maxSessionLifespan: upConfig.sessions?.maxSessionLifespan || DEFAULT_MAX_SESSION_LIFESPAN,
|
|
141
|
+
idleSessionLifespan: upConfig.sessions?.idleSessionLifespan || DEFAULT_IDLE_SESSION_LIFESPAN,
|
|
142
|
+
algorithm: upConfig.jwt?.algorithm,
|
|
143
|
+
jwtOptions: upConfig.jwt || {},
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
|
|
116
147
|
if (!strapi.config.get('plugin::users-permissions.jwtSecret')) {
|
|
117
148
|
if (process.env.NODE_ENV !== 'development') {
|
|
118
149
|
throw new Error(
|
package/server/config.js
CHANGED
|
@@ -1,11 +1,33 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
const {
|
|
4
|
+
DEFAULT_ACCESS_TOKEN_LIFESPAN,
|
|
5
|
+
DEFAULT_MAX_REFRESH_TOKEN_LIFESPAN,
|
|
6
|
+
DEFAULT_IDLE_REFRESH_TOKEN_LIFESPAN,
|
|
7
|
+
DEFAULT_MAX_SESSION_LIFESPAN,
|
|
8
|
+
DEFAULT_IDLE_SESSION_LIFESPAN,
|
|
9
|
+
} = require('./services/constants');
|
|
10
|
+
|
|
3
11
|
module.exports = {
|
|
4
12
|
default: ({ env }) => ({
|
|
5
13
|
jwtSecret: env('JWT_SECRET'),
|
|
6
14
|
jwt: {
|
|
7
15
|
expiresIn: '30d',
|
|
8
16
|
},
|
|
17
|
+
/**
|
|
18
|
+
* JWT management mode for the Content API authentication
|
|
19
|
+
* - "legacy-support": use plugin JWTs (backward compatible)
|
|
20
|
+
* - "refresh": use SessionManager (access/refresh tokens)
|
|
21
|
+
*/
|
|
22
|
+
jwtManagement: 'legacy-support',
|
|
23
|
+
sessions: {
|
|
24
|
+
accessTokenLifespan: DEFAULT_ACCESS_TOKEN_LIFESPAN,
|
|
25
|
+
maxRefreshTokenLifespan: DEFAULT_MAX_REFRESH_TOKEN_LIFESPAN,
|
|
26
|
+
idleRefreshTokenLifespan: DEFAULT_IDLE_REFRESH_TOKEN_LIFESPAN,
|
|
27
|
+
maxSessionLifespan: DEFAULT_MAX_SESSION_LIFESPAN,
|
|
28
|
+
idleSessionLifespan: DEFAULT_IDLE_SESSION_LIFESPAN,
|
|
29
|
+
httpOnly: false,
|
|
30
|
+
},
|
|
9
31
|
ratelimit: {
|
|
10
32
|
interval: 60000,
|
|
11
33
|
max: 10,
|
|
@@ -31,6 +31,12 @@ const sanitizeUser = (user, ctx) => {
|
|
|
31
31
|
return strapi.contentAPI.sanitize.output(user, userSchema, { auth });
|
|
32
32
|
};
|
|
33
33
|
|
|
34
|
+
const extractDeviceId = (requestBody) => {
|
|
35
|
+
const { deviceId } = requestBody || {};
|
|
36
|
+
|
|
37
|
+
return typeof deviceId === 'string' && deviceId.length > 0 ? deviceId : undefined;
|
|
38
|
+
};
|
|
39
|
+
|
|
34
40
|
module.exports = ({ strapi }) => ({
|
|
35
41
|
async callback(ctx) {
|
|
36
42
|
const provider = ctx.params.provider || 'local';
|
|
@@ -86,6 +92,51 @@ module.exports = ({ strapi }) => ({
|
|
|
86
92
|
throw new ApplicationError('Your account has been blocked by an administrator');
|
|
87
93
|
}
|
|
88
94
|
|
|
95
|
+
const mode = strapi.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');
|
|
96
|
+
if (mode === 'refresh') {
|
|
97
|
+
const deviceId = extractDeviceId(ctx.request.body);
|
|
98
|
+
|
|
99
|
+
const refresh = await strapi
|
|
100
|
+
.sessionManager('users-permissions')
|
|
101
|
+
.generateRefreshToken(String(user.id), deviceId, { type: 'refresh' });
|
|
102
|
+
|
|
103
|
+
const access = await strapi
|
|
104
|
+
.sessionManager('users-permissions')
|
|
105
|
+
.generateAccessToken(refresh.token);
|
|
106
|
+
if ('error' in access) {
|
|
107
|
+
throw new ApplicationError('Invalid credentials');
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
const upSessions = strapi.config.get('plugin::users-permissions.sessions');
|
|
111
|
+
const requestHttpOnly = ctx.request.header['x-strapi-refresh-cookie'] === 'httpOnly';
|
|
112
|
+
if (upSessions?.httpOnly || requestHttpOnly) {
|
|
113
|
+
const cookieName = upSessions.cookie?.name || 'strapi_up_refresh';
|
|
114
|
+
const isProduction = process.env.NODE_ENV === 'production';
|
|
115
|
+
const isSecure =
|
|
116
|
+
typeof upSessions.cookie?.secure === 'boolean'
|
|
117
|
+
? upSessions.cookie?.secure
|
|
118
|
+
: isProduction;
|
|
119
|
+
|
|
120
|
+
const cookieOptions = {
|
|
121
|
+
httpOnly: true,
|
|
122
|
+
secure: isSecure,
|
|
123
|
+
sameSite: upSessions.cookie?.sameSite ?? 'lax',
|
|
124
|
+
path: upSessions.cookie?.path ?? '/',
|
|
125
|
+
domain: upSessions.cookie?.domain,
|
|
126
|
+
overwrite: true,
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
ctx.cookies.set(cookieName, refresh.token, cookieOptions);
|
|
130
|
+
return ctx.send({ jwt: access.token, user: await sanitizeUser(user, ctx) });
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
return ctx.send({
|
|
134
|
+
jwt: access.token,
|
|
135
|
+
refreshToken: refresh.token,
|
|
136
|
+
user: await sanitizeUser(user, ctx),
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
|
|
89
140
|
return ctx.send({
|
|
90
141
|
jwt: getService('jwt').issue({ id: user.id }),
|
|
91
142
|
user: await sanitizeUser(user, ctx),
|
|
@@ -100,6 +151,49 @@ module.exports = ({ strapi }) => ({
|
|
|
100
151
|
throw new ForbiddenError('Your account has been blocked by an administrator');
|
|
101
152
|
}
|
|
102
153
|
|
|
154
|
+
const mode = strapi.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');
|
|
155
|
+
if (mode === 'refresh') {
|
|
156
|
+
const deviceId = extractDeviceId(ctx.request.body);
|
|
157
|
+
|
|
158
|
+
const refresh = await strapi
|
|
159
|
+
.sessionManager('users-permissions')
|
|
160
|
+
.generateRefreshToken(String(user.id), deviceId, { type: 'refresh' });
|
|
161
|
+
|
|
162
|
+
const access = await strapi
|
|
163
|
+
.sessionManager('users-permissions')
|
|
164
|
+
.generateAccessToken(refresh.token);
|
|
165
|
+
if ('error' in access) {
|
|
166
|
+
throw new ApplicationError('Invalid credentials');
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
const upSessions = strapi.config.get('plugin::users-permissions.sessions');
|
|
170
|
+
const requestHttpOnly = ctx.request.header['x-strapi-refresh-cookie'] === 'httpOnly';
|
|
171
|
+
if (upSessions?.httpOnly || requestHttpOnly) {
|
|
172
|
+
const cookieName = upSessions.cookie?.name || 'strapi_up_refresh';
|
|
173
|
+
const isProduction = process.env.NODE_ENV === 'production';
|
|
174
|
+
const isSecure =
|
|
175
|
+
typeof upSessions.cookie?.secure === 'boolean'
|
|
176
|
+
? upSessions.cookie?.secure
|
|
177
|
+
: isProduction;
|
|
178
|
+
|
|
179
|
+
const cookieOptions = {
|
|
180
|
+
httpOnly: true,
|
|
181
|
+
secure: isSecure,
|
|
182
|
+
sameSite: upSessions.cookie?.sameSite ?? 'lax',
|
|
183
|
+
path: upSessions.cookie?.path ?? '/',
|
|
184
|
+
domain: upSessions.cookie?.domain,
|
|
185
|
+
overwrite: true,
|
|
186
|
+
};
|
|
187
|
+
ctx.cookies.set(cookieName, refresh.token, cookieOptions);
|
|
188
|
+
return ctx.send({ jwt: access.token, user: await sanitizeUser(user, ctx) });
|
|
189
|
+
}
|
|
190
|
+
return ctx.send({
|
|
191
|
+
jwt: access.token,
|
|
192
|
+
refreshToken: refresh.token,
|
|
193
|
+
user: await sanitizeUser(user, ctx),
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
|
|
103
197
|
return ctx.send({
|
|
104
198
|
jwt: getService('jwt').issue({ id: user.id }),
|
|
105
199
|
user: await sanitizeUser(user, ctx),
|
|
@@ -137,7 +231,37 @@ module.exports = ({ strapi }) => ({
|
|
|
137
231
|
|
|
138
232
|
await getService('user').edit(user.id, { password });
|
|
139
233
|
|
|
140
|
-
|
|
234
|
+
const mode = strapi.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');
|
|
235
|
+
if (mode === 'refresh') {
|
|
236
|
+
const deviceId = extractDeviceId(ctx.request.body);
|
|
237
|
+
|
|
238
|
+
if (deviceId) {
|
|
239
|
+
// Invalidate sessions: specific device if deviceId provided
|
|
240
|
+
await strapi
|
|
241
|
+
.sessionManager('users-permissions')
|
|
242
|
+
.invalidateRefreshToken(String(user.id), deviceId);
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
const newDeviceId = deviceId || crypto.randomUUID();
|
|
246
|
+
const refresh = await strapi
|
|
247
|
+
.sessionManager('users-permissions')
|
|
248
|
+
.generateRefreshToken(String(user.id), newDeviceId, { type: 'refresh' });
|
|
249
|
+
|
|
250
|
+
const access = await strapi
|
|
251
|
+
.sessionManager('users-permissions')
|
|
252
|
+
.generateAccessToken(refresh.token);
|
|
253
|
+
if ('error' in access) {
|
|
254
|
+
throw new ApplicationError('Invalid credentials');
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
return ctx.send({
|
|
258
|
+
jwt: access.token,
|
|
259
|
+
refreshToken: refresh.token,
|
|
260
|
+
user: await sanitizeUser(user, ctx),
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
return ctx.send({
|
|
141
265
|
jwt: getService('jwt').issue({ id: user.id }),
|
|
142
266
|
user: await sanitizeUser(user, ctx),
|
|
143
267
|
});
|
|
@@ -168,13 +292,115 @@ module.exports = ({ strapi }) => ({
|
|
|
168
292
|
password,
|
|
169
293
|
});
|
|
170
294
|
|
|
171
|
-
|
|
172
|
-
|
|
295
|
+
const mode = strapi.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');
|
|
296
|
+
if (mode === 'refresh') {
|
|
297
|
+
const deviceId = extractDeviceId(ctx.request.body);
|
|
298
|
+
|
|
299
|
+
if (deviceId) {
|
|
300
|
+
// Invalidate sessions: specific device if deviceId provided
|
|
301
|
+
await strapi
|
|
302
|
+
.sessionManager('users-permissions')
|
|
303
|
+
.invalidateRefreshToken(String(user.id), deviceId);
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
const newDeviceId = deviceId || crypto.randomUUID();
|
|
307
|
+
const refresh = await strapi
|
|
308
|
+
.sessionManager('users-permissions')
|
|
309
|
+
.generateRefreshToken(String(user.id), newDeviceId, { type: 'refresh' });
|
|
310
|
+
|
|
311
|
+
const access = await strapi
|
|
312
|
+
.sessionManager('users-permissions')
|
|
313
|
+
.generateAccessToken(refresh.token);
|
|
314
|
+
if ('error' in access) {
|
|
315
|
+
throw new ApplicationError('Invalid credentials');
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
return ctx.send({
|
|
319
|
+
jwt: access.token,
|
|
320
|
+
refreshToken: refresh.token,
|
|
321
|
+
user: await sanitizeUser(user, ctx),
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
return ctx.send({
|
|
173
326
|
jwt: getService('jwt').issue({ id: user.id }),
|
|
174
327
|
user: await sanitizeUser(user, ctx),
|
|
175
328
|
});
|
|
176
329
|
},
|
|
330
|
+
async refresh(ctx) {
|
|
331
|
+
const mode = strapi.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');
|
|
332
|
+
if (mode !== 'refresh') {
|
|
333
|
+
return ctx.notFound();
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
const { refreshToken } = ctx.request.body || {};
|
|
337
|
+
if (!refreshToken || typeof refreshToken !== 'string') {
|
|
338
|
+
return ctx.badRequest('Missing refresh token');
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
const rotation = await strapi
|
|
342
|
+
.sessionManager('users-permissions')
|
|
343
|
+
.rotateRefreshToken(refreshToken);
|
|
344
|
+
if ('error' in rotation) {
|
|
345
|
+
return ctx.unauthorized('Invalid refresh token');
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
const result = await strapi
|
|
349
|
+
.sessionManager('users-permissions')
|
|
350
|
+
.generateAccessToken(rotation.token);
|
|
351
|
+
if ('error' in result) {
|
|
352
|
+
return ctx.unauthorized('Invalid refresh token');
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
const upSessions = strapi.config.get('plugin::users-permissions.sessions');
|
|
356
|
+
const requestHttpOnly = ctx.request.header['x-strapi-refresh-cookie'] === 'httpOnly';
|
|
357
|
+
if (upSessions?.httpOnly || requestHttpOnly) {
|
|
358
|
+
const cookieName = upSessions.cookie?.name || 'strapi_up_refresh';
|
|
359
|
+
const isProduction = process.env.NODE_ENV === 'production';
|
|
360
|
+
const isSecure =
|
|
361
|
+
typeof upSessions.cookie?.secure === 'boolean' ? upSessions.cookie?.secure : isProduction;
|
|
362
|
+
|
|
363
|
+
const cookieOptions = {
|
|
364
|
+
httpOnly: true,
|
|
365
|
+
secure: isSecure,
|
|
366
|
+
sameSite: upSessions.cookie?.sameSite ?? 'lax',
|
|
367
|
+
path: upSessions.cookie?.path ?? '/',
|
|
368
|
+
domain: upSessions.cookie?.domain,
|
|
369
|
+
overwrite: true,
|
|
370
|
+
};
|
|
371
|
+
ctx.cookies.set(cookieName, rotation.token, cookieOptions);
|
|
372
|
+
return ctx.send({ jwt: result.token });
|
|
373
|
+
}
|
|
374
|
+
return ctx.send({ jwt: result.token, refreshToken: rotation.token });
|
|
375
|
+
},
|
|
376
|
+
async logout(ctx) {
|
|
377
|
+
const mode = strapi.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');
|
|
378
|
+
if (mode !== 'refresh') {
|
|
379
|
+
return ctx.notFound();
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
// Invalidate all sessions for the authenticated user, or by deviceId if provided
|
|
383
|
+
if (!ctx.state.user) {
|
|
384
|
+
return ctx.unauthorized('Missing authentication');
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
const deviceId = extractDeviceId(ctx.request.body);
|
|
388
|
+
try {
|
|
389
|
+
await strapi
|
|
390
|
+
.sessionManager('users-permissions')
|
|
391
|
+
.invalidateRefreshToken(String(ctx.state.user.id), deviceId);
|
|
392
|
+
} catch (err) {
|
|
393
|
+
strapi.log.error('UP logout failed', err);
|
|
394
|
+
}
|
|
177
395
|
|
|
396
|
+
const upSessions = strapi.config.get('plugin::users-permissions.sessions');
|
|
397
|
+
const requestHttpOnly = ctx.request.header['x-strapi-refresh-cookie'] === 'httpOnly';
|
|
398
|
+
if (upSessions?.httpOnly || requestHttpOnly) {
|
|
399
|
+
const cookieName = upSessions.cookie?.name || 'strapi_up_refresh';
|
|
400
|
+
ctx.cookies.set(cookieName, '', { expires: new Date(0) });
|
|
401
|
+
}
|
|
402
|
+
return ctx.send({ ok: true });
|
|
403
|
+
},
|
|
178
404
|
async connect(ctx, next) {
|
|
179
405
|
const grant = require('grant').koa();
|
|
180
406
|
|
|
@@ -387,12 +613,26 @@ module.exports = ({ strapi }) => ({
|
|
|
387
613
|
return ctx.send({ user: sanitizedUser });
|
|
388
614
|
}
|
|
389
615
|
|
|
390
|
-
const
|
|
616
|
+
const mode = strapi.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');
|
|
617
|
+
if (mode === 'refresh') {
|
|
618
|
+
const deviceId = extractDeviceId(ctx.request.body) || crypto.randomUUID();
|
|
391
619
|
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
620
|
+
const refresh = await strapi
|
|
621
|
+
.sessionManager('users-permissions')
|
|
622
|
+
.generateRefreshToken(String(user.id), deviceId, { type: 'refresh' });
|
|
623
|
+
|
|
624
|
+
const access = await strapi
|
|
625
|
+
.sessionManager('users-permissions')
|
|
626
|
+
.generateAccessToken(refresh.token);
|
|
627
|
+
if ('error' in access) {
|
|
628
|
+
throw new ApplicationError('Invalid credentials');
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
return ctx.send({ jwt: access.token, refreshToken: refresh.token, user: sanitizedUser });
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
const jwt = getService('jwt').issue(_.pick(user, ['id']));
|
|
635
|
+
return ctx.send({ jwt, user: sanitizedUser });
|
|
396
636
|
},
|
|
397
637
|
|
|
398
638
|
async emailConfirmation(ctx, next, returnUser) {
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
const _ = require('lodash');
|
|
4
4
|
const { contentTypes: contentTypesUtils } = require('@strapi/utils');
|
|
5
|
-
const { ApplicationError,
|
|
6
|
-
require('@strapi/utils').errors;
|
|
5
|
+
const { ApplicationError, NotFoundError, ForbiddenError } = require('@strapi/utils').errors;
|
|
7
6
|
const { validateCreateUserBody, validateUpdateUserBody } = require('./validation/user');
|
|
8
7
|
|
|
9
8
|
const { UPDATED_BY_ATTRIBUTE, CREATED_BY_ATTRIBUTE } = contentTypesUtils.constants;
|
|
@@ -133,8 +132,8 @@ module.exports = {
|
|
|
133
132
|
|
|
134
133
|
await validateUpdateUserBody(ctx.request.body);
|
|
135
134
|
|
|
136
|
-
if (_.has(body, 'password') &&
|
|
137
|
-
|
|
135
|
+
if (_.has(body, 'password') && (password == null || password === '')) {
|
|
136
|
+
delete body.password;
|
|
138
137
|
}
|
|
139
138
|
|
|
140
139
|
if (_.has(body, 'username')) {
|
|
@@ -29,7 +29,18 @@ const createUserBodySchema = yup.object().shape({
|
|
|
29
29
|
const updateUserBodySchema = yup.object().shape({
|
|
30
30
|
email: yup.string().email().min(1),
|
|
31
31
|
username: yup.string().min(1),
|
|
32
|
-
password: yup
|
|
32
|
+
password: yup
|
|
33
|
+
.mixed()
|
|
34
|
+
.test(
|
|
35
|
+
'password-validation',
|
|
36
|
+
'Password must be at least 1 character',
|
|
37
|
+
function validatePassword(value) {
|
|
38
|
+
if (value == null || value === '') {
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
return typeof value === 'string' && value.length >= 1;
|
|
42
|
+
}
|
|
43
|
+
),
|
|
33
44
|
role: yup.lazy((value) =>
|
|
34
45
|
typeof value === 'object'
|
|
35
46
|
? yup.object().shape({
|