@strapi/plugin-users-permissions 5.37.0 → 5.38.0

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.
Files changed (253) hide show
  1. package/dist/admin/components/BoundRoute/getMethodColor.js.map +1 -1
  2. package/dist/admin/components/BoundRoute/getMethodColor.mjs.map +1 -1
  3. package/dist/admin/components/BoundRoute/index.js.map +1 -1
  4. package/dist/admin/components/BoundRoute/index.mjs +1 -1
  5. package/dist/admin/components/BoundRoute/index.mjs.map +1 -1
  6. package/dist/admin/components/FormModal/Input/index.js.map +1 -1
  7. package/dist/admin/components/FormModal/Input/index.mjs.map +1 -1
  8. package/dist/admin/components/FormModal/index.js.map +1 -1
  9. package/dist/admin/components/FormModal/index.mjs.map +1 -1
  10. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.js.map +1 -1
  11. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.mjs +1 -1
  12. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.mjs.map +1 -1
  13. package/dist/admin/components/Permissions/PermissionRow/SubCategory.js.map +1 -1
  14. package/dist/admin/components/Permissions/PermissionRow/SubCategory.mjs.map +1 -1
  15. package/dist/admin/components/Permissions/PermissionRow/index.js.map +1 -1
  16. package/dist/admin/components/Permissions/PermissionRow/index.mjs.map +1 -1
  17. package/dist/admin/components/Permissions/index.js.map +1 -1
  18. package/dist/admin/components/Permissions/index.mjs.map +1 -1
  19. package/dist/admin/components/Permissions/init.js.map +1 -1
  20. package/dist/admin/components/Permissions/init.mjs.map +1 -1
  21. package/dist/admin/components/Permissions/reducer.js.map +1 -1
  22. package/dist/admin/components/Permissions/reducer.mjs.map +1 -1
  23. package/dist/admin/components/Policies/index.js.map +1 -1
  24. package/dist/admin/components/Policies/index.mjs.map +1 -1
  25. package/dist/admin/components/UsersPermissions/index.js.map +1 -1
  26. package/dist/admin/components/UsersPermissions/index.mjs +5 -5
  27. package/dist/admin/components/UsersPermissions/index.mjs.map +1 -1
  28. package/dist/admin/components/UsersPermissions/init.js.map +1 -1
  29. package/dist/admin/components/UsersPermissions/init.mjs.map +1 -1
  30. package/dist/admin/components/UsersPermissions/reducer.js.map +1 -1
  31. package/dist/admin/components/UsersPermissions/reducer.mjs.map +1 -1
  32. package/dist/admin/constants.js.map +1 -1
  33. package/dist/admin/constants.mjs.map +1 -1
  34. package/dist/admin/contexts/UsersPermissionsContext/index.js.map +1 -1
  35. package/dist/admin/contexts/UsersPermissionsContext/index.mjs.map +1 -1
  36. package/dist/admin/index.js.map +1 -1
  37. package/dist/admin/index.mjs.map +1 -1
  38. package/dist/admin/package.json.js +1 -6
  39. package/dist/admin/package.json.js.map +1 -1
  40. package/dist/admin/package.json.mjs +1 -6
  41. package/dist/admin/package.json.mjs.map +1 -1
  42. package/dist/admin/pages/AdvancedSettings/index.js.map +1 -1
  43. package/dist/admin/pages/AdvancedSettings/index.mjs.map +1 -1
  44. package/dist/admin/pages/AdvancedSettings/utils/layout.js.map +1 -1
  45. package/dist/admin/pages/AdvancedSettings/utils/layout.mjs.map +1 -1
  46. package/dist/admin/pages/AdvancedSettings/utils/schema.js.map +1 -1
  47. package/dist/admin/pages/AdvancedSettings/utils/schema.mjs.map +1 -1
  48. package/dist/admin/pages/EmailTemplates/components/EmailForm.js.map +1 -1
  49. package/dist/admin/pages/EmailTemplates/components/EmailForm.mjs.map +1 -1
  50. package/dist/admin/pages/EmailTemplates/components/EmailTable.js.map +1 -1
  51. package/dist/admin/pages/EmailTemplates/components/EmailTable.mjs.map +1 -1
  52. package/dist/admin/pages/EmailTemplates/index.js.map +1 -1
  53. package/dist/admin/pages/EmailTemplates/index.mjs.map +1 -1
  54. package/dist/admin/pages/EmailTemplates/utils/schema.js.map +1 -1
  55. package/dist/admin/pages/EmailTemplates/utils/schema.mjs.map +1 -1
  56. package/dist/admin/pages/Providers/index.js.map +1 -1
  57. package/dist/admin/pages/Providers/index.mjs.map +1 -1
  58. package/dist/admin/pages/Providers/utils/forms.js.map +1 -1
  59. package/dist/admin/pages/Providers/utils/forms.mjs.map +1 -1
  60. package/dist/admin/pages/Roles/constants.js.map +1 -1
  61. package/dist/admin/pages/Roles/constants.mjs.map +1 -1
  62. package/dist/admin/pages/Roles/hooks/usePlugins.js.map +1 -1
  63. package/dist/admin/pages/Roles/hooks/usePlugins.mjs.map +1 -1
  64. package/dist/admin/pages/Roles/index.js.map +1 -1
  65. package/dist/admin/pages/Roles/index.mjs.map +1 -1
  66. package/dist/admin/pages/Roles/pages/CreatePage.js.map +1 -1
  67. package/dist/admin/pages/Roles/pages/CreatePage.mjs +1 -1
  68. package/dist/admin/pages/Roles/pages/CreatePage.mjs.map +1 -1
  69. package/dist/admin/pages/Roles/pages/EditPage.js.map +1 -1
  70. package/dist/admin/pages/Roles/pages/EditPage.mjs +1 -1
  71. package/dist/admin/pages/Roles/pages/EditPage.mjs.map +1 -1
  72. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.js.map +1 -1
  73. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.mjs +1 -1
  74. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.mjs.map +1 -1
  75. package/dist/admin/pages/Roles/pages/ListPage/index.js.map +1 -1
  76. package/dist/admin/pages/Roles/pages/ListPage/index.mjs.map +1 -1
  77. package/dist/admin/pluginId.js.map +1 -1
  78. package/dist/admin/pluginId.mjs.map +1 -1
  79. package/dist/admin/utils/cleanPermissions.js.map +1 -1
  80. package/dist/admin/utils/cleanPermissions.mjs.map +1 -1
  81. package/dist/admin/utils/formatPluginName.js.map +1 -1
  82. package/dist/admin/utils/formatPluginName.mjs.map +1 -1
  83. package/dist/admin/utils/getTrad.js.map +1 -1
  84. package/dist/admin/utils/getTrad.mjs.map +1 -1
  85. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -1
  86. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -1
  87. package/dist/server/bootstrap/index.js.map +1 -1
  88. package/dist/server/bootstrap/index.mjs.map +1 -1
  89. package/dist/server/bootstrap/users-permissions-actions.js.map +1 -1
  90. package/dist/server/bootstrap/users-permissions-actions.mjs.map +1 -1
  91. package/dist/server/config.js.map +1 -1
  92. package/dist/server/config.mjs.map +1 -1
  93. package/dist/server/content-types/index.js +4 -4
  94. package/dist/server/content-types/index.js.map +1 -1
  95. package/dist/server/content-types/index.mjs.map +1 -1
  96. package/dist/server/content-types/permission/index.js.map +1 -1
  97. package/dist/server/content-types/permission/index.mjs.map +1 -1
  98. package/dist/server/content-types/role/index.js.map +1 -1
  99. package/dist/server/content-types/role/index.mjs.map +1 -1
  100. package/dist/server/content-types/user/index.js.map +1 -1
  101. package/dist/server/content-types/user/index.mjs.map +1 -1
  102. package/dist/server/content-types/user/schema-config.js.map +1 -1
  103. package/dist/server/content-types/user/schema-config.mjs.map +1 -1
  104. package/dist/server/controllers/auth.js +4 -4
  105. package/dist/server/controllers/auth.js.map +1 -1
  106. package/dist/server/controllers/auth.mjs +4 -4
  107. package/dist/server/controllers/auth.mjs.map +1 -1
  108. package/dist/server/controllers/content-manager-user.js.map +1 -1
  109. package/dist/server/controllers/content-manager-user.mjs.map +1 -1
  110. package/dist/server/controllers/index.js.map +1 -1
  111. package/dist/server/controllers/index.mjs.map +1 -1
  112. package/dist/server/controllers/permissions.js.map +1 -1
  113. package/dist/server/controllers/permissions.mjs.map +1 -1
  114. package/dist/server/controllers/role.js.map +1 -1
  115. package/dist/server/controllers/role.mjs.map +1 -1
  116. package/dist/server/controllers/settings.js.map +1 -1
  117. package/dist/server/controllers/settings.mjs.map +1 -1
  118. package/dist/server/controllers/user.js.map +1 -1
  119. package/dist/server/controllers/user.mjs.map +1 -1
  120. package/dist/server/controllers/validation/auth.js.map +1 -1
  121. package/dist/server/controllers/validation/auth.mjs.map +1 -1
  122. package/dist/server/controllers/validation/email-template.js.map +1 -1
  123. package/dist/server/controllers/validation/email-template.mjs.map +1 -1
  124. package/dist/server/controllers/validation/user.js.map +1 -1
  125. package/dist/server/controllers/validation/user.mjs.map +1 -1
  126. package/dist/server/graphql/index.js.map +1 -1
  127. package/dist/server/graphql/index.mjs.map +1 -1
  128. package/dist/server/graphql/mutations/auth/change-password.js.map +1 -1
  129. package/dist/server/graphql/mutations/auth/change-password.mjs.map +1 -1
  130. package/dist/server/graphql/mutations/auth/email-confirmation.js.map +1 -1
  131. package/dist/server/graphql/mutations/auth/email-confirmation.mjs.map +1 -1
  132. package/dist/server/graphql/mutations/auth/forgot-password.js.map +1 -1
  133. package/dist/server/graphql/mutations/auth/forgot-password.mjs.map +1 -1
  134. package/dist/server/graphql/mutations/auth/login.js.map +1 -1
  135. package/dist/server/graphql/mutations/auth/login.mjs.map +1 -1
  136. package/dist/server/graphql/mutations/auth/register.js.map +1 -1
  137. package/dist/server/graphql/mutations/auth/register.mjs.map +1 -1
  138. package/dist/server/graphql/mutations/auth/reset-password.js.map +1 -1
  139. package/dist/server/graphql/mutations/auth/reset-password.mjs.map +1 -1
  140. package/dist/server/graphql/mutations/crud/role/create-role.js.map +1 -1
  141. package/dist/server/graphql/mutations/crud/role/create-role.mjs.map +1 -1
  142. package/dist/server/graphql/mutations/crud/role/delete-role.js.map +1 -1
  143. package/dist/server/graphql/mutations/crud/role/delete-role.mjs.map +1 -1
  144. package/dist/server/graphql/mutations/crud/role/update-role.js.map +1 -1
  145. package/dist/server/graphql/mutations/crud/role/update-role.mjs.map +1 -1
  146. package/dist/server/graphql/mutations/crud/user/create-user.js.map +1 -1
  147. package/dist/server/graphql/mutations/crud/user/create-user.mjs.map +1 -1
  148. package/dist/server/graphql/mutations/crud/user/delete-user.js.map +1 -1
  149. package/dist/server/graphql/mutations/crud/user/delete-user.mjs.map +1 -1
  150. package/dist/server/graphql/mutations/crud/user/update-user.js.map +1 -1
  151. package/dist/server/graphql/mutations/crud/user/update-user.mjs.map +1 -1
  152. package/dist/server/graphql/mutations/index.js.map +1 -1
  153. package/dist/server/graphql/mutations/index.mjs.map +1 -1
  154. package/dist/server/graphql/queries/index.js.map +1 -1
  155. package/dist/server/graphql/queries/index.mjs.map +1 -1
  156. package/dist/server/graphql/queries/me.js.map +1 -1
  157. package/dist/server/graphql/queries/me.mjs.map +1 -1
  158. package/dist/server/graphql/resolvers-configs.js.map +1 -1
  159. package/dist/server/graphql/resolvers-configs.mjs.map +1 -1
  160. package/dist/server/graphql/types/create-role-payload.js.map +1 -1
  161. package/dist/server/graphql/types/create-role-payload.mjs.map +1 -1
  162. package/dist/server/graphql/types/delete-role-payload.js.map +1 -1
  163. package/dist/server/graphql/types/delete-role-payload.mjs.map +1 -1
  164. package/dist/server/graphql/types/index.js.map +1 -1
  165. package/dist/server/graphql/types/index.mjs.map +1 -1
  166. package/dist/server/graphql/types/login-input.js.map +1 -1
  167. package/dist/server/graphql/types/login-input.mjs.map +1 -1
  168. package/dist/server/graphql/types/login-payload.js.map +1 -1
  169. package/dist/server/graphql/types/login-payload.mjs.map +1 -1
  170. package/dist/server/graphql/types/me-role.js.map +1 -1
  171. package/dist/server/graphql/types/me-role.mjs.map +1 -1
  172. package/dist/server/graphql/types/me.js.map +1 -1
  173. package/dist/server/graphql/types/me.mjs.map +1 -1
  174. package/dist/server/graphql/types/password-payload.js.map +1 -1
  175. package/dist/server/graphql/types/password-payload.mjs.map +1 -1
  176. package/dist/server/graphql/types/register-input.js.map +1 -1
  177. package/dist/server/graphql/types/register-input.mjs.map +1 -1
  178. package/dist/server/graphql/types/update-role-payload.js.map +1 -1
  179. package/dist/server/graphql/types/update-role-payload.mjs.map +1 -1
  180. package/dist/server/graphql/types/user-input.js.map +1 -1
  181. package/dist/server/graphql/types/user-input.mjs.map +1 -1
  182. package/dist/server/graphql/utils.js.map +1 -1
  183. package/dist/server/graphql/utils.mjs.map +1 -1
  184. package/dist/server/index.js.map +1 -1
  185. package/dist/server/index.mjs.map +1 -1
  186. package/dist/server/index2.js.map +1 -1
  187. package/dist/server/index2.mjs.map +1 -1
  188. package/dist/server/middlewares/index.js.map +1 -1
  189. package/dist/server/middlewares/index.mjs.map +1 -1
  190. package/dist/server/middlewares/rateLimit.js +4 -4
  191. package/dist/server/middlewares/rateLimit.js.map +1 -1
  192. package/dist/server/middlewares/rateLimit.mjs +4 -4
  193. package/dist/server/middlewares/rateLimit.mjs.map +1 -1
  194. package/dist/server/register.js.map +1 -1
  195. package/dist/server/register.mjs.map +1 -1
  196. package/dist/server/routes/admin/index.js.map +1 -1
  197. package/dist/server/routes/admin/index.mjs.map +1 -1
  198. package/dist/server/routes/admin/permissions.js.map +1 -1
  199. package/dist/server/routes/admin/permissions.mjs.map +1 -1
  200. package/dist/server/routes/admin/role.js.map +1 -1
  201. package/dist/server/routes/admin/role.mjs.map +1 -1
  202. package/dist/server/routes/admin/settings.js.map +1 -1
  203. package/dist/server/routes/admin/settings.mjs.map +1 -1
  204. package/dist/server/routes/content-api/auth.js.map +1 -1
  205. package/dist/server/routes/content-api/auth.mjs.map +1 -1
  206. package/dist/server/routes/content-api/index.js.map +1 -1
  207. package/dist/server/routes/content-api/index.mjs.map +1 -1
  208. package/dist/server/routes/content-api/permissions.js.map +1 -1
  209. package/dist/server/routes/content-api/permissions.mjs.map +1 -1
  210. package/dist/server/routes/content-api/role.js.map +1 -1
  211. package/dist/server/routes/content-api/role.mjs.map +1 -1
  212. package/dist/server/routes/content-api/user.js.map +1 -1
  213. package/dist/server/routes/content-api/user.mjs.map +1 -1
  214. package/dist/server/routes/content-api/validation.js.map +1 -1
  215. package/dist/server/routes/content-api/validation.mjs.map +1 -1
  216. package/dist/server/routes/index.js +4 -4
  217. package/dist/server/routes/index.js.map +1 -1
  218. package/dist/server/routes/index.mjs.map +1 -1
  219. package/dist/server/services/constants.js.map +1 -1
  220. package/dist/server/services/constants.mjs.map +1 -1
  221. package/dist/server/services/index.js.map +1 -1
  222. package/dist/server/services/index.mjs.map +1 -1
  223. package/dist/server/services/jwt.js.map +1 -1
  224. package/dist/server/services/jwt.mjs.map +1 -1
  225. package/dist/server/services/permission.js.map +1 -1
  226. package/dist/server/services/permission.mjs.map +1 -1
  227. package/dist/server/services/providers-registry.js.map +1 -1
  228. package/dist/server/services/providers-registry.mjs.map +1 -1
  229. package/dist/server/services/providers.js.map +1 -1
  230. package/dist/server/services/providers.mjs.map +1 -1
  231. package/dist/server/services/role.js.map +1 -1
  232. package/dist/server/services/role.mjs.map +1 -1
  233. package/dist/server/services/user.js +8 -8
  234. package/dist/server/services/user.js.map +1 -1
  235. package/dist/server/services/user.mjs +8 -8
  236. package/dist/server/services/user.mjs.map +1 -1
  237. package/dist/server/services/users-permissions.js +4 -4
  238. package/dist/server/services/users-permissions.js.map +1 -1
  239. package/dist/server/services/users-permissions.mjs +4 -4
  240. package/dist/server/services/users-permissions.mjs.map +1 -1
  241. package/dist/server/strategies/users-permissions.js.map +1 -1
  242. package/dist/server/strategies/users-permissions.mjs.map +1 -1
  243. package/dist/server/utils/index.js.map +1 -1
  244. package/dist/server/utils/index.mjs.map +1 -1
  245. package/dist/server/utils/sanitize/index.js.map +1 -1
  246. package/dist/server/utils/sanitize/index.mjs.map +1 -1
  247. package/dist/server/utils/sanitize/sanitizers.js.map +1 -1
  248. package/dist/server/utils/sanitize/sanitizers.mjs.map +1 -1
  249. package/dist/server/utils/sanitize/visitors/index.js.map +1 -1
  250. package/dist/server/utils/sanitize/visitors/index.mjs.map +1 -1
  251. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js.map +1 -1
  252. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.mjs.map +1 -1
  253. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"users-permissions.js","sources":["../../../server/strategies/users-permissions.js"],"sourcesContent":["'use strict';\n\nconst { castArray, map, every, pipe } = require('lodash/fp');\nconst { ForbiddenError, UnauthorizedError } = require('@strapi/utils').errors;\n\nconst { getService } = require('../utils');\n\nconst getAdvancedSettings = () => {\n return strapi.store({ type: 'plugin', name: 'users-permissions' }).get({ key: 'advanced' });\n};\n\nconst authenticate = async (ctx) => {\n try {\n const token = await getService('jwt').getToken(ctx);\n\n if (token) {\n const { id } = token;\n\n // Invalid token\n if (id === undefined) {\n return { authenticated: false };\n }\n\n const user = await getService('user').fetchAuthenticatedUser(id);\n\n // No user associated to the token\n if (!user) {\n return { error: 'Invalid credentials' };\n }\n\n const advancedSettings = await getAdvancedSettings();\n\n // User not confirmed\n if (advancedSettings.email_confirmation && !user.confirmed) {\n return { error: 'Invalid credentials' };\n }\n\n // User blocked\n if (user.blocked) {\n return { error: 'Invalid credentials' };\n }\n\n // Fetch user's permissions\n const permissions = await Promise.resolve(user.role.id)\n .then(getService('permission').findRolePermissions)\n .then(map(getService('permission').toContentAPIPermission));\n\n // Generate an ability (content API engine) based on the given permissions\n const ability = await strapi.contentAPI.permissions.engine.generateAbility(permissions);\n\n ctx.state.user = user;\n\n return {\n authenticated: true,\n credentials: user,\n ability,\n };\n }\n\n const publicPermissions = await getService('permission')\n .findPublicPermissions()\n .then(map(getService('permission').toContentAPIPermission));\n\n if (publicPermissions.length === 0) {\n return { authenticated: false };\n }\n\n const ability = await strapi.contentAPI.permissions.engine.generateAbility(publicPermissions);\n\n return {\n authenticated: true,\n credentials: null,\n ability,\n };\n } catch (err) {\n return { authenticated: false };\n }\n};\n\nconst verify = async (auth, config) => {\n const { credentials: user, ability } = auth;\n\n if (!config.scope) {\n if (!user) {\n // A non authenticated user cannot access routes that do not have a scope\n throw new UnauthorizedError();\n } else {\n // An authenticated user can access non scoped routes\n return;\n }\n }\n\n // If no ability have been generated, then consider auth is missing\n if (!ability) {\n throw new UnauthorizedError();\n }\n\n const isAllowed = pipe(\n // Make sure we're dealing with an array\n castArray,\n // Transform the scope array into an action array\n every((scope) => ability.can(scope))\n )(config.scope);\n\n if (!isAllowed) {\n throw new ForbiddenError();\n }\n};\n\nmodule.exports = {\n name: 'users-permissions',\n authenticate,\n verify,\n};\n"],"names":["castArray","map","every","pipe","require$$0","ForbiddenError","UnauthorizedError","require$$1","errors","getService","require$$2","getAdvancedSettings","strapi","store","type","name","get","key","authenticate","ctx","token","getToken","id","undefined","authenticated","user","fetchAuthenticatedUser","error","advancedSettings","email_confirmation","confirmed","blocked","permissions","Promise","resolve","role","then","findRolePermissions","toContentAPIPermission","ability","contentAPI","engine","generateAbility","state","credentials","publicPermissions","findPublicPermissions","length","err","verify","auth","config","scope","isAllowed","can","usersPermissions"],"mappings":"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"}
