@strapi/plugin-users-permissions 5.12.1 → 5.12.3
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/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 +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 +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/{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} +2 -2
- package/dist/admin/translations/en.json.js.map +1 -0
- package/dist/admin/{chunks/en-BhgCBe7M.mjs → translations/en.json.mjs} +1 -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 +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 +49 -0
- package/dist/server/controllers/validation/user.js.map +1 -0
- package/dist/server/controllers/validation/user.mjs +47 -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 +104 -0
- package/dist/server/routes/content-api/auth.js.map +1 -0
- package/dist/server/routes/content-api/auth.mjs +102 -0
- package/dist/server/routes/content-api/auth.mjs.map +1 -0
- package/dist/server/routes/content-api/index.js +30 -0
- package/dist/server/routes/content-api/index.js.map +1 -0
- package/dist/server/routes/content-api/index.mjs +28 -0
- package/dist/server/routes/content-api/index.mjs.map +1 -0
- package/dist/server/routes/content-api/permissions.js +19 -0
- package/dist/server/routes/content-api/permissions.js.map +1 -0
- package/dist/server/routes/content-api/permissions.mjs +17 -0
- package/dist/server/routes/content-api/permissions.mjs.map +1 -0
- package/dist/server/routes/content-api/role.js +39 -0
- package/dist/server/routes/content-api/role.js.map +1 -0
- package/dist/server/routes/content-api/role.mjs +37 -0
- package/dist/server/routes/content-api/role.mjs.map +1 -0
- package/dist/server/routes/content-api/user.js +70 -0
- package/dist/server/routes/content-api/user.js.map +1 -0
- package/dist/server/routes/content-api/user.mjs +68 -0
- package/dist/server/routes/content-api/user.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 +3 -3
- package/rollup.config.mjs +15 -48
- 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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-manager-user.js","sources":["../../../server/controllers/content-manager-user.js"],"sourcesContent":["'use strict';\n\nconst _ = require('lodash');\nconst { contentTypes: contentTypesUtils } = require('@strapi/utils');\nconst { ApplicationError, ValidationError, NotFoundError, ForbiddenError } =\n require('@strapi/utils').errors;\nconst { validateCreateUserBody, validateUpdateUserBody } = require('./validation/user');\n\nconst { UPDATED_BY_ATTRIBUTE, CREATED_BY_ATTRIBUTE } = contentTypesUtils.constants;\n\nconst userModel = 'plugin::users-permissions.user';\nconst ACTIONS = {\n read: 'plugin::content-manager.explorer.read',\n create: 'plugin::content-manager.explorer.create',\n edit: 'plugin::content-manager.explorer.update',\n delete: 'plugin::content-manager.explorer.delete',\n};\n\nconst findEntityAndCheckPermissions = async (ability, action, model, id) => {\n const doc = await strapi.service('plugin::content-manager.document-manager').findOne(id, model, {\n populate: [`${CREATED_BY_ATTRIBUTE}.roles`],\n });\n\n if (_.isNil(doc)) {\n throw new NotFoundError();\n }\n\n const pm = strapi\n .service('admin::permission')\n .createPermissionsManager({ ability, action, model });\n\n if (pm.ability.cannot(pm.action, pm.toSubject(doc))) {\n throw new ForbiddenError();\n }\n\n const docWithoutCreatorRoles = _.omit(doc, `${CREATED_BY_ATTRIBUTE}.roles`);\n\n return { pm, doc: docWithoutCreatorRoles };\n};\n\nmodule.exports = {\n /**\n * Create a/an user record.\n * @return {Object}\n */\n async create(ctx) {\n const { body } = ctx.request;\n const { user: admin, userAbility } = ctx.state;\n\n const { email, username } = body;\n\n const pm = strapi.service('admin::permission').createPermissionsManager({\n ability: userAbility,\n action: ACTIONS.create,\n model: userModel,\n });\n\n if (!pm.isAllowed) {\n return ctx.forbidden();\n }\n\n const sanitizedBody = await pm.pickPermittedFieldsOf(body, { subject: userModel });\n\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 userWithSameUsername = await strapi.db\n .query('plugin::users-permissions.user')\n .findOne({ where: { username } });\n\n if (userWithSameUsername) {\n 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 ...sanitizedBody,\n provider: 'local',\n [CREATED_BY_ATTRIBUTE]: admin.id,\n [UPDATED_BY_ATTRIBUTE]: admin.id,\n };\n\n user.email = _.toLower(user.email);\n\n try {\n const data = await strapi\n .service('plugin::content-manager.document-manager')\n .create(userModel, { data: user });\n\n const sanitizedData = await pm.sanitizeOutput(data, { action: ACTIONS.read });\n\n ctx.created(sanitizedData);\n } catch (error) {\n throw new ApplicationError(error.message);\n }\n },\n /**\n * Update a/an user record.\n * @return {Object}\n */\n\n async update(ctx) {\n const { id: documentId } = ctx.params;\n const { body } = ctx.request;\n const { user: admin, userAbility } = ctx.state;\n\n const advancedConfigs = await strapi\n .store({ type: 'plugin', name: 'users-permissions', key: 'advanced' })\n .get();\n\n const { email, username, password } = body;\n\n const { pm, doc } = await findEntityAndCheckPermissions(\n userAbility,\n ACTIONS.edit,\n userModel,\n documentId\n );\n\n const user = doc;\n\n await validateUpdateUserBody(ctx.request.body);\n\n if (_.has(body, 'password') && !password && user.provider === 'local') {\n throw new ValidationError('password.notNull');\n }\n\n if (_.has(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(user.id)) {\n throw new ApplicationError('Username already taken');\n }\n }\n\n if (_.has(body, 'email') && advancedConfigs.unique_email) {\n const userWithSameEmail = await strapi.db\n .query('plugin::users-permissions.user')\n .findOne({ where: { email: _.toLower(email) } });\n\n if (userWithSameEmail && _.toString(userWithSameEmail.id) !== _.toString(user.id)) {\n throw new ApplicationError('Email already taken');\n }\n\n body.email = _.toLower(body.email);\n }\n\n const sanitizedData = await pm.pickPermittedFieldsOf(body, { subject: pm.toSubject(user) });\n const updateData = _.omit({ ...sanitizedData, updatedBy: admin.id }, 'createdBy');\n\n const data = await strapi\n .service('plugin::content-manager.document-manager')\n .update(documentId, userModel, {\n data: updateData,\n });\n\n ctx.body = await pm.sanitizeOutput(data, { action: ACTIONS.read });\n },\n};\n"],"names":["_","require$$0","contentTypes","contentTypesUtils","require$$1","ApplicationError","ValidationError","NotFoundError","ForbiddenError","errors","validateCreateUserBody","validateUpdateUserBody","require$$2","UPDATED_BY_ATTRIBUTE","CREATED_BY_ATTRIBUTE","constants","userModel","ACTIONS","read","create","edit","delete","findEntityAndCheckPermissions","ability","action","model","id","doc","strapi","service","findOne","populate","isNil","pm","createPermissionsManager","cannot","toSubject","docWithoutCreatorRoles","omit","contentManagerUser","ctx","body","request","user","admin","userAbility","state","email","username","isAllowed","forbidden","sanitizedBody","pickPermittedFieldsOf","subject","advanced","store","type","name","key","get","userWithSameUsername","db","query","where","unique_email","userWithSameEmail","toLowerCase","provider","toLower","data","sanitizedData","sanitizeOutput","created","error","message","update","documentId","params","advancedConfigs","password","has","toString","updateData","updatedBy"],"mappings":"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"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import require$$0 from 'lodash';
|
|
2
|
+
import require$$1 from '@strapi/utils';
|
|
3
|
+
import { __require as requireUser } from './validation/user.mjs';
|
|
4
|
+
|
|
5
|
+
var contentManagerUser;
|
|
6
|
+
var hasRequiredContentManagerUser;
|
|
7
|
+
function requireContentManagerUser() {
|
|
8
|
+
if (hasRequiredContentManagerUser) return contentManagerUser;
|
|
9
|
+
hasRequiredContentManagerUser = 1;
|
|
10
|
+
const _ = require$$0;
|
|
11
|
+
const { contentTypes: contentTypesUtils } = require$$1;
|
|
12
|
+
const { ApplicationError, ValidationError, NotFoundError, ForbiddenError } = require$$1.errors;
|
|
13
|
+
const { validateCreateUserBody, validateUpdateUserBody } = requireUser();
|
|
14
|
+
const { UPDATED_BY_ATTRIBUTE, CREATED_BY_ATTRIBUTE } = contentTypesUtils.constants;
|
|
15
|
+
const userModel = 'plugin::users-permissions.user';
|
|
16
|
+
const ACTIONS = {
|
|
17
|
+
read: 'plugin::content-manager.explorer.read',
|
|
18
|
+
create: 'plugin::content-manager.explorer.create',
|
|
19
|
+
edit: 'plugin::content-manager.explorer.update',
|
|
20
|
+
delete: 'plugin::content-manager.explorer.delete'
|
|
21
|
+
};
|
|
22
|
+
const findEntityAndCheckPermissions = async (ability, action, model, id)=>{
|
|
23
|
+
const doc = await strapi.service('plugin::content-manager.document-manager').findOne(id, model, {
|
|
24
|
+
populate: [
|
|
25
|
+
`${CREATED_BY_ATTRIBUTE}.roles`
|
|
26
|
+
]
|
|
27
|
+
});
|
|
28
|
+
if (_.isNil(doc)) {
|
|
29
|
+
throw new NotFoundError();
|
|
30
|
+
}
|
|
31
|
+
const pm = strapi.service('admin::permission').createPermissionsManager({
|
|
32
|
+
ability,
|
|
33
|
+
action,
|
|
34
|
+
model
|
|
35
|
+
});
|
|
36
|
+
if (pm.ability.cannot(pm.action, pm.toSubject(doc))) {
|
|
37
|
+
throw new ForbiddenError();
|
|
38
|
+
}
|
|
39
|
+
const docWithoutCreatorRoles = _.omit(doc, `${CREATED_BY_ATTRIBUTE}.roles`);
|
|
40
|
+
return {
|
|
41
|
+
pm,
|
|
42
|
+
doc: docWithoutCreatorRoles
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
contentManagerUser = {
|
|
46
|
+
/**
|
|
47
|
+
* Create a/an user record.
|
|
48
|
+
* @return {Object}
|
|
49
|
+
*/ async create (ctx) {
|
|
50
|
+
const { body } = ctx.request;
|
|
51
|
+
const { user: admin, userAbility } = ctx.state;
|
|
52
|
+
const { email, username } = body;
|
|
53
|
+
const pm = strapi.service('admin::permission').createPermissionsManager({
|
|
54
|
+
ability: userAbility,
|
|
55
|
+
action: ACTIONS.create,
|
|
56
|
+
model: userModel
|
|
57
|
+
});
|
|
58
|
+
if (!pm.isAllowed) {
|
|
59
|
+
return ctx.forbidden();
|
|
60
|
+
}
|
|
61
|
+
const sanitizedBody = await pm.pickPermittedFieldsOf(body, {
|
|
62
|
+
subject: userModel
|
|
63
|
+
});
|
|
64
|
+
const advanced = await strapi.store({
|
|
65
|
+
type: 'plugin',
|
|
66
|
+
name: 'users-permissions',
|
|
67
|
+
key: 'advanced'
|
|
68
|
+
}).get();
|
|
69
|
+
await validateCreateUserBody(ctx.request.body);
|
|
70
|
+
const userWithSameUsername = await strapi.db.query('plugin::users-permissions.user').findOne({
|
|
71
|
+
where: {
|
|
72
|
+
username
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
if (userWithSameUsername) {
|
|
76
|
+
throw new ApplicationError('Username already taken');
|
|
77
|
+
}
|
|
78
|
+
if (advanced.unique_email) {
|
|
79
|
+
const userWithSameEmail = await strapi.db.query('plugin::users-permissions.user').findOne({
|
|
80
|
+
where: {
|
|
81
|
+
email: email.toLowerCase()
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
if (userWithSameEmail) {
|
|
85
|
+
throw new ApplicationError('Email already taken');
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
const user = {
|
|
89
|
+
...sanitizedBody,
|
|
90
|
+
provider: 'local',
|
|
91
|
+
[CREATED_BY_ATTRIBUTE]: admin.id,
|
|
92
|
+
[UPDATED_BY_ATTRIBUTE]: admin.id
|
|
93
|
+
};
|
|
94
|
+
user.email = _.toLower(user.email);
|
|
95
|
+
try {
|
|
96
|
+
const data = await strapi.service('plugin::content-manager.document-manager').create(userModel, {
|
|
97
|
+
data: user
|
|
98
|
+
});
|
|
99
|
+
const sanitizedData = await pm.sanitizeOutput(data, {
|
|
100
|
+
action: ACTIONS.read
|
|
101
|
+
});
|
|
102
|
+
ctx.created(sanitizedData);
|
|
103
|
+
} catch (error) {
|
|
104
|
+
throw new ApplicationError(error.message);
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
/**
|
|
108
|
+
* Update a/an user record.
|
|
109
|
+
* @return {Object}
|
|
110
|
+
*/ async update (ctx) {
|
|
111
|
+
const { id: documentId } = ctx.params;
|
|
112
|
+
const { body } = ctx.request;
|
|
113
|
+
const { user: admin, userAbility } = ctx.state;
|
|
114
|
+
const advancedConfigs = await strapi.store({
|
|
115
|
+
type: 'plugin',
|
|
116
|
+
name: 'users-permissions',
|
|
117
|
+
key: 'advanced'
|
|
118
|
+
}).get();
|
|
119
|
+
const { email, username, password } = body;
|
|
120
|
+
const { pm, doc } = await findEntityAndCheckPermissions(userAbility, ACTIONS.edit, userModel, documentId);
|
|
121
|
+
const user = doc;
|
|
122
|
+
await validateUpdateUserBody(ctx.request.body);
|
|
123
|
+
if (_.has(body, 'password') && !password && user.provider === 'local') {
|
|
124
|
+
throw new ValidationError('password.notNull');
|
|
125
|
+
}
|
|
126
|
+
if (_.has(body, 'username')) {
|
|
127
|
+
const userWithSameUsername = await strapi.db.query('plugin::users-permissions.user').findOne({
|
|
128
|
+
where: {
|
|
129
|
+
username
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
if (userWithSameUsername && _.toString(userWithSameUsername.id) !== _.toString(user.id)) {
|
|
133
|
+
throw new ApplicationError('Username already taken');
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
if (_.has(body, 'email') && advancedConfigs.unique_email) {
|
|
137
|
+
const userWithSameEmail = await strapi.db.query('plugin::users-permissions.user').findOne({
|
|
138
|
+
where: {
|
|
139
|
+
email: _.toLower(email)
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
if (userWithSameEmail && _.toString(userWithSameEmail.id) !== _.toString(user.id)) {
|
|
143
|
+
throw new ApplicationError('Email already taken');
|
|
144
|
+
}
|
|
145
|
+
body.email = _.toLower(body.email);
|
|
146
|
+
}
|
|
147
|
+
const sanitizedData = await pm.pickPermittedFieldsOf(body, {
|
|
148
|
+
subject: pm.toSubject(user)
|
|
149
|
+
});
|
|
150
|
+
const updateData = _.omit({
|
|
151
|
+
...sanitizedData,
|
|
152
|
+
updatedBy: admin.id
|
|
153
|
+
}, 'createdBy');
|
|
154
|
+
const data = await strapi.service('plugin::content-manager.document-manager').update(documentId, userModel, {
|
|
155
|
+
data: updateData
|
|
156
|
+
});
|
|
157
|
+
ctx.body = await pm.sanitizeOutput(data, {
|
|
158
|
+
action: ACTIONS.read
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
return contentManagerUser;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
export { requireContentManagerUser as __require };
|
|
166
|
+
//# sourceMappingURL=content-manager-user.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-manager-user.mjs","sources":["../../../server/controllers/content-manager-user.js"],"sourcesContent":["'use strict';\n\nconst _ = require('lodash');\nconst { contentTypes: contentTypesUtils } = require('@strapi/utils');\nconst { ApplicationError, ValidationError, NotFoundError, ForbiddenError } =\n require('@strapi/utils').errors;\nconst { validateCreateUserBody, validateUpdateUserBody } = require('./validation/user');\n\nconst { UPDATED_BY_ATTRIBUTE, CREATED_BY_ATTRIBUTE } = contentTypesUtils.constants;\n\nconst userModel = 'plugin::users-permissions.user';\nconst ACTIONS = {\n read: 'plugin::content-manager.explorer.read',\n create: 'plugin::content-manager.explorer.create',\n edit: 'plugin::content-manager.explorer.update',\n delete: 'plugin::content-manager.explorer.delete',\n};\n\nconst findEntityAndCheckPermissions = async (ability, action, model, id) => {\n const doc = await strapi.service('plugin::content-manager.document-manager').findOne(id, model, {\n populate: [`${CREATED_BY_ATTRIBUTE}.roles`],\n });\n\n if (_.isNil(doc)) {\n throw new NotFoundError();\n }\n\n const pm = strapi\n .service('admin::permission')\n .createPermissionsManager({ ability, action, model });\n\n if (pm.ability.cannot(pm.action, pm.toSubject(doc))) {\n throw new ForbiddenError();\n }\n\n const docWithoutCreatorRoles = _.omit(doc, `${CREATED_BY_ATTRIBUTE}.roles`);\n\n return { pm, doc: docWithoutCreatorRoles };\n};\n\nmodule.exports = {\n /**\n * Create a/an user record.\n * @return {Object}\n */\n async create(ctx) {\n const { body } = ctx.request;\n const { user: admin, userAbility } = ctx.state;\n\n const { email, username } = body;\n\n const pm = strapi.service('admin::permission').createPermissionsManager({\n ability: userAbility,\n action: ACTIONS.create,\n model: userModel,\n });\n\n if (!pm.isAllowed) {\n return ctx.forbidden();\n }\n\n const sanitizedBody = await pm.pickPermittedFieldsOf(body, { subject: userModel });\n\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 userWithSameUsername = await strapi.db\n .query('plugin::users-permissions.user')\n .findOne({ where: { username } });\n\n if (userWithSameUsername) {\n 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 ...sanitizedBody,\n provider: 'local',\n [CREATED_BY_ATTRIBUTE]: admin.id,\n [UPDATED_BY_ATTRIBUTE]: admin.id,\n };\n\n user.email = _.toLower(user.email);\n\n try {\n const data = await strapi\n .service('plugin::content-manager.document-manager')\n .create(userModel, { data: user });\n\n const sanitizedData = await pm.sanitizeOutput(data, { action: ACTIONS.read });\n\n ctx.created(sanitizedData);\n } catch (error) {\n throw new ApplicationError(error.message);\n }\n },\n /**\n * Update a/an user record.\n * @return {Object}\n */\n\n async update(ctx) {\n const { id: documentId } = ctx.params;\n const { body } = ctx.request;\n const { user: admin, userAbility } = ctx.state;\n\n const advancedConfigs = await strapi\n .store({ type: 'plugin', name: 'users-permissions', key: 'advanced' })\n .get();\n\n const { email, username, password } = body;\n\n const { pm, doc } = await findEntityAndCheckPermissions(\n userAbility,\n ACTIONS.edit,\n userModel,\n documentId\n );\n\n const user = doc;\n\n await validateUpdateUserBody(ctx.request.body);\n\n if (_.has(body, 'password') && !password && user.provider === 'local') {\n throw new ValidationError('password.notNull');\n }\n\n if (_.has(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(user.id)) {\n throw new ApplicationError('Username already taken');\n }\n }\n\n if (_.has(body, 'email') && advancedConfigs.unique_email) {\n const userWithSameEmail = await strapi.db\n .query('plugin::users-permissions.user')\n .findOne({ where: { email: _.toLower(email) } });\n\n if (userWithSameEmail && _.toString(userWithSameEmail.id) !== _.toString(user.id)) {\n throw new ApplicationError('Email already taken');\n }\n\n body.email = _.toLower(body.email);\n }\n\n const sanitizedData = await pm.pickPermittedFieldsOf(body, { subject: pm.toSubject(user) });\n const updateData = _.omit({ ...sanitizedData, updatedBy: admin.id }, 'createdBy');\n\n const data = await strapi\n .service('plugin::content-manager.document-manager')\n .update(documentId, userModel, {\n data: updateData,\n });\n\n ctx.body = await pm.sanitizeOutput(data, { action: ACTIONS.read });\n },\n};\n"],"names":["_","require$$0","contentTypes","contentTypesUtils","require$$1","ApplicationError","ValidationError","NotFoundError","ForbiddenError","errors","validateCreateUserBody","validateUpdateUserBody","require$$2","UPDATED_BY_ATTRIBUTE","CREATED_BY_ATTRIBUTE","constants","userModel","ACTIONS","read","create","edit","delete","findEntityAndCheckPermissions","ability","action","model","id","doc","strapi","service","findOne","populate","isNil","pm","createPermissionsManager","cannot","toSubject","docWithoutCreatorRoles","omit","contentManagerUser","ctx","body","request","user","admin","userAbility","state","email","username","isAllowed","forbidden","sanitizedBody","pickPermittedFieldsOf","subject","advanced","store","type","name","key","get","userWithSameUsername","db","query","where","unique_email","userWithSameEmail","toLowerCase","provider","toLower","data","sanitizedData","sanitizeOutput","created","error","message","update","documentId","params","advancedConfigs","password","has","toString","updateData","updatedBy"],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var auth = require('./auth.js');
|
|
4
|
+
var user = require('./user.js');
|
|
5
|
+
var role = require('./role.js');
|
|
6
|
+
var permissions = require('./permissions.js');
|
|
7
|
+
var settings = require('./settings.js');
|
|
8
|
+
var contentManagerUser = require('./content-manager-user.js');
|
|
9
|
+
|
|
10
|
+
var controllers;
|
|
11
|
+
var hasRequiredControllers;
|
|
12
|
+
function requireControllers() {
|
|
13
|
+
if (hasRequiredControllers) return controllers;
|
|
14
|
+
hasRequiredControllers = 1;
|
|
15
|
+
const auth$1 = auth.__require();
|
|
16
|
+
const user$1 = user.__require();
|
|
17
|
+
const role$1 = role.__require();
|
|
18
|
+
const permissions$1 = permissions.__require();
|
|
19
|
+
const settings$1 = settings.__require();
|
|
20
|
+
const contentmanageruser = contentManagerUser.__require();
|
|
21
|
+
controllers = {
|
|
22
|
+
auth: auth$1,
|
|
23
|
+
user: user$1,
|
|
24
|
+
role: role$1,
|
|
25
|
+
permissions: permissions$1,
|
|
26
|
+
settings: settings$1,
|
|
27
|
+
contentmanageruser
|
|
28
|
+
};
|
|
29
|
+
return controllers;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
exports.__require = requireControllers;
|
|
33
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../server/controllers/index.js"],"sourcesContent":["'use strict';\n\nconst auth = require('./auth');\nconst user = require('./user');\nconst role = require('./role');\nconst permissions = require('./permissions');\nconst settings = require('./settings');\nconst contentmanageruser = require('./content-manager-user');\n\nmodule.exports = {\n auth,\n user,\n role,\n permissions,\n settings,\n contentmanageruser,\n};\n"],"names":["auth","require$$0","user","require$$1","role","require$$2","permissions","require$$3","settings","require$$4","contentmanageruser","require$$5","controllers"],"mappings":";;;;;;;;;;;;;;AAEA,IAAA,MAAMA,MAAOC,GAAAA,cAAAA,EAAAA;AACb,IAAA,MAAMC,MAAOC,GAAAA,cAAAA,EAAAA;AACb,IAAA,MAAMC,MAAOC,GAAAA,cAAAA,EAAAA;AACb,IAAA,MAAMC,aAAcC,GAAAA,qBAAAA,EAAAA;AACpB,IAAA,MAAMC,UAAWC,GAAAA,kBAAAA,EAAAA;AACjB,IAAA,MAAMC,kBAAqBC,GAAAA,4BAAAA,EAAAA;IAE3BC,WAAiB,GAAA;AACfZ,cAAAA,MAAAA;AACAE,cAAAA,MAAAA;AACAE,cAAAA,MAAAA;AACAE,qBAAAA,aAAAA;AACAE,kBAAAA,UAAAA;AACAE,QAAAA;AACF,KAAA;;;;;;"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { __require as requireAuth } from './auth.mjs';
|
|
2
|
+
import { __require as requireUser } from './user.mjs';
|
|
3
|
+
import { __require as requireRole } from './role.mjs';
|
|
4
|
+
import { __require as requirePermissions } from './permissions.mjs';
|
|
5
|
+
import { __require as requireSettings } from './settings.mjs';
|
|
6
|
+
import { __require as requireContentManagerUser } from './content-manager-user.mjs';
|
|
7
|
+
|
|
8
|
+
var controllers;
|
|
9
|
+
var hasRequiredControllers;
|
|
10
|
+
function requireControllers() {
|
|
11
|
+
if (hasRequiredControllers) return controllers;
|
|
12
|
+
hasRequiredControllers = 1;
|
|
13
|
+
const auth = requireAuth();
|
|
14
|
+
const user = requireUser();
|
|
15
|
+
const role = requireRole();
|
|
16
|
+
const permissions = requirePermissions();
|
|
17
|
+
const settings = requireSettings();
|
|
18
|
+
const contentmanageruser = requireContentManagerUser();
|
|
19
|
+
controllers = {
|
|
20
|
+
auth,
|
|
21
|
+
user,
|
|
22
|
+
role,
|
|
23
|
+
permissions,
|
|
24
|
+
settings,
|
|
25
|
+
contentmanageruser
|
|
26
|
+
};
|
|
27
|
+
return controllers;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export { requireControllers as __require };
|
|
31
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../server/controllers/index.js"],"sourcesContent":["'use strict';\n\nconst auth = require('./auth');\nconst user = require('./user');\nconst role = require('./role');\nconst permissions = require('./permissions');\nconst settings = require('./settings');\nconst contentmanageruser = require('./content-manager-user');\n\nmodule.exports = {\n auth,\n user,\n role,\n permissions,\n settings,\n contentmanageruser,\n};\n"],"names":["auth","require$$0","user","require$$1","role","require$$2","permissions","require$$3","settings","require$$4","contentmanageruser","require$$5","controllers"],"mappings":";;;;;;;;;;;;AAEA,IAAA,MAAMA,IAAOC,GAAAA,WAAAA,EAAAA;AACb,IAAA,MAAMC,IAAOC,GAAAA,WAAAA,EAAAA;AACb,IAAA,MAAMC,IAAOC,GAAAA,WAAAA,EAAAA;AACb,IAAA,MAAMC,WAAcC,GAAAA,kBAAAA,EAAAA;AACpB,IAAA,MAAMC,QAAWC,GAAAA,eAAAA,EAAAA;AACjB,IAAA,MAAMC,kBAAqBC,GAAAA,yBAAAA,EAAAA;IAE3BC,WAAiB,GAAA;AACfZ,QAAAA,IAAAA;AACAE,QAAAA,IAAAA;AACAE,QAAAA,IAAAA;AACAE,QAAAA,WAAAA;AACAE,QAAAA,QAAAA;AACAE,QAAAA;AACF,KAAA;;;;;;"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var require$$0 = require('lodash');
|
|
4
|
+
var index = require('../utils/index.js');
|
|
5
|
+
|
|
6
|
+
var permissions;
|
|
7
|
+
var hasRequiredPermissions;
|
|
8
|
+
function requirePermissions() {
|
|
9
|
+
if (hasRequiredPermissions) return permissions;
|
|
10
|
+
hasRequiredPermissions = 1;
|
|
11
|
+
const _ = require$$0;
|
|
12
|
+
const { getService } = index.__require();
|
|
13
|
+
permissions = {
|
|
14
|
+
async getPermissions (ctx) {
|
|
15
|
+
const permissions = await getService('users-permissions').getActions();
|
|
16
|
+
ctx.send({
|
|
17
|
+
permissions
|
|
18
|
+
});
|
|
19
|
+
},
|
|
20
|
+
async getPolicies (ctx) {
|
|
21
|
+
const policies = _.keys(strapi.plugin('users-permissions').policies);
|
|
22
|
+
ctx.send({
|
|
23
|
+
policies: _.without(policies, 'permissions')
|
|
24
|
+
});
|
|
25
|
+
},
|
|
26
|
+
async getRoutes (ctx) {
|
|
27
|
+
const routes = await getService('users-permissions').getRoutes();
|
|
28
|
+
ctx.send({
|
|
29
|
+
routes
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
return permissions;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
exports.__require = requirePermissions;
|
|
37
|
+
//# sourceMappingURL=permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.js","sources":["../../../server/controllers/permissions.js"],"sourcesContent":["'use strict';\n\nconst _ = require('lodash');\nconst { getService } = require('../utils');\n\nmodule.exports = {\n async getPermissions(ctx) {\n const permissions = await getService('users-permissions').getActions();\n\n ctx.send({ permissions });\n },\n\n async getPolicies(ctx) {\n const policies = _.keys(strapi.plugin('users-permissions').policies);\n\n ctx.send({\n policies: _.without(policies, 'permissions'),\n });\n },\n\n async getRoutes(ctx) {\n const routes = await getService('users-permissions').getRoutes();\n\n ctx.send({ routes });\n },\n};\n"],"names":["_","require$$0","getService","require$$1","permissions","getPermissions","ctx","getActions","send","getPolicies","policies","keys","strapi","plugin","without","getRoutes","routes"],"mappings":";;;;;;;;;;AAEA,IAAA,MAAMA,CAAIC,GAAAA,UAAAA;IACV,MAAM,EAAEC,UAAU,EAAE,GAAGC,eAAAA,EAAAA;IAEvBC,WAAiB,GAAA;AACf,QAAA,MAAMC,gBAAeC,GAAG,EAAA;AACtB,YAAA,MAAMF,WAAc,GAAA,MAAMF,UAAW,CAAA,mBAAA,CAAA,CAAqBK,UAAU,EAAA;AAEpED,YAAAA,GAAAA,CAAIE,IAAI,CAAC;AAAEJ,gBAAAA;AAAW,aAAA,CAAA;AACvB,SAAA;AAED,QAAA,MAAMK,aAAYH,GAAG,EAAA;YACnB,MAAMI,QAAAA,GAAWV,EAAEW,IAAI,CAACC,OAAOC,MAAM,CAAC,qBAAqBH,QAAQ,CAAA;AAEnEJ,YAAAA,GAAAA,CAAIE,IAAI,CAAC;gBACPE,QAAUV,EAAAA,CAAAA,CAAEc,OAAO,CAACJ,QAAU,EAAA,aAAA;AACpC,aAAA,CAAA;AACG,SAAA;AAED,QAAA,MAAMK,WAAUT,GAAG,EAAA;AACjB,YAAA,MAAMU,MAAS,GAAA,MAAMd,UAAW,CAAA,mBAAA,CAAA,CAAqBa,SAAS,EAAA;AAE9DT,YAAAA,GAAAA,CAAIE,IAAI,CAAC;AAAEQ,gBAAAA;AAAM,aAAA,CAAA;AAClB;AACH,KAAA;;;;;;"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import require$$0 from 'lodash';
|
|
2
|
+
import { __require as requireUtils } from '../utils/index.mjs';
|
|
3
|
+
|
|
4
|
+
var permissions;
|
|
5
|
+
var hasRequiredPermissions;
|
|
6
|
+
function requirePermissions() {
|
|
7
|
+
if (hasRequiredPermissions) return permissions;
|
|
8
|
+
hasRequiredPermissions = 1;
|
|
9
|
+
const _ = require$$0;
|
|
10
|
+
const { getService } = requireUtils();
|
|
11
|
+
permissions = {
|
|
12
|
+
async getPermissions (ctx) {
|
|
13
|
+
const permissions = await getService('users-permissions').getActions();
|
|
14
|
+
ctx.send({
|
|
15
|
+
permissions
|
|
16
|
+
});
|
|
17
|
+
},
|
|
18
|
+
async getPolicies (ctx) {
|
|
19
|
+
const policies = _.keys(strapi.plugin('users-permissions').policies);
|
|
20
|
+
ctx.send({
|
|
21
|
+
policies: _.without(policies, 'permissions')
|
|
22
|
+
});
|
|
23
|
+
},
|
|
24
|
+
async getRoutes (ctx) {
|
|
25
|
+
const routes = await getService('users-permissions').getRoutes();
|
|
26
|
+
ctx.send({
|
|
27
|
+
routes
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
return permissions;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export { requirePermissions as __require };
|
|
35
|
+
//# sourceMappingURL=permissions.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.mjs","sources":["../../../server/controllers/permissions.js"],"sourcesContent":["'use strict';\n\nconst _ = require('lodash');\nconst { getService } = require('../utils');\n\nmodule.exports = {\n async getPermissions(ctx) {\n const permissions = await getService('users-permissions').getActions();\n\n ctx.send({ permissions });\n },\n\n async getPolicies(ctx) {\n const policies = _.keys(strapi.plugin('users-permissions').policies);\n\n ctx.send({\n policies: _.without(policies, 'permissions'),\n });\n },\n\n async getRoutes(ctx) {\n const routes = await getService('users-permissions').getRoutes();\n\n ctx.send({ routes });\n },\n};\n"],"names":["_","require$$0","getService","require$$1","permissions","getPermissions","ctx","getActions","send","getPolicies","policies","keys","strapi","plugin","without","getRoutes","routes"],"mappings":";;;;;;;;AAEA,IAAA,MAAMA,CAAIC,GAAAA,UAAAA;IACV,MAAM,EAAEC,UAAU,EAAE,GAAGC,YAAAA,EAAAA;IAEvBC,WAAiB,GAAA;AACf,QAAA,MAAMC,gBAAeC,GAAG,EAAA;AACtB,YAAA,MAAMF,WAAc,GAAA,MAAMF,UAAW,CAAA,mBAAA,CAAA,CAAqBK,UAAU,EAAA;AAEpED,YAAAA,GAAAA,CAAIE,IAAI,CAAC;AAAEJ,gBAAAA;AAAW,aAAA,CAAA;AACvB,SAAA;AAED,QAAA,MAAMK,aAAYH,GAAG,EAAA;YACnB,MAAMI,QAAAA,GAAWV,EAAEW,IAAI,CAACC,OAAOC,MAAM,CAAC,qBAAqBH,QAAQ,CAAA;AAEnEJ,YAAAA,GAAAA,CAAIE,IAAI,CAAC;gBACPE,QAAUV,EAAAA,CAAAA,CAAEc,OAAO,CAACJ,QAAU,EAAA,aAAA;AACpC,aAAA,CAAA;AACG,SAAA;AAED,QAAA,MAAMK,WAAUT,GAAG,EAAA;AACjB,YAAA,MAAMU,MAAS,GAAA,MAAMd,UAAW,CAAA,mBAAA,CAAA,CAAqBa,SAAS,EAAA;AAE9DT,YAAAA,GAAAA,CAAIE,IAAI,CAAC;AAAEQ,gBAAAA;AAAM,aAAA,CAAA;AAClB;AACH,KAAA;;;;;;"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var require$$0 = require('lodash');
|
|
4
|
+
var require$$1 = require('@strapi/utils');
|
|
5
|
+
var index = require('../utils/index.js');
|
|
6
|
+
var user = require('./validation/user.js');
|
|
7
|
+
|
|
8
|
+
var role;
|
|
9
|
+
var hasRequiredRole;
|
|
10
|
+
function requireRole() {
|
|
11
|
+
if (hasRequiredRole) return role;
|
|
12
|
+
hasRequiredRole = 1;
|
|
13
|
+
const _ = require$$0;
|
|
14
|
+
const { async, errors } = require$$1;
|
|
15
|
+
const { getService } = index.__require();
|
|
16
|
+
const { validateDeleteRoleBody } = user.__require();
|
|
17
|
+
const { ApplicationError, ValidationError } = errors;
|
|
18
|
+
const sanitizeOutput = async (role)=>{
|
|
19
|
+
const { sanitizeLocalizationFields } = strapi.plugin('i18n').service('sanitize');
|
|
20
|
+
const schema = strapi.getModel('plugin::users-permissions.role');
|
|
21
|
+
return async.pipe(sanitizeLocalizationFields(schema))(role);
|
|
22
|
+
};
|
|
23
|
+
role = {
|
|
24
|
+
/**
|
|
25
|
+
* Default action.
|
|
26
|
+
*
|
|
27
|
+
* @return {Object}
|
|
28
|
+
*/ async createRole (ctx) {
|
|
29
|
+
if (_.isEmpty(ctx.request.body)) {
|
|
30
|
+
throw new ValidationError('Request body cannot be empty');
|
|
31
|
+
}
|
|
32
|
+
await getService('role').createRole(ctx.request.body);
|
|
33
|
+
ctx.send({
|
|
34
|
+
ok: true
|
|
35
|
+
});
|
|
36
|
+
},
|
|
37
|
+
async findOne (ctx) {
|
|
38
|
+
const { id } = ctx.params;
|
|
39
|
+
const role = await getService('role').findOne(id);
|
|
40
|
+
if (!role) {
|
|
41
|
+
return ctx.notFound();
|
|
42
|
+
}
|
|
43
|
+
const safeRole = await sanitizeOutput(role);
|
|
44
|
+
ctx.send({
|
|
45
|
+
role: safeRole
|
|
46
|
+
});
|
|
47
|
+
},
|
|
48
|
+
async find (ctx) {
|
|
49
|
+
const roles = await getService('role').find();
|
|
50
|
+
const safeRoles = await Promise.all(roles.map(sanitizeOutput));
|
|
51
|
+
ctx.send({
|
|
52
|
+
roles: safeRoles
|
|
53
|
+
});
|
|
54
|
+
},
|
|
55
|
+
async updateRole (ctx) {
|
|
56
|
+
const roleID = ctx.params.role;
|
|
57
|
+
if (_.isEmpty(ctx.request.body)) {
|
|
58
|
+
throw new ValidationError('Request body cannot be empty');
|
|
59
|
+
}
|
|
60
|
+
await getService('role').updateRole(roleID, ctx.request.body);
|
|
61
|
+
ctx.send({
|
|
62
|
+
ok: true
|
|
63
|
+
});
|
|
64
|
+
},
|
|
65
|
+
async deleteRole (ctx) {
|
|
66
|
+
const roleID = ctx.params.role;
|
|
67
|
+
if (!roleID) {
|
|
68
|
+
await validateDeleteRoleBody(ctx.params);
|
|
69
|
+
}
|
|
70
|
+
// Fetch public role.
|
|
71
|
+
const publicRole = await strapi.db.query('plugin::users-permissions.role').findOne({
|
|
72
|
+
where: {
|
|
73
|
+
type: 'public'
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
const publicRoleID = publicRole.id;
|
|
77
|
+
// Prevent from removing the public role.
|
|
78
|
+
if (roleID.toString() === publicRoleID.toString()) {
|
|
79
|
+
throw new ApplicationError('Cannot delete public role');
|
|
80
|
+
}
|
|
81
|
+
await getService('role').deleteRole(roleID, publicRoleID);
|
|
82
|
+
ctx.send({
|
|
83
|
+
ok: true
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
return role;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
exports.__require = requireRole;
|
|
91
|
+
//# sourceMappingURL=role.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role.js","sources":["../../../server/controllers/role.js"],"sourcesContent":["'use strict';\n\nconst _ = require('lodash');\nconst { async, errors } = require('@strapi/utils');\nconst { getService } = require('../utils');\nconst { validateDeleteRoleBody } = require('./validation/user');\n\nconst { ApplicationError, ValidationError } = errors;\n\nconst sanitizeOutput = async (role) => {\n const { sanitizeLocalizationFields } = strapi.plugin('i18n').service('sanitize');\n const schema = strapi.getModel('plugin::users-permissions.role');\n\n return async.pipe(sanitizeLocalizationFields(schema))(role);\n};\n\nmodule.exports = {\n /**\n * Default action.\n *\n * @return {Object}\n */\n async createRole(ctx) {\n if (_.isEmpty(ctx.request.body)) {\n throw new ValidationError('Request body cannot be empty');\n }\n\n await getService('role').createRole(ctx.request.body);\n\n ctx.send({ ok: true });\n },\n\n async findOne(ctx) {\n const { id } = ctx.params;\n\n const role = await getService('role').findOne(id);\n\n if (!role) {\n return ctx.notFound();\n }\n\n const safeRole = await sanitizeOutput(role);\n\n ctx.send({ role: safeRole });\n },\n\n async find(ctx) {\n const roles = await getService('role').find();\n\n const safeRoles = await Promise.all(roles.map(sanitizeOutput));\n\n ctx.send({ roles: safeRoles });\n },\n\n async updateRole(ctx) {\n const roleID = ctx.params.role;\n\n if (_.isEmpty(ctx.request.body)) {\n throw new ValidationError('Request body cannot be empty');\n }\n\n await getService('role').updateRole(roleID, ctx.request.body);\n\n ctx.send({ ok: true });\n },\n\n async deleteRole(ctx) {\n const roleID = ctx.params.role;\n\n if (!roleID) {\n await validateDeleteRoleBody(ctx.params);\n }\n\n // Fetch public role.\n const publicRole = await strapi.db\n .query('plugin::users-permissions.role')\n .findOne({ where: { type: 'public' } });\n\n const publicRoleID = publicRole.id;\n\n // Prevent from removing the public role.\n if (roleID.toString() === publicRoleID.toString()) {\n throw new ApplicationError('Cannot delete public role');\n }\n\n await getService('role').deleteRole(roleID, publicRoleID);\n\n ctx.send({ ok: true });\n },\n};\n"],"names":["_","require$$0","async","errors","require$$1","getService","require$$2","validateDeleteRoleBody","require$$3","ApplicationError","ValidationError","sanitizeOutput","role","sanitizeLocalizationFields","strapi","plugin","service","schema","getModel","pipe","createRole","ctx","isEmpty","request","body","send","ok","findOne","id","params","notFound","safeRole","find","roles","safeRoles","Promise","all","map","updateRole","roleID","deleteRole","publicRole","db","query","where","type","publicRoleID","toString"],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import require$$0 from 'lodash';
|
|
2
|
+
import require$$1 from '@strapi/utils';
|
|
3
|
+
import { __require as requireUtils } from '../utils/index.mjs';
|
|
4
|
+
import { __require as requireUser } from './validation/user.mjs';
|
|
5
|
+
|
|
6
|
+
var role;
|
|
7
|
+
var hasRequiredRole;
|
|
8
|
+
function requireRole() {
|
|
9
|
+
if (hasRequiredRole) return role;
|
|
10
|
+
hasRequiredRole = 1;
|
|
11
|
+
const _ = require$$0;
|
|
12
|
+
const { async, errors } = require$$1;
|
|
13
|
+
const { getService } = requireUtils();
|
|
14
|
+
const { validateDeleteRoleBody } = requireUser();
|
|
15
|
+
const { ApplicationError, ValidationError } = errors;
|
|
16
|
+
const sanitizeOutput = async (role)=>{
|
|
17
|
+
const { sanitizeLocalizationFields } = strapi.plugin('i18n').service('sanitize');
|
|
18
|
+
const schema = strapi.getModel('plugin::users-permissions.role');
|
|
19
|
+
return async.pipe(sanitizeLocalizationFields(schema))(role);
|
|
20
|
+
};
|
|
21
|
+
role = {
|
|
22
|
+
/**
|
|
23
|
+
* Default action.
|
|
24
|
+
*
|
|
25
|
+
* @return {Object}
|
|
26
|
+
*/ async createRole (ctx) {
|
|
27
|
+
if (_.isEmpty(ctx.request.body)) {
|
|
28
|
+
throw new ValidationError('Request body cannot be empty');
|
|
29
|
+
}
|
|
30
|
+
await getService('role').createRole(ctx.request.body);
|
|
31
|
+
ctx.send({
|
|
32
|
+
ok: true
|
|
33
|
+
});
|
|
34
|
+
},
|
|
35
|
+
async findOne (ctx) {
|
|
36
|
+
const { id } = ctx.params;
|
|
37
|
+
const role = await getService('role').findOne(id);
|
|
38
|
+
if (!role) {
|
|
39
|
+
return ctx.notFound();
|
|
40
|
+
}
|
|
41
|
+
const safeRole = await sanitizeOutput(role);
|
|
42
|
+
ctx.send({
|
|
43
|
+
role: safeRole
|
|
44
|
+
});
|
|
45
|
+
},
|
|
46
|
+
async find (ctx) {
|
|
47
|
+
const roles = await getService('role').find();
|
|
48
|
+
const safeRoles = await Promise.all(roles.map(sanitizeOutput));
|
|
49
|
+
ctx.send({
|
|
50
|
+
roles: safeRoles
|
|
51
|
+
});
|
|
52
|
+
},
|
|
53
|
+
async updateRole (ctx) {
|
|
54
|
+
const roleID = ctx.params.role;
|
|
55
|
+
if (_.isEmpty(ctx.request.body)) {
|
|
56
|
+
throw new ValidationError('Request body cannot be empty');
|
|
57
|
+
}
|
|
58
|
+
await getService('role').updateRole(roleID, ctx.request.body);
|
|
59
|
+
ctx.send({
|
|
60
|
+
ok: true
|
|
61
|
+
});
|
|
62
|
+
},
|
|
63
|
+
async deleteRole (ctx) {
|
|
64
|
+
const roleID = ctx.params.role;
|
|
65
|
+
if (!roleID) {
|
|
66
|
+
await validateDeleteRoleBody(ctx.params);
|
|
67
|
+
}
|
|
68
|
+
// Fetch public role.
|
|
69
|
+
const publicRole = await strapi.db.query('plugin::users-permissions.role').findOne({
|
|
70
|
+
where: {
|
|
71
|
+
type: 'public'
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
const publicRoleID = publicRole.id;
|
|
75
|
+
// Prevent from removing the public role.
|
|
76
|
+
if (roleID.toString() === publicRoleID.toString()) {
|
|
77
|
+
throw new ApplicationError('Cannot delete public role');
|
|
78
|
+
}
|
|
79
|
+
await getService('role').deleteRole(roleID, publicRoleID);
|
|
80
|
+
ctx.send({
|
|
81
|
+
ok: true
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
return role;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export { requireRole as __require };
|
|
89
|
+
//# sourceMappingURL=role.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role.mjs","sources":["../../../server/controllers/role.js"],"sourcesContent":["'use strict';\n\nconst _ = require('lodash');\nconst { async, errors } = require('@strapi/utils');\nconst { getService } = require('../utils');\nconst { validateDeleteRoleBody } = require('./validation/user');\n\nconst { ApplicationError, ValidationError } = errors;\n\nconst sanitizeOutput = async (role) => {\n const { sanitizeLocalizationFields } = strapi.plugin('i18n').service('sanitize');\n const schema = strapi.getModel('plugin::users-permissions.role');\n\n return async.pipe(sanitizeLocalizationFields(schema))(role);\n};\n\nmodule.exports = {\n /**\n * Default action.\n *\n * @return {Object}\n */\n async createRole(ctx) {\n if (_.isEmpty(ctx.request.body)) {\n throw new ValidationError('Request body cannot be empty');\n }\n\n await getService('role').createRole(ctx.request.body);\n\n ctx.send({ ok: true });\n },\n\n async findOne(ctx) {\n const { id } = ctx.params;\n\n const role = await getService('role').findOne(id);\n\n if (!role) {\n return ctx.notFound();\n }\n\n const safeRole = await sanitizeOutput(role);\n\n ctx.send({ role: safeRole });\n },\n\n async find(ctx) {\n const roles = await getService('role').find();\n\n const safeRoles = await Promise.all(roles.map(sanitizeOutput));\n\n ctx.send({ roles: safeRoles });\n },\n\n async updateRole(ctx) {\n const roleID = ctx.params.role;\n\n if (_.isEmpty(ctx.request.body)) {\n throw new ValidationError('Request body cannot be empty');\n }\n\n await getService('role').updateRole(roleID, ctx.request.body);\n\n ctx.send({ ok: true });\n },\n\n async deleteRole(ctx) {\n const roleID = ctx.params.role;\n\n if (!roleID) {\n await validateDeleteRoleBody(ctx.params);\n }\n\n // Fetch public role.\n const publicRole = await strapi.db\n .query('plugin::users-permissions.role')\n .findOne({ where: { type: 'public' } });\n\n const publicRoleID = publicRole.id;\n\n // Prevent from removing the public role.\n if (roleID.toString() === publicRoleID.toString()) {\n throw new ApplicationError('Cannot delete public role');\n }\n\n await getService('role').deleteRole(roleID, publicRoleID);\n\n ctx.send({ ok: true });\n },\n};\n"],"names":["_","require$$0","async","errors","require$$1","getService","require$$2","validateDeleteRoleBody","require$$3","ApplicationError","ValidationError","sanitizeOutput","role","sanitizeLocalizationFields","strapi","plugin","service","schema","getModel","pipe","createRole","ctx","isEmpty","request","body","send","ok","findOne","id","params","notFound","safeRole","find","roles","safeRoles","Promise","all","map","updateRole","roleID","deleteRole","publicRole","db","query","where","type","publicRoleID","toString"],"mappings":"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"}
|