1
+ {"version":3,"file":"users-permissions.js","sources":["../../../server/strategies/users-permissions.js"],"sourcesContent":["'use strict';\n\nconst { castArray, map, every, pipe } = require('lodash/fp');\nconst { ForbiddenError, UnauthorizedError } = require('@strapi/utils').errors;\n\nconst { getService } = require('../utils');\n\nconst getAdvancedSettings = () => {\n return strapi.store({ type: 'plugin', name: 'users-permissions' }).get({ key: 'advanced' });\n};\n\nconst authenticate = async (ctx) => {\n try {\n const token = await getService('jwt').getToken(ctx);\n\n if (token) {\n const { id } = token;\n\n // Invalid token\n if (id === undefined) {\n return { authenticated: false };\n }\n\n const user = await getService('user').fetchAuthenticatedUser(id);\n\n // No user associated to the token\n if (!user) {\n return { error: 'Invalid credentials' };\n }\n\n const advancedSettings = await getAdvancedSettings();\n\n // User not confirmed\n if (advancedSettings.email_confirmation && !user.confirmed) {\n return { error: 'Invalid credentials' };\n }\n\n // User blocked\n if (user.blocked) {\n return { error: 'Invalid credentials' };\n }\n\n // Fetch user's permissions\n const permissions = await Promise.resolve(user.role.id)\n .then(getService('permission').findRolePermissions)\n .then(map(getService('permission').toContentAPIPermission));\n\n // Generate an ability (content API engine) based on the given permissions\n const ability = await strapi.contentAPI.permissions.engine.generateAbility(permissions);\n\n ctx.state.user = user;\n\n return {\n authenticated: true,\n credentials: user,\n ability,\n };\n }\n\n const publicPermissions = await getService('permission')\n .findPublicPermissions()\n .then(map(getService('permission').toContentAPIPermission));\n\n if (publicPermissions.length === 0) {\n return { authenticated: false };\n }\n\n const ability = await strapi.contentAPI.permissions.engine.generateAbility(publicPermissions);\n\n return {\n authenticated: true,\n credentials: null,\n ability,\n };\n } catch (err) {\n return { authenticated: false };\n }\n};\n\nconst verify = async (auth, config) => {\n const { credentials: user, ability } = auth;\n\n if (!config.scope) {\n if (!user) {\n // A non authenticated user cannot access routes that do not have a scope\n throw new UnauthorizedError();\n } else {\n // An authenticated user can access non scoped routes\n return;\n }\n }\n\n // If no ability have been generated, then consider auth is missing\n if (!ability) {\n throw new UnauthorizedError();\n }\n\n const isAllowed = pipe(\n // Make sure we're dealing with an array\n castArray,\n // Transform the scope array into an action array\n every((scope) => ability.can(scope))\n )(config.scope);\n\n if (!isAllowed) {\n throw new ForbiddenError();\n }\n};\n\nmodule.exports = {\n name: 'users-permissions',\n authenticate,\n verify,\n};\n"],"names":["castArray","map","every","pipe","require$$0","ForbiddenError","UnauthorizedError","require$$1","errors","getService","require$$2","getAdvancedSettings","strapi","store","type","name","get","key","authenticate","ctx","token","getToken","id","undefined","authenticated","user","fetchAuthenticatedUser","error","advancedSettings","email_confirmation","confirmed","blocked","permissions","Promise","resolve","role","then","findRolePermissions","toContentAPIPermission","ability","contentAPI","engine","generateAbility","state","credentials","publicPermissions","findPublicPermissions","length","err","verify","auth","config","scope","isAllowed","can","usersPermissions"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"users-permissions.mjs","sources":["../../../server/strategies/users-permissions.js"],"sourcesContent":["'use strict';\n\nconst { castArray, map, every, pipe } = require('lodash/fp');\nconst { ForbiddenError, UnauthorizedError } = require('@strapi/utils').errors;\n\nconst { getService } = require('../utils');\n\nconst getAdvancedSettings = () => {\n return strapi.store({ type: 'plugin', name: 'users-permissions' }).get({ key: 'advanced' });\n};\n\nconst authenticate = async (ctx) => {\n try {\n const token = await getService('jwt').getToken(ctx);\n\n if (token) {\n const { id } = token;\n\n // Invalid token\n if (id === undefined) {\n return { authenticated: false };\n }\n\n const user = await getService('user').fetchAuthenticatedUser(id);\n\n // No user associated to the token\n if (!user) {\n return { error: 'Invalid credentials' };\n }\n\n const advancedSettings = await getAdvancedSettings();\n\n // User not confirmed\n if (advancedSettings.email_confirmation && !user.confirmed) {\n return { error: 'Invalid credentials' };\n }\n\n // User blocked\n if (user.blocked) {\n return { error: 'Invalid credentials' };\n }\n\n // Fetch user's permissions\n const permissions = await Promise.resolve(user.role.id)\n .then(getService('permission').findRolePermissions)\n .then(map(getService('permission').toContentAPIPermission));\n\n // Generate an ability (content API engine) based on the given permissions\n const ability = await strapi.contentAPI.permissions.engine.generateAbility(permissions);\n\n ctx.state.user = user;\n\n return {\n authenticated: true,\n credentials: user,\n ability,\n };\n }\n\n const publicPermissions = await getService('permission')\n .findPublicPermissions()\n .then(map(getService('permission').toContentAPIPermission));\n\n if (publicPermissions.length === 0) {\n return { authenticated: false };\n }\n\n const ability = await strapi.contentAPI.permissions.engine.generateAbility(publicPermissions);\n\n return {\n authenticated: true,\n credentials: null,\n ability,\n };\n } catch (err) {\n return { authenticated: false };\n }\n};\n\nconst verify = async (auth, config) => {\n const { credentials: user, ability } = auth;\n\n if (!config.scope) {\n if (!user) {\n // A non authenticated user cannot access routes that do not have a scope\n throw new UnauthorizedError();\n } else {\n // An authenticated user can access non scoped routes\n return;\n }\n }\n\n // If no ability have been generated, then consider auth is missing\n if (!ability) {\n throw new UnauthorizedError();\n }\n\n const isAllowed = pipe(\n // Make sure we're dealing with an array\n castArray,\n // Transform the scope array into an action array\n every((scope) => ability.can(scope))\n )(config.scope);\n\n if (!isAllowed) {\n throw new ForbiddenError();\n }\n};\n\nmodule.exports = {\n name: 'users-permissions',\n authenticate,\n verify,\n};\n"],"names":["castArray","map","every","pipe","require$$0","ForbiddenError","UnauthorizedError","require$$1","errors","getService","require$$2","getAdvancedSettings","strapi","store","type","name","get","key","authenticate","ctx","token","getToken","id","undefined","authenticated","user","fetchAuthenticatedUser","error","advancedSettings","email_confirmation","confirmed","blocked","permissions","Promise","resolve","role","then","findRolePermissions","toContentAPIPermission","ability","contentAPI","engine","generateAbility","state","credentials","publicPermissions","findPublicPermissions","length","err","verify","auth","config","scope","isAllowed","can","usersPermissions"],"mappings":";;;;;;;;;IAEA,MAAM,EAAEA,SAAS,EAAEC,GAAG,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAGC,UAAAA;AACxC,IAAA,MAAM,EAAEC,cAAc,EAAEC,iBAAiB,EAAE,GAAGC,WAAyBC,MAAM;IAE7E,MAAM,EAAEC,UAAU,EAAE,GAAGC,YAAAA,EAAAA;AAEvB,IAAA,MAAMC,mBAAsB,GAAA,IAAA;QAC1B,OAAOC,MAAAA,CAAOC,KAAK,CAAC;YAAEC,IAAM,EAAA,QAAA;YAAUC,IAAM,EAAA;AAAqB,SAAA,CAAA,CAAEC,GAAG,CAAC;YAAEC,GAAK,EAAA;AAAY,SAAA,CAAA;AAC5F,KAAA;AAEA,IAAA,MAAMC,eAAe,OAAOC,GAAAA,GAAAA;QAC1B,IAAI;AACF,YAAA,MAAMC,KAAQ,GAAA,MAAMX,UAAW,CAAA,KAAA,CAAA,CAAOY,QAAQ,CAACF,GAAAA,CAAAA;AAE/C,YAAA,IAAIC,KAAO,EAAA;gBACT,MAAM,EAAEE,EAAE,EAAE,GAAGF,KAAAA;;AAGf,gBAAA,IAAIE,OAAOC,SAAW,EAAA;oBACpB,OAAO;wBAAEC,aAAe,EAAA;;AACzB;AAED,gBAAA,MAAMC,IAAO,GAAA,MAAMhB,UAAW,CAAA,MAAA,CAAA,CAAQiB,sBAAsB,CAACJ,EAAAA,CAAAA;;AAG7D,gBAAA,IAAI,CAACG,IAAM,EAAA;oBACT,OAAO;wBAAEE,KAAO,EAAA;;AACjB;AAED,gBAAA,MAAMC,mBAAmB,MAAMjB,mBAAAA,EAAAA;;AAG/B,gBAAA,IAAIiB,iBAAiBC,kBAAkB,IAAI,CAACJ,IAAAA,CAAKK,SAAS,EAAE;oBAC1D,OAAO;wBAAEH,KAAO,EAAA;;AACjB;;gBAGD,IAAIF,IAAAA,CAAKM,OAAO,EAAE;oBAChB,OAAO;wBAAEJ,KAAO,EAAA;;AACjB;;gBAGD,MAAMK,WAAAA,GAAc,MAAMC,OAAQC,CAAAA,OAAO,CAACT,IAAKU,CAAAA,IAAI,CAACb,EAAE,CAAA,CACnDc,IAAI,CAAC3B,UAAAA,CAAW,cAAc4B,mBAAmB,CAAA,CACjDD,IAAI,CAACnC,GAAAA,CAAIQ,UAAW,CAAA,YAAA,CAAA,CAAc6B,sBAAsB,CAAA,CAAA;;gBAG3D,MAAMC,OAAAA,GAAU,MAAM3B,MAAAA,CAAO4B,UAAU,CAACR,WAAW,CAACS,MAAM,CAACC,eAAe,CAACV,WAAAA,CAAAA;gBAE3Eb,GAAIwB,CAAAA,KAAK,CAAClB,IAAI,GAAGA,IAAAA;gBAEjB,OAAO;oBACLD,aAAe,EAAA,IAAA;oBACfoB,WAAanB,EAAAA,IAAAA;AACbc,oBAAAA;AACR,iBAAA;AACK;YAED,MAAMM,iBAAAA,GAAoB,MAAMpC,UAAAA,CAAW,YACxCqC,CAAAA,CAAAA,qBAAqB,EACrBV,CAAAA,IAAI,CAACnC,GAAAA,CAAIQ,UAAW,CAAA,YAAA,CAAA,CAAc6B,sBAAsB,CAAA,CAAA;YAE3D,IAAIO,iBAAAA,CAAkBE,MAAM,KAAK,CAAG,EAAA;gBAClC,OAAO;oBAAEvB,aAAe,EAAA;;AACzB;YAED,MAAMe,OAAAA,GAAU,MAAM3B,MAAAA,CAAO4B,UAAU,CAACR,WAAW,CAACS,MAAM,CAACC,eAAe,CAACG,iBAAAA,CAAAA;YAE3E,OAAO;gBACLrB,aAAe,EAAA,IAAA;gBACfoB,WAAa,EAAA,IAAA;AACbL,gBAAAA;AACN,aAAA;AACG,SAAA,CAAC,OAAOS,GAAK,EAAA;YACZ,OAAO;gBAAExB,aAAe,EAAA;;AACzB;AACH,KAAA;IAEA,MAAMyB,MAAAA,GAAS,OAAOC,IAAMC,EAAAA,MAAAA,GAAAA;AAC1B,QAAA,MAAM,EAAEP,WAAanB,EAAAA,IAAI,EAAEc,OAAO,EAAE,GAAGW,IAAAA;QAEvC,IAAI,CAACC,MAAOC,CAAAA,KAAK,EAAE;AACjB,YAAA,IAAI,CAAC3B,IAAM,EAAA;;AAET,gBAAA,MAAM,IAAInB,iBAAAA,EAAAA;aACL,MAAA;;AAEL,gBAAA;AACD;AACF;;AAGD,QAAA,IAAI,CAACiC,OAAS,EAAA;AACZ,YAAA,MAAM,IAAIjC,iBAAAA,EAAAA;AACX;QAED,MAAM+C,SAAAA,GAAYlD;AAEhBH,QAAAA,SAAAA;AAEAE,QAAAA,KAAAA,CAAM,CAACkD,KAAUb,GAAAA,OAAAA,CAAQe,GAAG,CAACF,KAAAA,CAAAA,CAAAA,CAAAA,CAC7BD,OAAOC,KAAK,CAAA;AAEd,QAAA,IAAI,CAACC,SAAW,EAAA;AACd,YAAA,MAAM,IAAIhD,cAAAA,EAAAA;AACX;AACH,KAAA;IAEAkD,gBAAiB,GAAA;QACfxC,IAAM,EAAA,mBAAA;AACNG,QAAAA,YAAAA;AACA+B,QAAAA;AACF,KAAA;;;;;;"}
1
+ {"version":3,"file":"users-permissions.mjs","sources":["../../../server/strategies/users-permissions.js"],"sourcesContent":["'use strict';\n\nconst { castArray, map, every, pipe } = require('lodash/fp');\nconst { ForbiddenError, UnauthorizedError } = require('@strapi/utils').errors;\n\nconst { getService } = require('../utils');\n\nconst getAdvancedSettings = () => {\n return strapi.store({ type: 'plugin', name: 'users-permissions' }).get({ key: 'advanced' });\n};\n\nconst authenticate = async (ctx) => {\n try {\n const token = await getService('jwt').getToken(ctx);\n\n if (token) {\n const { id } = token;\n\n // Invalid token\n if (id === undefined) {\n return { authenticated: false };\n }\n\n const user = await getService('user').fetchAuthenticatedUser(id);\n\n // No user associated to the token\n if (!user) {\n return { error: 'Invalid credentials' };\n }\n\n const advancedSettings = await getAdvancedSettings();\n\n // User not confirmed\n if (advancedSettings.email_confirmation && !user.confirmed) {\n return { error: 'Invalid credentials' };\n }\n\n // User blocked\n if (user.blocked) {\n return { error: 'Invalid credentials' };\n }\n\n // Fetch user's permissions\n const permissions = await Promise.resolve(user.role.id)\n .then(getService('permission').findRolePermissions)\n .then(map(getService('permission').toContentAPIPermission));\n\n // Generate an ability (content API engine) based on the given permissions\n const ability = await strapi.contentAPI.permissions.engine.generateAbility(permissions);\n\n ctx.state.user = user;\n\n return {\n authenticated: true,\n credentials: user,\n ability,\n };\n }\n\n const publicPermissions = await getService('permission')\n .findPublicPermissions()\n .then(map(getService('permission').toContentAPIPermission));\n\n if (publicPermissions.length === 0) {\n return { authenticated: false };\n }\n\n const ability = await strapi.contentAPI.permissions.engine.generateAbility(publicPermissions);\n\n return {\n authenticated: true,\n credentials: null,\n ability,\n };\n } catch (err) {\n return { authenticated: false };\n }\n};\n\nconst verify = async (auth, config) => {\n const { credentials: user, ability } = auth;\n\n if (!config.scope) {\n if (!user) {\n // A non authenticated user cannot access routes that do not have a scope\n throw new UnauthorizedError();\n } else {\n // An authenticated user can access non scoped routes\n return;\n }\n }\n\n // If no ability have been generated, then consider auth is missing\n if (!ability) {\n throw new UnauthorizedError();\n }\n\n const isAllowed = pipe(\n // Make sure we're dealing with an array\n castArray,\n // Transform the scope array into an action array\n every((scope) => ability.can(scope))\n )(config.scope);\n\n if (!isAllowed) {\n throw new ForbiddenError();\n }\n};\n\nmodule.exports = {\n name: 'users-permissions',\n authenticate,\n verify,\n};\n"],"names":["castArray","map","every","pipe","require$$0","ForbiddenError","UnauthorizedError","require$$1","errors","getService","require$$2","getAdvancedSettings","strapi","store","type","name","get","key","authenticate","ctx","token","getToken","id","undefined","authenticated","user","fetchAuthenticatedUser","error","advancedSettings","email_confirmation","confirmed","blocked","permissions","Promise","resolve","role","then","findRolePermissions","toContentAPIPermission","ability","contentAPI","engine","generateAbility","state","credentials","publicPermissions","findPublicPermissions","length","err","verify","auth","config","scope","isAllowed","can","usersPermissions"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../server/utils/index.js"],"sourcesContent":["'use strict';\n\nconst sanitize = require('./sanitize');\n\nconst getService = (name) => {\n return strapi.plugin('users-permissions').service(name);\n};\n\nmodule.exports = {\n getService,\n sanitize,\n};\n"],"names":["sanitize","require$$0","getService","name","strapi","plugin","service","utils"],"mappings":";;;;;;;;;AAEA,IAAA,MAAMA,QAAWC,GAAAA,eAAAA,EAAAA;AAEjB,IAAA,MAAMC,aAAa,CAACC,IAAAA,GAAAA;AAClB,QAAA,OAAOC,MAAOC,CAAAA,MAAM,CAAC,mBAAA,CAAA,CAAqBC,OAAO,CAACH,IAAAA,CAAAA;AACpD,KAAA;IAEAI,KAAiB,GAAA;AACfL,QAAAA,UAAAA;AACAF,QAAAA;AACF,KAAA;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../server/utils/index.js"],"sourcesContent":["'use strict';\n\nconst sanitize = require('./sanitize');\n\nconst getService = (name) => {\n return strapi.plugin('users-permissions').service(name);\n};\n\nmodule.exports = {\n getService,\n sanitize,\n};\n"],"names":["sanitize","require$$0","getService","name","strapi","plugin","service","utils"],"mappings":";;;;;;;;;AAEA,IAAA,MAAMA,QAAAA,GAAWC,eAAAA,EAAAA;AAEjB,IAAA,MAAMC,aAAa,CAACC,IAAAA,GAAAA;AAClB,QAAA,OAAOC,MAAAA,CAAOC,MAAM,CAAC,mBAAA,CAAA,CAAqBC,OAAO,CAACH,IAAAA,CAAAA;AACpD,IAAA,CAAA;IAEAI,KAAAA,GAAiB;AACfL,QAAAA,UAAAA;AACAF,QAAAA;AACF,KAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../server/utils/index.js"],"sourcesContent":["'use strict';\n\nconst sanitize = require('./sanitize');\n\nconst getService = (name) => {\n return strapi.plugin('users-permissions').service(name);\n};\n\nmodule.exports = {\n getService,\n sanitize,\n};\n"],"names":["sanitize","require$$0","getService","name","strapi","plugin","service","utils"],"mappings":";;;;;;;AAEA,IAAA,MAAMA,QAAWC,GAAAA,eAAAA,EAAAA;AAEjB,IAAA,MAAMC,aAAa,CAACC,IAAAA,GAAAA;AAClB,QAAA,OAAOC,MAAOC,CAAAA,MAAM,CAAC,mBAAA,CAAA,CAAqBC,OAAO,CAACH,IAAAA,CAAAA;AACpD,KAAA;IAEAI,KAAiB,GAAA;AACfL,QAAAA,UAAAA;AACAF,QAAAA;AACF,KAAA;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../server/utils/index.js"],"sourcesContent":["'use strict';\n\nconst sanitize = require('./sanitize');\n\nconst getService = (name) => {\n return strapi.plugin('users-permissions').service(name);\n};\n\nmodule.exports = {\n getService,\n sanitize,\n};\n"],"names":["sanitize","require$$0","getService","name","strapi","plugin","service","utils"],"mappings":";;;;;;;AAEA,IAAA,MAAMA,QAAAA,GAAWC,eAAAA,EAAAA;AAEjB,IAAA,MAAMC,aAAa,CAACC,IAAAA,GAAAA;AAClB,QAAA,OAAOC,MAAAA,CAAOC,MAAM,CAAC,mBAAA,CAAA,CAAqBC,OAAO,CAACH,IAAAA,CAAAA;AACpD,IAAA,CAAA;IAEAI,KAAAA,GAAiB;AACfL,QAAAA,UAAAA;AACAF,QAAAA;AACF,KAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../server/utils/sanitize/index.js"],"sourcesContent":["'use strict';\n\nconst visitors = require('./visitors');\nconst sanitizers = require('./sanitizers');\n\nmodule.exports = {\n sanitizers,\n visitors,\n};\n"],"names":["visitors","require$$0","sanitizers","require$$1","sanitize"],"mappings":";;;;;;;;;;AAEA,IAAA,MAAMA,QAAWC,GAAAA,eAAAA,EAAAA;AACjB,IAAA,MAAMC,YAAaC,GAAAA,oBAAAA,EAAAA;IAEnBC,QAAiB,GAAA;AACfF,oBAAAA,YAAAA;AACAF,QAAAA;AACF,KAAA;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../server/utils/sanitize/index.js"],"sourcesContent":["'use strict';\n\nconst visitors = require('./visitors');\nconst sanitizers = require('./sanitizers');\n\nmodule.exports = {\n sanitizers,\n visitors,\n};\n"],"names":["visitors","require$$0","sanitizers","require$$1","sanitize"],"mappings":";;;;;;;;;;AAEA,IAAA,MAAMA,QAAAA,GAAWC,eAAAA,EAAAA;AACjB,IAAA,MAAMC,YAAAA,GAAaC,oBAAAA,EAAAA;IAEnBC,QAAAA,GAAiB;AACfF,oBAAAA,YAAAA;AACAF,QAAAA;AACF,KAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../server/utils/sanitize/index.js"],"sourcesContent":["'use strict';\n\nconst visitors = require('./visitors');\nconst sanitizers = require('./sanitizers');\n\nmodule.exports = {\n sanitizers,\n visitors,\n};\n"],"names":["visitors","require$$0","sanitizers","require$$1","sanitize"],"mappings":";;;;;;;;AAEA,IAAA,MAAMA,QAAWC,GAAAA,eAAAA,EAAAA;AACjB,IAAA,MAAMC,UAAaC,GAAAA,iBAAAA,EAAAA;IAEnBC,QAAiB,GAAA;AACfF,QAAAA,UAAAA;AACAF,QAAAA;AACF,KAAA;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../server/utils/sanitize/index.js"],"sourcesContent":["'use strict';\n\nconst visitors = require('./visitors');\nconst sanitizers = require('./sanitizers');\n\nmodule.exports = {\n sanitizers,\n visitors,\n};\n"],"names":["visitors","require$$0","sanitizers","require$$1","sanitize"],"mappings":";;;;;;;;AAEA,IAAA,MAAMA,QAAAA,GAAWC,eAAAA,EAAAA;AACjB,IAAA,MAAMC,UAAAA,GAAaC,iBAAAA,EAAAA;IAEnBC,QAAAA,GAAiB;AACfF,QAAAA,UAAAA;AACAF,QAAAA;AACF,KAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"sanitizers.js","sources":["../../../../server/utils/sanitize/sanitizers.js"],"sourcesContent":["'use strict';\n\nconst { curry } = require('lodash/fp');\nconst { traverseEntity, async } = require('@strapi/utils');\n\nconst { removeUserRelationFromRoleEntities } = require('./visitors');\n\nconst sanitizeUserRelationFromRoleEntities = curry((schema, entity) => {\n return traverseEntity(\n removeUserRelationFromRoleEntities,\n { schema, getModel: strapi.getModel.bind(strapi) },\n entity\n );\n});\n\nconst defaultSanitizeOutput = curry((schema, entity) => {\n return async.pipe(sanitizeUserRelationFromRoleEntities(schema))(entity);\n});\n\nmodule.exports = {\n sanitizeUserRelationFromRoleEntities,\n defaultSanitizeOutput,\n};\n"],"names":["curry","require$$0","traverseEntity","async","require$$1","removeUserRelationFromRoleEntities","require$$2","sanitizeUserRelationFromRoleEntities","schema","entity","getModel","strapi","bind","defaultSanitizeOutput","pipe","sanitizers"],"mappings":";;;;;;;;;;;IAEA,MAAM,EAAEA,KAAK,EAAE,GAAGC,UAAAA;AAClB,IAAA,MAAM,EAAEC,cAAc,EAAEC,KAAK,EAAE,GAAGC,UAAAA;IAElC,MAAM,EAAEC,kCAAkC,EAAE,GAAGC,eAAAA,EAAAA;IAE/C,MAAMC,oCAAAA,GAAuCP,KAAM,CAAA,CAACQ,MAAQC,EAAAA,MAAAA,GAAAA;AAC1D,QAAA,OAAOP,eACLG,kCACA,EAAA;AAAEG,YAAAA,MAAAA;AAAQE,YAAAA,QAAAA,EAAUC,MAAOD,CAAAA,QAAQ,CAACE,IAAI,CAACD,MAAAA;SACzCF,EAAAA,MAAAA,CAAAA;AAEJ,KAAA,CAAA;IAEA,MAAMI,qBAAAA,GAAwBb,KAAM,CAAA,CAACQ,MAAQC,EAAAA,MAAAA,GAAAA;AAC3C,QAAA,OAAON,KAAMW,CAAAA,IAAI,CAACP,oCAAAA,CAAqCC,MAASC,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA;AAClE,KAAA,CAAA;IAEAM,UAAiB,GAAA;AACfR,QAAAA,oCAAAA;AACAM,QAAAA;AACF,KAAA;;;;;;"}
1
+ {"version":3,"file":"sanitizers.js","sources":["../../../../server/utils/sanitize/sanitizers.js"],"sourcesContent":["'use strict';\n\nconst { curry } = require('lodash/fp');\nconst { traverseEntity, async } = require('@strapi/utils');\n\nconst { removeUserRelationFromRoleEntities } = require('./visitors');\n\nconst sanitizeUserRelationFromRoleEntities = curry((schema, entity) => {\n return traverseEntity(\n removeUserRelationFromRoleEntities,\n { schema, getModel: strapi.getModel.bind(strapi) },\n entity\n );\n});\n\nconst defaultSanitizeOutput = curry((schema, entity) => {\n return async.pipe(sanitizeUserRelationFromRoleEntities(schema))(entity);\n});\n\nmodule.exports = {\n sanitizeUserRelationFromRoleEntities,\n defaultSanitizeOutput,\n};\n"],"names":["curry","require$$0","traverseEntity","async","require$$1","removeUserRelationFromRoleEntities","require$$2","sanitizeUserRelationFromRoleEntities","schema","entity","getModel","strapi","bind","defaultSanitizeOutput","pipe","sanitizers"],"mappings":";;;;;;;;;;;IAEA,MAAM,EAAEA,KAAK,EAAE,GAAGC,UAAAA;AAClB,IAAA,MAAM,EAAEC,cAAc,EAAEC,KAAK,EAAE,GAAGC,UAAAA;IAElC,MAAM,EAAEC,kCAAkC,EAAE,GAAGC,eAAAA,EAAAA;IAE/C,MAAMC,oCAAAA,GAAuCP,KAAAA,CAAM,CAACQ,MAAAA,EAAQC,MAAAA,GAAAA;AAC1D,QAAA,OAAOP,eACLG,kCAAAA,EACA;AAAEG,YAAAA,MAAAA;AAAQE,YAAAA,QAAAA,EAAUC,MAAAA,CAAOD,QAAQ,CAACE,IAAI,CAACD,MAAAA;SAAO,EAChDF,MAAAA,CAAAA;AAEJ,IAAA,CAAA,CAAA;IAEA,MAAMI,qBAAAA,GAAwBb,KAAAA,CAAM,CAACQ,MAAAA,EAAQC,MAAAA,GAAAA;AAC3C,QAAA,OAAON,KAAAA,CAAMW,IAAI,CAACP,oCAAAA,CAAqCC,MAAAA,CAAAA,CAAAA,CAASC,MAAAA,CAAAA;AAClE,IAAA,CAAA,CAAA;IAEAM,UAAAA,GAAiB;AACfR,QAAAA,oCAAAA;AACAM,QAAAA;AACF,KAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"sanitizers.mjs","sources":["../../../../server/utils/sanitize/sanitizers.js"],"sourcesContent":["'use strict';\n\nconst { curry } = require('lodash/fp');\nconst { traverseEntity, async } = require('@strapi/utils');\n\nconst { removeUserRelationFromRoleEntities } = require('./visitors');\n\nconst sanitizeUserRelationFromRoleEntities = curry((schema, entity) => {\n return traverseEntity(\n removeUserRelationFromRoleEntities,\n { schema, getModel: strapi.getModel.bind(strapi) },\n entity\n );\n});\n\nconst defaultSanitizeOutput = curry((schema, entity) => {\n return async.pipe(sanitizeUserRelationFromRoleEntities(schema))(entity);\n});\n\nmodule.exports = {\n sanitizeUserRelationFromRoleEntities,\n defaultSanitizeOutput,\n};\n"],"names":["curry","require$$0","traverseEntity","async","require$$1","removeUserRelationFromRoleEntities","require$$2","sanitizeUserRelationFromRoleEntities","schema","entity","getModel","strapi","bind","defaultSanitizeOutput","pipe","sanitizers"],"mappings":";;;;;;;;;IAEA,MAAM,EAAEA,KAAK,EAAE,GAAGC,UAAAA;AAClB,IAAA,MAAM,EAAEC,cAAc,EAAEC,KAAK,EAAE,GAAGC,UAAAA;IAElC,MAAM,EAAEC,kCAAkC,EAAE,GAAGC,eAAAA,EAAAA;IAE/C,MAAMC,oCAAAA,GAAuCP,KAAM,CAAA,CAACQ,MAAQC,EAAAA,MAAAA,GAAAA;AAC1D,QAAA,OAAOP,eACLG,kCACA,EAAA;AAAEG,YAAAA,MAAAA;AAAQE,YAAAA,QAAAA,EAAUC,MAAOD,CAAAA,QAAQ,CAACE,IAAI,CAACD,MAAAA;SACzCF,EAAAA,MAAAA,CAAAA;AAEJ,KAAA,CAAA;IAEA,MAAMI,qBAAAA,GAAwBb,KAAM,CAAA,CAACQ,MAAQC,EAAAA,MAAAA,GAAAA;AAC3C,QAAA,OAAON,KAAMW,CAAAA,IAAI,CAACP,oCAAAA,CAAqCC,MAASC,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA;AAClE,KAAA,CAAA;IAEAM,UAAiB,GAAA;AACfR,QAAAA,oCAAAA;AACAM,QAAAA;AACF,KAAA;;;;;;"}
1
+ {"version":3,"file":"sanitizers.mjs","sources":["../../../../server/utils/sanitize/sanitizers.js"],"sourcesContent":["'use strict';\n\nconst { curry } = require('lodash/fp');\nconst { traverseEntity, async } = require('@strapi/utils');\n\nconst { removeUserRelationFromRoleEntities } = require('./visitors');\n\nconst sanitizeUserRelationFromRoleEntities = curry((schema, entity) => {\n return traverseEntity(\n removeUserRelationFromRoleEntities,\n { schema, getModel: strapi.getModel.bind(strapi) },\n entity\n );\n});\n\nconst defaultSanitizeOutput = curry((schema, entity) => {\n return async.pipe(sanitizeUserRelationFromRoleEntities(schema))(entity);\n});\n\nmodule.exports = {\n sanitizeUserRelationFromRoleEntities,\n defaultSanitizeOutput,\n};\n"],"names":["curry","require$$0","traverseEntity","async","require$$1","removeUserRelationFromRoleEntities","require$$2","sanitizeUserRelationFromRoleEntities","schema","entity","getModel","strapi","bind","defaultSanitizeOutput","pipe","sanitizers"],"mappings":";;;;;;;;;IAEA,MAAM,EAAEA,KAAK,EAAE,GAAGC,UAAAA;AAClB,IAAA,MAAM,EAAEC,cAAc,EAAEC,KAAK,EAAE,GAAGC,UAAAA;IAElC,MAAM,EAAEC,kCAAkC,EAAE,GAAGC,eAAAA,EAAAA;IAE/C,MAAMC,oCAAAA,GAAuCP,KAAAA,CAAM,CAACQ,MAAAA,EAAQC,MAAAA,GAAAA;AAC1D,QAAA,OAAOP,eACLG,kCAAAA,EACA;AAAEG,YAAAA,MAAAA;AAAQE,YAAAA,QAAAA,EAAUC,MAAAA,CAAOD,QAAQ,CAACE,IAAI,CAACD,MAAAA;SAAO,EAChDF,MAAAA,CAAAA;AAEJ,IAAA,CAAA,CAAA;IAEA,MAAMI,qBAAAA,GAAwBb,KAAAA,CAAM,CAACQ,MAAAA,EAAQC,MAAAA,GAAAA;AAC3C,QAAA,OAAON,KAAAA,CAAMW,IAAI,CAACP,oCAAAA,CAAqCC,MAAAA,CAAAA,CAAAA,CAASC,MAAAA,CAAAA;AAClE,IAAA,CAAA,CAAA;IAEAM,UAAAA,GAAiB;AACfR,QAAAA,oCAAAA;AACAM,QAAAA;AACF,KAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../server/utils/sanitize/visitors/index.js"],"sourcesContent":["'use strict';\n\nmodule.exports = {\n removeUserRelationFromRoleEntities: require('./remove-user-relation-from-role-entities'),\n};\n"],"names":["visitors","removeUserRelationFromRoleEntities","require$$0"],"mappings":";;;;;;;;;IAEAA,QAAiB,GAAA;QACfC,kCAAoCC,EAAAA,4CAAAA;AACtC,KAAA;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../server/utils/sanitize/visitors/index.js"],"sourcesContent":["'use strict';\n\nmodule.exports = {\n removeUserRelationFromRoleEntities: require('./remove-user-relation-from-role-entities'),\n};\n"],"names":["visitors","removeUserRelationFromRoleEntities","require$$0"],"mappings":";;;;;;;;;IAEAA,QAAAA,GAAiB;QACfC,kCAAAA,EAAoCC,4CAAAA;AACtC,KAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../server/utils/sanitize/visitors/index.js"],"sourcesContent":["'use strict';\n\nmodule.exports = {\n removeUserRelationFromRoleEntities: require('./remove-user-relation-from-role-entities'),\n};\n"],"names":["visitors","removeUserRelationFromRoleEntities","require$$0"],"mappings":";;;;;;;IAEAA,QAAiB,GAAA;QACfC,kCAAoCC,EAAAA,yCAAAA;AACtC,KAAA;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../server/utils/sanitize/visitors/index.js"],"sourcesContent":["'use strict';\n\nmodule.exports = {\n removeUserRelationFromRoleEntities: require('./remove-user-relation-from-role-entities'),\n};\n"],"names":["visitors","removeUserRelationFromRoleEntities","require$$0"],"mappings":";;;;;;;IAEAA,QAAAA,GAAiB;QACfC,kCAAAA,EAAoCC,yCAAAA;AACtC,KAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"remove-user-relation-from-role-entities.js","sources":["../../../../../server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js"],"sourcesContent":["'use strict';\n\nmodule.exports = ({ schema, key, attribute }, { remove }) => {\n if (\n attribute?.type === 'relation' &&\n attribute?.target === 'plugin::users-permissions.user' &&\n schema.uid === 'plugin::users-permissions.role'\n ) {\n remove(key);\n }\n};\n"],"names":["removeUserRelationFromRoleEntities","schema","key","attribute","remove","type","target","uid"],"mappings":";;;;;;;IAEAA,kCAAiB,GAAA,CAAC,EAAEC,MAAM,EAAEC,GAAG,EAAEC,SAAS,EAAE,EAAE,EAAEC,MAAM,EAAE,GAAA;QACtD,IACED,SAAAA,EAAWE,SAAS,UACpBF,IAAAA,SAAAA,EAAWG,WAAW,gCACtBL,IAAAA,MAAAA,CAAOM,GAAG,KAAK,gCACf,EAAA;YACAH,MAAOF,CAAAA,GAAAA,CAAAA;AACR;AACH,KAAA;;;;;;"}
1
+ {"version":3,"file":"remove-user-relation-from-role-entities.js","sources":["../../../../../server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js"],"sourcesContent":["'use strict';\n\nmodule.exports = ({ schema, key, attribute }, { remove }) => {\n if (\n attribute?.type === 'relation' &&\n attribute?.target === 'plugin::users-permissions.user' &&\n schema.uid === 'plugin::users-permissions.role'\n ) {\n remove(key);\n }\n};\n"],"names":["removeUserRelationFromRoleEntities","schema","key","attribute","remove","type","target","uid"],"mappings":";;;;;;;IAEAA,kCAAAA,GAAiB,CAAC,EAAEC,MAAM,EAAEC,GAAG,EAAEC,SAAS,EAAE,EAAE,EAAEC,MAAM,EAAE,GAAA;QACtD,IACED,SAAAA,EAAWE,SAAS,UAAA,IACpBF,SAAAA,EAAWG,WAAW,gCAAA,IACtBL,MAAAA,CAAOM,GAAG,KAAK,gCAAA,EACf;YACAH,MAAAA,CAAOF,GAAAA,CAAAA;AACX,QAAA;AACA,IAAA,CAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"remove-user-relation-from-role-entities.mjs","sources":["../../../../../server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js"],"sourcesContent":["'use strict';\n\nmodule.exports = ({ schema, key, attribute }, { remove }) => {\n if (\n attribute?.type === 'relation' &&\n attribute?.target === 'plugin::users-permissions.user' &&\n schema.uid === 'plugin::users-permissions.role'\n ) {\n remove(key);\n }\n};\n"],"names":["removeUserRelationFromRoleEntities","schema","key","attribute","remove","type","target","uid"],"mappings":";;;;;IAEAA,kCAAiB,GAAA,CAAC,EAAEC,MAAM,EAAEC,GAAG,EAAEC,SAAS,EAAE,EAAE,EAAEC,MAAM,EAAE,GAAA;QACtD,IACED,SAAAA,EAAWE,SAAS,UACpBF,IAAAA,SAAAA,EAAWG,WAAW,gCACtBL,IAAAA,MAAAA,CAAOM,GAAG,KAAK,gCACf,EAAA;YACAH,MAAOF,CAAAA,GAAAA,CAAAA;AACR;AACH,KAAA;;;;;;"}
1
+ {"version":3,"file":"remove-user-relation-from-role-entities.mjs","sources":["../../../../../server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js"],"sourcesContent":["'use strict';\n\nmodule.exports = ({ schema, key, attribute }, { remove }) => {\n if (\n attribute?.type === 'relation' &&\n attribute?.target === 'plugin::users-permissions.user' &&\n schema.uid === 'plugin::users-permissions.role'\n ) {\n remove(key);\n }\n};\n"],"names":["removeUserRelationFromRoleEntities","schema","key","attribute","remove","type","target","uid"],"mappings":";;;;;IAEAA,kCAAAA,GAAiB,CAAC,EAAEC,MAAM,EAAEC,GAAG,EAAEC,SAAS,EAAE,EAAE,EAAEC,MAAM,EAAE,GAAA;QACtD,IACED,SAAAA,EAAWE,SAAS,UAAA,IACpBF,SAAAA,EAAWG,WAAW,gCAAA,IACtBL,MAAAA,CAAOM,GAAG,KAAK,gCAAA,EACf;YACAH,MAAAA,CAAOF,GAAAA,CAAAA;AACX,QAAA;AACA,IAAA,CAAA;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/plugin-users-permissions",
3
- "version": "5.37.0",
3
+ "version": "5.38.0",
4
4
  "description": "Protect your API with a full-authentication process based on JWT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -48,9 +48,9 @@
48
48
  "watch": "run -T rollup -c -w"
49
49
  },
50
50
  "dependencies": {
51
- "@strapi/design-system": "2.1.2",
52
- "@strapi/icons": "2.1.2",
53
- "@strapi/utils": "5.37.0",
51
+ "@strapi/design-system": "2.2.0",
52
+ "@strapi/icons": "2.2.0",
53
+ "@strapi/utils": "5.38.0",
54
54
  "bcryptjs": "2.4.3",
55
55
  "formik": "2.4.5",
56
56
  "grant": "^5.4.8",
@@ -70,7 +70,7 @@
70
70
  "zod": "3.25.67"
71
71
  },
72
72
  "devDependencies": {
73
- "@strapi/strapi": "5.37.0",
73
+ "@strapi/strapi": "5.38.0",
74
74
  "@testing-library/dom": "10.4.1",
75
75
  "@testing-library/react": "16.3.0",
76
76
  "@testing-library/user-event": "14.6.1",