@strapi/plugin-users-permissions 5.48.0 → 5.49.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 (150) hide show
  1. package/dist/admin/components/BoundRoute/index.js +12 -6
  2. package/dist/admin/components/BoundRoute/index.js.map +1 -1
  3. package/dist/admin/components/FormModal/Input/index.js +25 -21
  4. package/dist/admin/components/FormModal/Input/index.js.map +1 -1
  5. package/dist/admin/components/FormModal/index.js +14 -10
  6. package/dist/admin/components/FormModal/index.js.map +1 -1
  7. package/dist/admin/components/Permissions/PermissionRow/SubCategory.js +8 -3
  8. package/dist/admin/components/Permissions/PermissionRow/SubCategory.js.map +1 -1
  9. package/dist/admin/components/Permissions/PermissionRow/index.js +9 -4
  10. package/dist/admin/components/Permissions/PermissionRow/index.js.map +1 -1
  11. package/dist/admin/components/Policies/index.js +9 -3
  12. package/dist/admin/components/Policies/index.js.map +1 -1
  13. package/dist/admin/components/UsersPermissions/index.js +6 -2
  14. package/dist/admin/components/UsersPermissions/index.js.map +1 -1
  15. package/dist/admin/components/UsersPermissions/reducer.js +10 -4
  16. package/dist/admin/components/UsersPermissions/reducer.js.map +1 -1
  17. package/dist/admin/contexts/UsersPermissionsContext/index.js +6 -2
  18. package/dist/admin/contexts/UsersPermissionsContext/index.js.map +1 -1
  19. package/dist/admin/pages/AdvancedSettings/utils/schema.js +3 -2
  20. package/dist/admin/pages/AdvancedSettings/utils/schema.js.map +1 -1
  21. package/dist/admin/pages/EmailTemplates/components/EmailForm.js +17 -13
  22. package/dist/admin/pages/EmailTemplates/components/EmailForm.js.map +1 -1
  23. package/dist/admin/pages/EmailTemplates/components/EmailTable.js +6 -2
  24. package/dist/admin/pages/EmailTemplates/components/EmailTable.js.map +1 -1
  25. package/dist/admin/pages/EmailTemplates/index.js +3 -2
  26. package/dist/admin/pages/EmailTemplates/index.js.map +1 -1
  27. package/dist/admin/pages/EmailTemplates/utils/schema.js +3 -2
  28. package/dist/admin/pages/EmailTemplates/utils/schema.js.map +1 -1
  29. package/dist/admin/pages/Providers/index.js +7 -3
  30. package/dist/admin/pages/Providers/index.js.map +1 -1
  31. package/dist/admin/pages/Providers/utils/forms.js +3 -2
  32. package/dist/admin/pages/Providers/utils/forms.js.map +1 -1
  33. package/dist/admin/pages/Roles/constants.js +3 -2
  34. package/dist/admin/pages/Roles/constants.js.map +1 -1
  35. package/dist/admin/pages/Roles/pages/CreatePage.js +3 -2
  36. package/dist/admin/pages/Roles/pages/CreatePage.js.map +1 -1
  37. package/dist/admin/pages/Roles/pages/EditPage.js +3 -2
  38. package/dist/admin/pages/Roles/pages/EditPage.js.map +1 -1
  39. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.js +9 -5
  40. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.js.map +1 -1
  41. package/dist/admin/utils/cleanPermissions.js +6 -2
  42. package/dist/admin/utils/cleanPermissions.js.map +1 -1
  43. package/dist/admin/utils/formatPluginName.js +5 -1
  44. package/dist/admin/utils/formatPluginName.js.map +1 -1
  45. package/dist/server/bootstrap/index.js +7 -2
  46. package/dist/server/bootstrap/index.js.map +1 -1
  47. package/dist/server/bootstrap/index.mjs.map +1 -1
  48. package/dist/server/config.js.map +1 -1
  49. package/dist/server/config.mjs.map +1 -1
  50. package/dist/server/controllers/auth.js +13 -5
  51. package/dist/server/controllers/auth.js.map +1 -1
  52. package/dist/server/controllers/auth.mjs.map +1 -1
  53. package/dist/server/controllers/content-manager-user.js +8 -3
  54. package/dist/server/controllers/content-manager-user.js.map +1 -1
  55. package/dist/server/controllers/content-manager-user.mjs.map +1 -1
  56. package/dist/server/controllers/permissions.js +5 -1
  57. package/dist/server/controllers/permissions.js.map +1 -1
  58. package/dist/server/controllers/permissions.mjs.map +1 -1
  59. package/dist/server/controllers/role.js +7 -2
  60. package/dist/server/controllers/role.js.map +1 -1
  61. package/dist/server/controllers/role.mjs.map +1 -1
  62. package/dist/server/controllers/settings.js +7 -2
  63. package/dist/server/controllers/settings.js.map +1 -1
  64. package/dist/server/controllers/settings.mjs.map +1 -1
  65. package/dist/server/controllers/user.js +7 -2
  66. package/dist/server/controllers/user.js.map +1 -1
  67. package/dist/server/controllers/user.mjs.map +1 -1
  68. package/dist/server/controllers/validation/auth.js +5 -1
  69. package/dist/server/controllers/validation/auth.js.map +1 -1
  70. package/dist/server/controllers/validation/auth.mjs.map +1 -1
  71. package/dist/server/controllers/validation/email-template.js +7 -2
  72. package/dist/server/controllers/validation/email-template.js.map +1 -1
  73. package/dist/server/controllers/validation/user.js +5 -1
  74. package/dist/server/controllers/validation/user.js.map +1 -1
  75. package/dist/server/controllers/validation/user.mjs.map +1 -1
  76. package/dist/server/graphql/index.js.map +1 -1
  77. package/dist/server/graphql/index.mjs.map +1 -1
  78. package/dist/server/graphql/mutations/auth/change-password.js +5 -1
  79. package/dist/server/graphql/mutations/auth/change-password.js.map +1 -1
  80. package/dist/server/graphql/mutations/auth/email-confirmation.js +5 -1
  81. package/dist/server/graphql/mutations/auth/email-confirmation.js.map +1 -1
  82. package/dist/server/graphql/mutations/auth/forgot-password.js +5 -1
  83. package/dist/server/graphql/mutations/auth/forgot-password.js.map +1 -1
  84. package/dist/server/graphql/mutations/auth/login.js +5 -1
  85. package/dist/server/graphql/mutations/auth/login.js.map +1 -1
  86. package/dist/server/graphql/mutations/auth/login.mjs.map +1 -1
  87. package/dist/server/graphql/mutations/auth/register.js +5 -1
  88. package/dist/server/graphql/mutations/auth/register.js.map +1 -1
  89. package/dist/server/graphql/mutations/auth/reset-password.js +5 -1
  90. package/dist/server/graphql/mutations/auth/reset-password.js.map +1 -1
  91. package/dist/server/graphql/mutations/crud/role/create-role.js +5 -1
  92. package/dist/server/graphql/mutations/crud/role/create-role.js.map +1 -1
  93. package/dist/server/graphql/mutations/crud/role/create-role.mjs.map +1 -1
  94. package/dist/server/graphql/mutations/crud/role/delete-role.js.map +1 -1
  95. package/dist/server/graphql/mutations/crud/role/delete-role.mjs.map +1 -1
  96. package/dist/server/graphql/mutations/crud/role/update-role.js.map +1 -1
  97. package/dist/server/graphql/mutations/crud/role/update-role.mjs.map +1 -1
  98. package/dist/server/graphql/mutations/crud/user/create-user.js +5 -1
  99. package/dist/server/graphql/mutations/crud/user/create-user.js.map +1 -1
  100. package/dist/server/graphql/mutations/crud/user/create-user.mjs.map +1 -1
  101. package/dist/server/graphql/mutations/crud/user/update-user.js +5 -1
  102. package/dist/server/graphql/mutations/crud/user/update-user.js.map +1 -1
  103. package/dist/server/graphql/types/login-input.js.map +1 -1
  104. package/dist/server/graphql/types/login-input.mjs.map +1 -1
  105. package/dist/server/graphql/types/login-payload.js.map +1 -1
  106. package/dist/server/graphql/types/login-payload.mjs.map +1 -1
  107. package/dist/server/graphql/utils.js +5 -1
  108. package/dist/server/graphql/utils.js.map +1 -1
  109. package/dist/server/middlewares/rateLimit.js +11 -4
  110. package/dist/server/middlewares/rateLimit.js.map +1 -1
  111. package/dist/server/register.js +7 -2
  112. package/dist/server/register.js.map +1 -1
  113. package/dist/server/register.mjs.map +1 -1
  114. package/dist/server/routes/content-api/index.js +5 -1
  115. package/dist/server/routes/content-api/index.js.map +1 -1
  116. package/dist/server/routes/content-api/user.js +5 -1
  117. package/dist/server/routes/content-api/user.js.map +1 -1
  118. package/dist/server/routes/content-api/validation.js +7 -2
  119. package/dist/server/routes/content-api/validation.js.map +1 -1
  120. package/dist/server/services/jwt.js +7 -2
  121. package/dist/server/services/jwt.js.map +1 -1
  122. package/dist/server/services/jwt.mjs.map +1 -1
  123. package/dist/server/services/permission.js.map +1 -1
  124. package/dist/server/services/permission.mjs.map +1 -1
  125. package/dist/server/services/providers-registry.js +13 -5
  126. package/dist/server/services/providers-registry.js.map +1 -1
  127. package/dist/server/services/providers-registry.mjs.map +1 -1
  128. package/dist/server/services/providers.js +7 -2
  129. package/dist/server/services/providers.js.map +1 -1
  130. package/dist/server/services/providers.mjs.map +1 -1
  131. package/dist/server/services/role.js +7 -2
  132. package/dist/server/services/role.js.map +1 -1
  133. package/dist/server/services/role.mjs.map +1 -1
  134. package/dist/server/services/user.js +35 -9
  135. package/dist/server/services/user.js.map +1 -1
  136. package/dist/server/services/user.mjs +22 -4
  137. package/dist/server/services/user.mjs.map +1 -1
  138. package/dist/server/services/users-permissions.js +11 -4
  139. package/dist/server/services/users-permissions.js.map +1 -1
  140. package/dist/server/services/users-permissions.mjs.map +1 -1
  141. package/dist/server/strategies/users-permissions.js +7 -2
  142. package/dist/server/strategies/users-permissions.js.map +1 -1
  143. package/dist/server/strategies/users-permissions.mjs.map +1 -1
  144. package/dist/server/utils/index.js +5 -1
  145. package/dist/server/utils/index.js.map +1 -1
  146. package/dist/server/utils/index.mjs.map +1 -1
  147. package/dist/server/utils/sanitize/sanitizers.js +7 -2
  148. package/dist/server/utils/sanitize/sanitizers.js.map +1 -1
  149. package/package.json +4 -4
  150. package/server/services/user.js +22 -5
@@ -1 +1 @@
1
- {"version":3,"file":"create-user.mjs","sources":["../../../../../../server/graphql/mutations/crud/user/create-user.js"],"sourcesContent":["'use strict';\n\nconst { toPlainObject } = require('lodash/fp');\n\nconst { checkBadRequest } = require('../../../utils');\n\nconst usersPermissionsUserUID = 'plugin::users-permissions.user';\n\nmodule.exports = ({ nexus, strapi }) => {\n const { nonNull } = nexus;\n const { getContentTypeInputName, getEntityResponseName } = strapi\n .plugin('graphql')\n .service('utils').naming;\n\n const userContentType = strapi.getModel(usersPermissionsUserUID);\n\n const userInputName = getContentTypeInputName(userContentType);\n const responseName = getEntityResponseName(userContentType);\n\n return {\n type: nonNull(responseName),\n\n args: {\n data: nonNull(userInputName),\n },\n\n description: 'Create a new user',\n\n async resolve(parent, args, context) {\n const { koaContext } = context;\n\n koaContext.params = {};\n koaContext.request.body = toPlainObject(args.data);\n\n await strapi.plugin('users-permissions').controller('user').create(koaContext);\n\n checkBadRequest(koaContext.body);\n\n return {\n value: koaContext.body,\n info: { args, resourceUID: 'plugin::users-permissions.user' },\n };\n },\n };\n};\n"],"names":["toPlainObject","require$$0","checkBadRequest","require$$1","usersPermissionsUserUID","createUser","nexus","strapi","nonNull","getContentTypeInputName","getEntityResponseName","plugin","service","naming","userContentType","getModel","userInputName","responseName","type","args","data","description","resolve","parent","context","koaContext","params","request","body","controller","create","value","info","resourceUID"],"mappings":";;;;;;;;IAEA,MAAM,EAAEA,aAAa,EAAE,GAAGC,UAAAA;IAE1B,MAAM,EAAEC,eAAe,EAAE,GAAGC,YAAAA,EAAAA;AAE5B,IAAA,MAAMC,uBAAAA,GAA0B,gCAAA;AAEhCC,IAAAA,UAAAA,GAAiB,CAAC,EAAEC,KAAK,EAAEC,MAAM,EAAE,GAAA;QACjC,MAAM,EAAEC,OAAO,EAAE,GAAGF,KAAAA;AACpB,QAAA,MAAM,EAAEG,uBAAuB,EAAEC,qBAAqB,EAAE,GAAGH,MAAAA,CACxDI,MAAM,CAAC,SAAA,CAAA,CACPC,OAAO,CAAC,SAASC,MAAM;QAE1B,MAAMC,eAAAA,GAAkBP,MAAAA,CAAOQ,QAAQ,CAACX,uBAAAA,CAAAA;AAExC,QAAA,MAAMY,gBAAgBP,uBAAAA,CAAwBK,eAAAA,CAAAA;AAC9C,QAAA,MAAMG,eAAeP,qBAAAA,CAAsBI,eAAAA,CAAAA;QAE3C,OAAO;AACLI,YAAAA,IAAAA,EAAMV,OAAAA,CAAQS,YAAAA,CAAAA;YAEdE,IAAAA,EAAM;AACJC,gBAAAA,IAAAA,EAAMZ,OAAAA,CAAQQ,aAAAA;AACpB,aAAA;YAEIK,WAAAA,EAAa,mBAAA;AAEb,YAAA,MAAMC,OAAAA,CAAAA,CAAQC,MAAM,EAAEJ,IAAI,EAAEK,OAAO,EAAA;gBACjC,MAAM,EAAEC,UAAU,EAAE,GAAGD,OAAAA;gBAEvBC,UAAAA,CAAWC,MAAM,GAAG,EAAA;AACpBD,gBAAAA,UAAAA,CAAWE,OAAO,CAACC,IAAI,GAAG5B,aAAAA,CAAcmB,KAAKC,IAAI,CAAA;gBAEjD,MAAMb,MAAAA,CAAOI,MAAM,CAAC,mBAAA,CAAA,CAAqBkB,UAAU,CAAC,MAAA,CAAA,CAAQC,MAAM,CAACL,UAAAA,CAAAA;AAEnEvB,gBAAAA,eAAAA,CAAgBuB,WAAWG,IAAI,CAAA;gBAE/B,OAAO;AACLG,oBAAAA,KAAAA,EAAON,WAAWG,IAAI;oBACtBI,IAAAA,EAAM;AAAEb,wBAAAA,IAAAA;wBAAMc,WAAAA,EAAa;AAAgC;AACnE,iBAAA;AACA,YAAA;AACA,SAAA;AACA,IAAA,CAAA;;;;;;"}
1
+ {"version":3,"file":"create-user.mjs","sources":["../../../../../../server/graphql/mutations/crud/user/create-user.js"],"sourcesContent":["'use strict';\n\nconst { toPlainObject } = require('lodash/fp');\n\nconst { checkBadRequest } = require('../../../utils');\n\nconst usersPermissionsUserUID = 'plugin::users-permissions.user';\n\nmodule.exports = ({ nexus, strapi }) => {\n const { nonNull } = nexus;\n const { getContentTypeInputName, getEntityResponseName } = strapi\n .plugin('graphql')\n .service('utils').naming;\n\n const userContentType = strapi.getModel(usersPermissionsUserUID);\n\n const userInputName = getContentTypeInputName(userContentType);\n const responseName = getEntityResponseName(userContentType);\n\n return {\n type: nonNull(responseName),\n\n args: {\n data: nonNull(userInputName),\n },\n\n description: 'Create a new user',\n\n async resolve(parent, args, context) {\n const { koaContext } = context;\n\n koaContext.params = {};\n koaContext.request.body = toPlainObject(args.data);\n\n await strapi.plugin('users-permissions').controller('user').create(koaContext);\n\n checkBadRequest(koaContext.body);\n\n return {\n value: koaContext.body,\n info: { args, resourceUID: 'plugin::users-permissions.user' },\n };\n },\n };\n};\n"],"names":["toPlainObject","require$$0","checkBadRequest","require$$1","usersPermissionsUserUID","createUser","nexus","strapi","nonNull","getContentTypeInputName","getEntityResponseName","plugin","service","naming","userContentType","getModel","userInputName","responseName","type","args","data","description","resolve","parent","context","koaContext","params","request","body","controller","create","value","info","resourceUID"],"mappings":";;;;;;;;IAEA,MAAM,EAAEA,aAAa,EAAE,GAAGC,UAAAA;IAE1B,MAAM,EAAEC,eAAe,EAAE,GAAGC,YAAAA,EAAAA;AAE5B,IAAA,MAAMC,uBAAAA,GAA0B,gCAAA;AAEhCC,IAAAA,UAAAA,GAAiB,CAAC,EAAEC,KAAK,EAAEC,MAAM,EAAE,GAAA;QACjC,MAAM,EAAEC,OAAO,EAAE,GAAGF,KAAAA;AACpB,QAAA,MAAM,EAAEG,uBAAuB,EAAEC,qBAAqB,EAAE,GAAGH,MAAAA,CACxDI,MAAM,CAAC,SAAA,CAAA,CACPC,OAAO,CAAC,SAASC,MAAM;QAE1B,MAAMC,eAAAA,GAAkBP,MAAAA,CAAOQ,QAAQ,CAACX,uBAAAA,CAAAA;AAExC,QAAA,MAAMY,gBAAgBP,uBAAAA,CAAwBK,eAAAA,CAAAA;AAC9C,QAAA,MAAMG,eAAeP,qBAAAA,CAAsBI,eAAAA,CAAAA;QAE3C,OAAO;AACLI,YAAAA,IAAAA,EAAMV,OAAAA,CAAQS,YAAAA,CAAAA;YAEdE,IAAAA,EAAM;AACJC,gBAAAA,IAAAA,EAAMZ,OAAAA,CAAQQ,aAAAA;AACpB,aAAA;YAEIK,WAAAA,EAAa,mBAAA;AAEb,YAAA,MAAMC,OAAAA,CAAAA,CAAQC,MAAM,EAAEJ,IAAI,EAAEK,OAAO,EAAA;gBACjC,MAAM,EAAEC,UAAU,EAAE,GAAGD,OAAAA;gBAEvBC,UAAAA,CAAWC,MAAM,GAAG;AACpBD,gBAAAA,UAAAA,CAAWE,OAAO,CAACC,IAAI,GAAG5B,aAAAA,CAAcmB,KAAKC,IAAI,CAAA;gBAEjD,MAAMb,MAAAA,CAAOI,MAAM,CAAC,mBAAA,CAAA,CAAqBkB,UAAU,CAAC,MAAA,CAAA,CAAQC,MAAM,CAACL,UAAAA,CAAAA;AAEnEvB,gBAAAA,eAAAA,CAAgBuB,WAAWG,IAAI,CAAA;gBAE/B,OAAO;AACLG,oBAAAA,KAAAA,EAAON,WAAWG,IAAI;oBACtBI,IAAAA,EAAM;AAAEb,wBAAAA,IAAAA;wBAAMc,WAAAA,EAAa;AAAgC;AACnE,iBAAA;AACA,YAAA;AACA,SAAA;AACA,IAAA,CAAA;;;;;;"}
@@ -3,12 +3,16 @@
3
3
  var require$$0 = require('lodash/fp');
4
4
  var utils = require('../../../utils.js');
5
5
 
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
+
8
+ var require$$0__default = /*#__PURE__*/_interopDefault(require$$0);
9
+
6
10
  var updateUser;
7
11
  var hasRequiredUpdateUser;
8
12
  function requireUpdateUser() {
9
13
  if (hasRequiredUpdateUser) return updateUser;
10
14
  hasRequiredUpdateUser = 1;
11
- const { toPlainObject } = require$$0;
15
+ const { toPlainObject } = require$$0__default.default;
12
16
  const { checkBadRequest } = utils.__require();
13
17
  const usersPermissionsUserUID = 'plugin::users-permissions.user';
14
18
  updateUser = ({ nexus, strapi })=>{
@@ -1 +1 @@
1
- {"version":3,"file":"update-user.js","sources":["../../../../../../server/graphql/mutations/crud/user/update-user.js"],"sourcesContent":["'use strict';\n\nconst { toPlainObject } = require('lodash/fp');\n\nconst { checkBadRequest } = require('../../../utils');\n\nconst usersPermissionsUserUID = 'plugin::users-permissions.user';\n\nmodule.exports = ({ nexus, strapi }) => {\n const { nonNull } = nexus;\n const { getContentTypeInputName, getEntityResponseName } = strapi\n .plugin('graphql')\n .service('utils').naming;\n\n const userContentType = strapi.getModel(usersPermissionsUserUID);\n\n const userInputName = getContentTypeInputName(userContentType);\n const responseName = getEntityResponseName(userContentType);\n\n return {\n type: nonNull(responseName),\n\n args: {\n id: nonNull('ID'),\n data: nonNull(userInputName),\n },\n\n description: 'Update an existing user',\n\n async resolve(parent, args, context) {\n const { koaContext } = context;\n\n koaContext.params = { id: args.id };\n koaContext.request.body = toPlainObject(args.data);\n\n await strapi.plugin('users-permissions').controller('user').update(koaContext);\n\n checkBadRequest(koaContext.body);\n\n return {\n value: koaContext.body,\n info: { args, resourceUID: 'plugin::users-permissions.user' },\n };\n },\n };\n};\n"],"names":["toPlainObject","require$$0","checkBadRequest","require$$1","usersPermissionsUserUID","updateUser","nexus","strapi","nonNull","getContentTypeInputName","getEntityResponseName","plugin","service","naming","userContentType","getModel","userInputName","responseName","type","args","id","data","description","resolve","parent","context","koaContext","params","request","body","controller","update","value","info","resourceUID"],"mappings":";;;;;;;;;;IAEA,MAAM,EAAEA,aAAa,EAAE,GAAGC,UAAAA;IAE1B,MAAM,EAAEC,eAAe,EAAE,GAAGC,eAAAA,EAAAA;AAE5B,IAAA,MAAMC,uBAAAA,GAA0B,gCAAA;AAEhCC,IAAAA,UAAAA,GAAiB,CAAC,EAAEC,KAAK,EAAEC,MAAM,EAAE,GAAA;QACjC,MAAM,EAAEC,OAAO,EAAE,GAAGF,KAAAA;AACpB,QAAA,MAAM,EAAEG,uBAAuB,EAAEC,qBAAqB,EAAE,GAAGH,MAAAA,CACxDI,MAAM,CAAC,SAAA,CAAA,CACPC,OAAO,CAAC,SAASC,MAAM;QAE1B,MAAMC,eAAAA,GAAkBP,MAAAA,CAAOQ,QAAQ,CAACX,uBAAAA,CAAAA;AAExC,QAAA,MAAMY,gBAAgBP,uBAAAA,CAAwBK,eAAAA,CAAAA;AAC9C,QAAA,MAAMG,eAAeP,qBAAAA,CAAsBI,eAAAA,CAAAA;QAE3C,OAAO;AACLI,YAAAA,IAAAA,EAAMV,OAAAA,CAAQS,YAAAA,CAAAA;YAEdE,IAAAA,EAAM;AACJC,gBAAAA,EAAAA,EAAIZ,OAAAA,CAAQ,IAAA,CAAA;AACZa,gBAAAA,IAAAA,EAAMb,OAAAA,CAAQQ,aAAAA;AACpB,aAAA;YAEIM,WAAAA,EAAa,yBAAA;AAEb,YAAA,MAAMC,OAAAA,CAAAA,CAAQC,MAAM,EAAEL,IAAI,EAAEM,OAAO,EAAA;gBACjC,MAAM,EAAEC,UAAU,EAAE,GAAGD,OAAAA;AAEvBC,gBAAAA,UAAAA,CAAWC,MAAM,GAAG;AAAEP,oBAAAA,EAAAA,EAAID,KAAKC;AAAE,iBAAA;AACjCM,gBAAAA,UAAAA,CAAWE,OAAO,CAACC,IAAI,GAAG7B,aAAAA,CAAcmB,KAAKE,IAAI,CAAA;gBAEjD,MAAMd,MAAAA,CAAOI,MAAM,CAAC,mBAAA,CAAA,CAAqBmB,UAAU,CAAC,MAAA,CAAA,CAAQC,MAAM,CAACL,UAAAA,CAAAA;AAEnExB,gBAAAA,eAAAA,CAAgBwB,WAAWG,IAAI,CAAA;gBAE/B,OAAO;AACLG,oBAAAA,KAAAA,EAAON,WAAWG,IAAI;oBACtBI,IAAAA,EAAM;AAAEd,wBAAAA,IAAAA;wBAAMe,WAAAA,EAAa;AAAgC;AACnE,iBAAA;AACA,YAAA;AACA,SAAA;AACA,IAAA,CAAA;;;;;;"}
1
+ {"version":3,"file":"update-user.js","sources":["../../../../../../server/graphql/mutations/crud/user/update-user.js"],"sourcesContent":["'use strict';\n\nconst { toPlainObject } = require('lodash/fp');\n\nconst { checkBadRequest } = require('../../../utils');\n\nconst usersPermissionsUserUID = 'plugin::users-permissions.user';\n\nmodule.exports = ({ nexus, strapi }) => {\n const { nonNull } = nexus;\n const { getContentTypeInputName, getEntityResponseName } = strapi\n .plugin('graphql')\n .service('utils').naming;\n\n const userContentType = strapi.getModel(usersPermissionsUserUID);\n\n const userInputName = getContentTypeInputName(userContentType);\n const responseName = getEntityResponseName(userContentType);\n\n return {\n type: nonNull(responseName),\n\n args: {\n id: nonNull('ID'),\n data: nonNull(userInputName),\n },\n\n description: 'Update an existing user',\n\n async resolve(parent, args, context) {\n const { koaContext } = context;\n\n koaContext.params = { id: args.id };\n koaContext.request.body = toPlainObject(args.data);\n\n await strapi.plugin('users-permissions').controller('user').update(koaContext);\n\n checkBadRequest(koaContext.body);\n\n return {\n value: koaContext.body,\n info: { args, resourceUID: 'plugin::users-permissions.user' },\n };\n },\n };\n};\n"],"names":["toPlainObject","require$$0","checkBadRequest","require$$1","usersPermissionsUserUID","updateUser","nexus","strapi","nonNull","getContentTypeInputName","getEntityResponseName","plugin","service","naming","userContentType","getModel","userInputName","responseName","type","args","id","data","description","resolve","parent","context","koaContext","params","request","body","controller","update","value","info","resourceUID"],"mappings":";;;;;;;;;;;;;;IAEA,MAAM,EAAEA,aAAa,EAAE,GAAGC,2BAAAA;IAE1B,MAAM,EAAEC,eAAe,EAAE,GAAGC,eAAAA,EAAAA;AAE5B,IAAA,MAAMC,uBAAAA,GAA0B,gCAAA;AAEhCC,IAAAA,UAAAA,GAAiB,CAAC,EAAEC,KAAK,EAAEC,MAAM,EAAE,GAAA;QACjC,MAAM,EAAEC,OAAO,EAAE,GAAGF,KAAAA;AACpB,QAAA,MAAM,EAAEG,uBAAuB,EAAEC,qBAAqB,EAAE,GAAGH,MAAAA,CACxDI,MAAM,CAAC,SAAA,CAAA,CACPC,OAAO,CAAC,SAASC,MAAM;QAE1B,MAAMC,eAAAA,GAAkBP,MAAAA,CAAOQ,QAAQ,CAACX,uBAAAA,CAAAA;AAExC,QAAA,MAAMY,gBAAgBP,uBAAAA,CAAwBK,eAAAA,CAAAA;AAC9C,QAAA,MAAMG,eAAeP,qBAAAA,CAAsBI,eAAAA,CAAAA;QAE3C,OAAO;AACLI,YAAAA,IAAAA,EAAMV,OAAAA,CAAQS,YAAAA,CAAAA;YAEdE,IAAAA,EAAM;AACJC,gBAAAA,EAAAA,EAAIZ,OAAAA,CAAQ,IAAA,CAAA;AACZa,gBAAAA,IAAAA,EAAMb,OAAAA,CAAQQ,aAAAA;AACpB,aAAA;YAEIM,WAAAA,EAAa,yBAAA;AAEb,YAAA,MAAMC,OAAAA,CAAAA,CAAQC,MAAM,EAAEL,IAAI,EAAEM,OAAO,EAAA;gBACjC,MAAM,EAAEC,UAAU,EAAE,GAAGD,OAAAA;AAEvBC,gBAAAA,UAAAA,CAAWC,MAAM,GAAG;AAAEP,oBAAAA,EAAAA,EAAID,KAAKC;AAAE,iBAAA;AACjCM,gBAAAA,UAAAA,CAAWE,OAAO,CAACC,IAAI,GAAG7B,aAAAA,CAAcmB,KAAKE,IAAI,CAAA;gBAEjD,MAAMd,MAAAA,CAAOI,MAAM,CAAC,mBAAA,CAAA,CAAqBmB,UAAU,CAAC,MAAA,CAAA,CAAQC,MAAM,CAACL,UAAAA,CAAAA;AAEnExB,gBAAAA,eAAAA,CAAgBwB,WAAWG,IAAI,CAAA;gBAE/B,OAAO;AACLG,oBAAAA,KAAAA,EAAON,WAAWG,IAAI;oBACtBI,IAAAA,EAAM;AAAEd,wBAAAA,IAAAA;wBAAMe,WAAAA,EAAa;AAAgC;AACnE,iBAAA;AACA,YAAA;AACA,SAAA;AACA,IAAA,CAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"login-input.js","sources":["../../../../server/graphql/types/login-input.js"],"sourcesContent":["'use strict';\n\nmodule.exports = ({ nexus }) => {\n return nexus.inputObjectType({\n name: 'UsersPermissionsLoginInput',\n\n definition(t) {\n t.nonNull.string('identifier');\n t.nonNull.string('password');\n t.nonNull.string('provider', { default: 'local' });\n },\n });\n};\n"],"names":["loginInput","nexus","inputObjectType","name","definition","t","nonNull","string","default"],"mappings":";;;;;;;IAEAA,UAAAA,GAAiB,CAAC,EAAEC,KAAK,EAAE,GAAA;QACzB,OAAOA,KAAAA,CAAMC,eAAe,CAAC;YAC3BC,IAAAA,EAAM,4BAAA;AAENC,YAAAA,UAAAA,CAAAA,CAAWC,CAAC,EAAA;gBACVA,CAAAA,CAAEC,OAAO,CAACC,MAAM,CAAC,YAAA,CAAA;gBACjBF,CAAAA,CAAEC,OAAO,CAACC,MAAM,CAAC,UAAA,CAAA;AACjBF,gBAAAA,CAAAA,CAAEC,OAAO,CAACC,MAAM,CAAC,UAAA,EAAY;oBAAEC,OAAAA,EAAS;;AAC9C,YAAA;AACA,SAAA,CAAA;AACA,IAAA,CAAA;;;;;;"}
1
+ {"version":3,"file":"login-input.js","sources":["../../../../server/graphql/types/login-input.js"],"sourcesContent":["'use strict';\n\nmodule.exports = ({ nexus }) => {\n return nexus.inputObjectType({\n name: 'UsersPermissionsLoginInput',\n\n definition(t) {\n t.nonNull.string('identifier');\n t.nonNull.string('password');\n t.nonNull.string('provider', { default: 'local' });\n },\n });\n};\n"],"names":["loginInput","nexus","inputObjectType","name","definition","t","nonNull","string","default"],"mappings":";;;;;;;IAEAA,UAAAA,GAAiB,CAAC,EAAEC,KAAK,EAAE,GAAA;QACzB,OAAOA,KAAAA,CAAMC,eAAe,CAAC;YAC3BC,IAAAA,EAAM,4BAAA;AAENC,YAAAA,UAAAA,CAAAA,CAAWC,CAAC,EAAA;gBACVA,CAAAA,CAAEC,OAAO,CAACC,MAAM,CAAC,YAAA,CAAA;gBACjBF,CAAAA,CAAEC,OAAO,CAACC,MAAM,CAAC,UAAA,CAAA;AACjBF,gBAAAA,CAAAA,CAAEC,OAAO,CAACC,MAAM,CAAC,UAAA,EAAY;oBAAEC,OAAAA,EAAS;AAAO,iBAAA,CAAA;AACrD,YAAA;AACA,SAAA,CAAA;AACA,IAAA,CAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"login-input.mjs","sources":["../../../../server/graphql/types/login-input.js"],"sourcesContent":["'use strict';\n\nmodule.exports = ({ nexus }) => {\n return nexus.inputObjectType({\n name: 'UsersPermissionsLoginInput',\n\n definition(t) {\n t.nonNull.string('identifier');\n t.nonNull.string('password');\n t.nonNull.string('provider', { default: 'local' });\n },\n });\n};\n"],"names":["loginInput","nexus","inputObjectType","name","definition","t","nonNull","string","default"],"mappings":";;;;;IAEAA,UAAAA,GAAiB,CAAC,EAAEC,KAAK,EAAE,GAAA;QACzB,OAAOA,KAAAA,CAAMC,eAAe,CAAC;YAC3BC,IAAAA,EAAM,4BAAA;AAENC,YAAAA,UAAAA,CAAAA,CAAWC,CAAC,EAAA;gBACVA,CAAAA,CAAEC,OAAO,CAACC,MAAM,CAAC,YAAA,CAAA;gBACjBF,CAAAA,CAAEC,OAAO,CAACC,MAAM,CAAC,UAAA,CAAA;AACjBF,gBAAAA,CAAAA,CAAEC,OAAO,CAACC,MAAM,CAAC,UAAA,EAAY;oBAAEC,OAAAA,EAAS;;AAC9C,YAAA;AACA,SAAA,CAAA;AACA,IAAA,CAAA;;;;;;"}
1
+ {"version":3,"file":"login-input.mjs","sources":["../../../../server/graphql/types/login-input.js"],"sourcesContent":["'use strict';\n\nmodule.exports = ({ nexus }) => {\n return nexus.inputObjectType({\n name: 'UsersPermissionsLoginInput',\n\n definition(t) {\n t.nonNull.string('identifier');\n t.nonNull.string('password');\n t.nonNull.string('provider', { default: 'local' });\n },\n });\n};\n"],"names":["loginInput","nexus","inputObjectType","name","definition","t","nonNull","string","default"],"mappings":";;;;;IAEAA,UAAAA,GAAiB,CAAC,EAAEC,KAAK,EAAE,GAAA;QACzB,OAAOA,KAAAA,CAAMC,eAAe,CAAC;YAC3BC,IAAAA,EAAM,4BAAA;AAENC,YAAAA,UAAAA,CAAAA,CAAWC,CAAC,EAAA;gBACVA,CAAAA,CAAEC,OAAO,CAACC,MAAM,CAAC,YAAA,CAAA;gBACjBF,CAAAA,CAAEC,OAAO,CAACC,MAAM,CAAC,UAAA,CAAA;AACjBF,gBAAAA,CAAAA,CAAEC,OAAO,CAACC,MAAM,CAAC,UAAA,EAAY;oBAAEC,OAAAA,EAAS;AAAO,iBAAA,CAAA;AACrD,YAAA;AACA,SAAA,CAAA;AACA,IAAA,CAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"login-payload.js","sources":["../../../../server/graphql/types/login-payload.js"],"sourcesContent":["'use strict';\n\nmodule.exports = ({ nexus }) => {\n return nexus.objectType({\n name: 'UsersPermissionsLoginPayload',\n\n definition(t) {\n t.string('jwt');\n t.nonNull.field('user', { type: 'UsersPermissionsMe' });\n },\n });\n};\n"],"names":["loginPayload","nexus","objectType","name","definition","t","string","nonNull","field","type"],"mappings":";;;;;;;IAEAA,YAAAA,GAAiB,CAAC,EAAEC,KAAK,EAAE,GAAA;QACzB,OAAOA,KAAAA,CAAMC,UAAU,CAAC;YACtBC,IAAAA,EAAM,8BAAA;AAENC,YAAAA,UAAAA,CAAAA,CAAWC,CAAC,EAAA;AACVA,gBAAAA,CAAAA,CAAEC,MAAM,CAAC,KAAA,CAAA;AACTD,gBAAAA,CAAAA,CAAEE,OAAO,CAACC,KAAK,CAAC,MAAA,EAAQ;oBAAEC,IAAAA,EAAM;;AACtC,YAAA;AACA,SAAA,CAAA;AACA,IAAA,CAAA;;;;;;"}
1
+ {"version":3,"file":"login-payload.js","sources":["../../../../server/graphql/types/login-payload.js"],"sourcesContent":["'use strict';\n\nmodule.exports = ({ nexus }) => {\n return nexus.objectType({\n name: 'UsersPermissionsLoginPayload',\n\n definition(t) {\n t.string('jwt');\n t.nonNull.field('user', { type: 'UsersPermissionsMe' });\n },\n });\n};\n"],"names":["loginPayload","nexus","objectType","name","definition","t","string","nonNull","field","type"],"mappings":";;;;;;;IAEAA,YAAAA,GAAiB,CAAC,EAAEC,KAAK,EAAE,GAAA;QACzB,OAAOA,KAAAA,CAAMC,UAAU,CAAC;YACtBC,IAAAA,EAAM,8BAAA;AAENC,YAAAA,UAAAA,CAAAA,CAAWC,CAAC,EAAA;AACVA,gBAAAA,CAAAA,CAAEC,MAAM,CAAC,KAAA,CAAA;AACTD,gBAAAA,CAAAA,CAAEE,OAAO,CAACC,KAAK,CAAC,MAAA,EAAQ;oBAAEC,IAAAA,EAAM;AAAoB,iBAAA,CAAA;AAC1D,YAAA;AACA,SAAA,CAAA;AACA,IAAA,CAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"login-payload.mjs","sources":["../../../../server/graphql/types/login-payload.js"],"sourcesContent":["'use strict';\n\nmodule.exports = ({ nexus }) => {\n return nexus.objectType({\n name: 'UsersPermissionsLoginPayload',\n\n definition(t) {\n t.string('jwt');\n t.nonNull.field('user', { type: 'UsersPermissionsMe' });\n },\n });\n};\n"],"names":["loginPayload","nexus","objectType","name","definition","t","string","nonNull","field","type"],"mappings":";;;;;IAEAA,YAAAA,GAAiB,CAAC,EAAEC,KAAK,EAAE,GAAA;QACzB,OAAOA,KAAAA,CAAMC,UAAU,CAAC;YACtBC,IAAAA,EAAM,8BAAA;AAENC,YAAAA,UAAAA,CAAAA,CAAWC,CAAC,EAAA;AACVA,gBAAAA,CAAAA,CAAEC,MAAM,CAAC,KAAA,CAAA;AACTD,gBAAAA,CAAAA,CAAEE,OAAO,CAACC,KAAK,CAAC,MAAA,EAAQ;oBAAEC,IAAAA,EAAM;;AACtC,YAAA;AACA,SAAA,CAAA;AACA,IAAA,CAAA;;;;;;"}
1
+ {"version":3,"file":"login-payload.mjs","sources":["../../../../server/graphql/types/login-payload.js"],"sourcesContent":["'use strict';\n\nmodule.exports = ({ nexus }) => {\n return nexus.objectType({\n name: 'UsersPermissionsLoginPayload',\n\n definition(t) {\n t.string('jwt');\n t.nonNull.field('user', { type: 'UsersPermissionsMe' });\n },\n });\n};\n"],"names":["loginPayload","nexus","objectType","name","definition","t","string","nonNull","field","type"],"mappings":";;;;;IAEAA,YAAAA,GAAiB,CAAC,EAAEC,KAAK,EAAE,GAAA;QACzB,OAAOA,KAAAA,CAAMC,UAAU,CAAC;YACtBC,IAAAA,EAAM,8BAAA;AAENC,YAAAA,UAAAA,CAAAA,CAAWC,CAAC,EAAA;AACVA,gBAAAA,CAAAA,CAAEC,MAAM,CAAC,KAAA,CAAA;AACTD,gBAAAA,CAAAA,CAAEE,OAAO,CAACC,KAAK,CAAC,MAAA,EAAQ;oBAAEC,IAAAA,EAAM;AAAoB,iBAAA,CAAA;AAC1D,YAAA;AACA,SAAA,CAAA;AACA,IAAA,CAAA;;;;;;"}
@@ -2,12 +2,16 @@
2
2
 
3
3
  var require$$0 = require('lodash/fp');
4
4
 
5
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
6
+
7
+ var require$$0__default = /*#__PURE__*/_interopDefault(require$$0);
8
+
5
9
  var utils;
6
10
  var hasRequiredUtils;
7
11
  function requireUtils() {
8
12
  if (hasRequiredUtils) return utils;
9
13
  hasRequiredUtils = 1;
10
- const { getOr } = require$$0;
14
+ const { getOr } = require$$0__default.default;
11
15
  /**
12
16
  * Throws an ApolloError if context body contains a bad request
13
17
  * @param contextBody - body of the context object given to the resolver
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../server/graphql/utils.js"],"sourcesContent":["'use strict';\n\nconst { getOr } = require('lodash/fp');\n\n/**\n * Throws an ApolloError if context body contains a bad request\n * @param contextBody - body of the context object given to the resolver\n * @throws ApolloError if the body is a bad request\n */\nfunction checkBadRequest(contextBody) {\n const statusCode = getOr(200, 'statusCode', contextBody);\n\n if (statusCode !== 200) {\n const errorMessage = getOr('Bad Request', 'error', contextBody);\n\n const exception = new Error(errorMessage);\n\n exception.code = statusCode || 400;\n exception.data = contextBody;\n\n throw exception;\n }\n}\n\nmodule.exports = {\n checkBadRequest,\n};\n"],"names":["getOr","require$$0","checkBadRequest","contextBody","statusCode","errorMessage","exception","Error","code","data","utils"],"mappings":";;;;;;;;;IAEA,MAAM,EAAEA,KAAK,EAAE,GAAGC,UAAAA;AAElB;;;;KAKA,SAASC,gBAAgBC,WAAW,EAAA;QAClC,MAAMC,UAAAA,GAAaJ,KAAAA,CAAM,GAAA,EAAK,YAAA,EAAcG,WAAAA,CAAAA;AAE5C,QAAA,IAAIC,eAAe,GAAA,EAAK;YACtB,MAAMC,YAAAA,GAAeL,KAAAA,CAAM,aAAA,EAAe,OAAA,EAASG,WAAAA,CAAAA;YAEnD,MAAMG,SAAAA,GAAY,IAAIC,KAAAA,CAAMF,YAAAA,CAAAA;YAE5BC,SAAAA,CAAUE,IAAI,GAAGJ,UAAAA,IAAc,GAAA;AAC/BE,YAAAA,SAAAA,CAAUG,IAAI,GAAGN,WAAAA;YAEjB,MAAMG,SAAAA;AACV,QAAA;AACA,IAAA;IAEAI,KAAAA,GAAiB;AACfR,QAAAA;AACF,KAAA;;;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../server/graphql/utils.js"],"sourcesContent":["'use strict';\n\nconst { getOr } = require('lodash/fp');\n\n/**\n * Throws an ApolloError if context body contains a bad request\n * @param contextBody - body of the context object given to the resolver\n * @throws ApolloError if the body is a bad request\n */\nfunction checkBadRequest(contextBody) {\n const statusCode = getOr(200, 'statusCode', contextBody);\n\n if (statusCode !== 200) {\n const errorMessage = getOr('Bad Request', 'error', contextBody);\n\n const exception = new Error(errorMessage);\n\n exception.code = statusCode || 400;\n exception.data = contextBody;\n\n throw exception;\n }\n}\n\nmodule.exports = {\n checkBadRequest,\n};\n"],"names":["getOr","require$$0","checkBadRequest","contextBody","statusCode","errorMessage","exception","Error","code","data","utils"],"mappings":";;;;;;;;;;;;;IAEA,MAAM,EAAEA,KAAK,EAAE,GAAGC,2BAAAA;AAElB;;;;KAKA,SAASC,gBAAgBC,WAAW,EAAA;QAClC,MAAMC,UAAAA,GAAaJ,KAAAA,CAAM,GAAA,EAAK,YAAA,EAAcG,WAAAA,CAAAA;AAE5C,QAAA,IAAIC,eAAe,GAAA,EAAK;YACtB,MAAMC,YAAAA,GAAeL,KAAAA,CAAM,aAAA,EAAe,OAAA,EAASG,WAAAA,CAAAA;YAEnD,MAAMG,SAAAA,GAAY,IAAIC,KAAAA,CAAMF,YAAAA,CAAAA;YAE5BC,SAAAA,CAAUE,IAAI,GAAGJ,UAAAA,IAAc,GAAA;AAC/BE,YAAAA,SAAAA,CAAUG,IAAI,GAAGN,WAAAA;YAEjB,MAAMG,SAAAA;AACV,QAAA;AACA,IAAA;IAEAI,KAAAA,GAAiB;AACfR,QAAAA;AACF,KAAA;;;;;;"}
@@ -6,13 +6,20 @@ var require$$1 = require('@strapi/utils');
6
6
  var require$$0 = require('lodash/fp');
7
7
  var require$$3 = require('koa2-ratelimit');
8
8
 
9
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
+
11
+ var require$$1__default$1 = /*#__PURE__*/_interopDefault(require$$1$1);
12
+ var require$$1__default = /*#__PURE__*/_interopDefault(require$$1);
13
+ var require$$0__default = /*#__PURE__*/_interopDefault(require$$0);
14
+ var require$$3__default = /*#__PURE__*/_interopDefault(require$$3);
15
+
9
16
  var hasRequiredRateLimit;
10
17
  function requireRateLimit() {
11
18
  if (hasRequiredRateLimit) return rateLimit.__module.exports;
12
19
  hasRequiredRateLimit = 1;
13
- const path = require$$1$1;
14
- const utils = require$$1;
15
- const { isString, has, toLower } = require$$0;
20
+ const path = require$$1__default$1.default;
21
+ const utils = require$$1__default.default;
22
+ const { isString, has, toLower } = require$$0__default.default;
16
23
  const { RateLimitError } = utils.errors;
17
24
  /**
18
25
  * Routes where the rate-limit key MUST NOT include a user identifier
@@ -103,7 +110,7 @@ function requireRateLimit() {
103
110
  rateLimitConfig.enabled = true;
104
111
  }
105
112
  if (rateLimitConfig.enabled === true) {
106
- const rateLimit = require$$3.RateLimit;
113
+ const rateLimit = require$$3__default.default.RateLimit;
107
114
  const loadConfig = buildRateLimitLoadConfig(ctx, rateLimitConfig, config);
108
115
  return rateLimit.middleware(loadConfig)(ctx, next);
109
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rateLimit.js","sources":["../../../server/middlewares/rateLimit.js"],"sourcesContent":["'use strict';\n\nconst path = require('path');\nconst utils = require('@strapi/utils');\nconst { isString, has, toLower } = require('lodash/fp');\n\nconst { RateLimitError } = utils.errors;\n\n/**\n * Routes where the rate-limit key MUST NOT include a user identifier\n * derived from `ctx.request.body.email`.\n *\n * On these routes the request body either has no `email` field\n * (e.g. /auth/local uses `identifier`, /auth/reset-password uses\n * `code`, /auth/change-password uses `currentPassword`) or the\n * field is not part of the route contract. Including the\n * attacker-controlled `body.email` in the rate-limit key on these\n * routes lets a caller obtain a fresh key on every request by\n * varying that field, effectively bypassing per-IP throttling.\n *\n * Comparison uses endsWith so the check is stable under any router\n * mount prefix (e.g. `/api/auth/local`).\n *\n * @see https://github.com/strapi/strapi/security/advisories/GHSA-7mqx-wwh4-f9fw\n *\n * When adding a new `rateLimit`-protected auth route whose body does not\n * use `email` as the real identifier, add its path suffix here (or an\n * equivalent `routeUsesEmailIdentifier` rule) so the key cannot be split\n * with arbitrary `body.email` values.\n */\nconst ROUTES_WITHOUT_IDENTIFIER = ['/auth/local', '/auth/reset-password', '/auth/change-password'];\n\nconst isOAuthCallbackPath = (requestPath) => requestPath.includes('/connect/');\n\nconst routeUsesEmailIdentifier = (requestPath) => {\n if (isOAuthCallbackPath(requestPath)) {\n return false;\n }\n\n return !ROUTES_WITHOUT_IDENTIFIER.some((route) => requestPath.endsWith(route));\n};\n\n/**\n * Paths suitable for route matching and prefix keys: POSIX-normalized,\n * lower-cased, trailing slashes removed so `/api/auth/local` and\n * `/api/auth/local/` share one bucket.\n */\nconst normalizeRequestPathForRateLimit = (requestPath) => {\n const normalized = path.normalize(requestPath);\n const lower = toLower(normalized);\n return lower.replace(/\\/+$/, '') || '/';\n};\n\nconst getEmailIdentifierForKey = (body) => {\n if (!body || !isString(body.email) || body.email === '') {\n return 'unknownIdentifier';\n }\n\n return toLower(body.email);\n};\n\nconst buildPrefixKey = (ctx) => {\n let requestPath;\n if (!isString(ctx.request.path)) {\n requestPath = 'invalidPath';\n } else {\n requestPath = normalizeRequestPathForRateLimit(ctx.request.path);\n if (requestPath === '.' || requestPath === '..') {\n requestPath = 'invalidPath';\n }\n }\n\n if (!routeUsesEmailIdentifier(requestPath)) {\n return `noIdentifier:${requestPath}:${ctx.request.ip}`;\n }\n\n const userIdentifier = getEmailIdentifierForKey(ctx.request.body);\n return `${userIdentifier}:${requestPath}:${ctx.request.ip}`;\n};\n\nconst buildRateLimitLoadConfig = (ctx, rateLimitConfig, routeMiddlewareConfig) => {\n return {\n interval: { min: 5 },\n max: 5,\n ...rateLimitConfig,\n ...routeMiddlewareConfig,\n handler() {\n throw new RateLimitError();\n },\n prefixKey: buildPrefixKey(ctx),\n };\n};\n\nmodule.exports =\n (config, { strapi }) =>\n async (ctx, next) => {\n let rateLimitConfig = strapi.config.get('plugin::users-permissions.ratelimit');\n\n if (!rateLimitConfig) {\n rateLimitConfig = {\n enabled: true,\n };\n }\n\n if (!has('enabled', rateLimitConfig)) {\n rateLimitConfig.enabled = true;\n }\n\n if (rateLimitConfig.enabled === true) {\n const rateLimit = require('koa2-ratelimit').RateLimit;\n\n const loadConfig = buildRateLimitLoadConfig(ctx, rateLimitConfig, config);\n\n return rateLimit.middleware(loadConfig)(ctx, next);\n }\n\n return next();\n };\n\nmodule.exports.buildPrefixKey = buildPrefixKey;\nmodule.exports.ROUTES_WITHOUT_IDENTIFIER = ROUTES_WITHOUT_IDENTIFIER;\nmodule.exports.normalizeRequestPathForRateLimit = normalizeRequestPathForRateLimit;\nmodule.exports.buildRateLimitLoadConfig = buildRateLimitLoadConfig;\n"],"names":["path","require$$0","utils","require$$1","isString","has","toLower","require$$2","RateLimitError","errors","ROUTES_WITHOUT_IDENTIFIER","isOAuthCallbackPath","requestPath","includes","routeUsesEmailIdentifier","some","route","endsWith","normalizeRequestPathForRateLimit","normalized","normalize","lower","replace","getEmailIdentifierForKey","body","email","buildPrefixKey","ctx","request","ip","userIdentifier","buildRateLimitLoadConfig","rateLimitConfig","routeMiddlewareConfig","interval","min","max","handler","prefixKey","rateLimitModule","exports","config","strapi","next","get","enabled","rateLimit","require$$3","RateLimit","loadConfig","middleware"],"mappings":"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"}
1
+ {"version":3,"file":"rateLimit.js","sources":["../../../server/middlewares/rateLimit.js"],"sourcesContent":["'use strict';\n\nconst path = require('path');\nconst utils = require('@strapi/utils');\nconst { isString, has, toLower } = require('lodash/fp');\n\nconst { RateLimitError } = utils.errors;\n\n/**\n * Routes where the rate-limit key MUST NOT include a user identifier\n * derived from `ctx.request.body.email`.\n *\n * On these routes the request body either has no `email` field\n * (e.g. /auth/local uses `identifier`, /auth/reset-password uses\n * `code`, /auth/change-password uses `currentPassword`) or the\n * field is not part of the route contract. Including the\n * attacker-controlled `body.email` in the rate-limit key on these\n * routes lets a caller obtain a fresh key on every request by\n * varying that field, effectively bypassing per-IP throttling.\n *\n * Comparison uses endsWith so the check is stable under any router\n * mount prefix (e.g. `/api/auth/local`).\n *\n * @see https://github.com/strapi/strapi/security/advisories/GHSA-7mqx-wwh4-f9fw\n *\n * When adding a new `rateLimit`-protected auth route whose body does not\n * use `email` as the real identifier, add its path suffix here (or an\n * equivalent `routeUsesEmailIdentifier` rule) so the key cannot be split\n * with arbitrary `body.email` values.\n */\nconst ROUTES_WITHOUT_IDENTIFIER = ['/auth/local', '/auth/reset-password', '/auth/change-password'];\n\nconst isOAuthCallbackPath = (requestPath) => requestPath.includes('/connect/');\n\nconst routeUsesEmailIdentifier = (requestPath) => {\n if (isOAuthCallbackPath(requestPath)) {\n return false;\n }\n\n return !ROUTES_WITHOUT_IDENTIFIER.some((route) => requestPath.endsWith(route));\n};\n\n/**\n * Paths suitable for route matching and prefix keys: POSIX-normalized,\n * lower-cased, trailing slashes removed so `/api/auth/local` and\n * `/api/auth/local/` share one bucket.\n */\nconst normalizeRequestPathForRateLimit = (requestPath) => {\n const normalized = path.normalize(requestPath);\n const lower = toLower(normalized);\n return lower.replace(/\\/+$/, '') || '/';\n};\n\nconst getEmailIdentifierForKey = (body) => {\n if (!body || !isString(body.email) || body.email === '') {\n return 'unknownIdentifier';\n }\n\n return toLower(body.email);\n};\n\nconst buildPrefixKey = (ctx) => {\n let requestPath;\n if (!isString(ctx.request.path)) {\n requestPath = 'invalidPath';\n } else {\n requestPath = normalizeRequestPathForRateLimit(ctx.request.path);\n if (requestPath === '.' || requestPath === '..') {\n requestPath = 'invalidPath';\n }\n }\n\n if (!routeUsesEmailIdentifier(requestPath)) {\n return `noIdentifier:${requestPath}:${ctx.request.ip}`;\n }\n\n const userIdentifier = getEmailIdentifierForKey(ctx.request.body);\n return `${userIdentifier}:${requestPath}:${ctx.request.ip}`;\n};\n\nconst buildRateLimitLoadConfig = (ctx, rateLimitConfig, routeMiddlewareConfig) => {\n return {\n interval: { min: 5 },\n max: 5,\n ...rateLimitConfig,\n ...routeMiddlewareConfig,\n handler() {\n throw new RateLimitError();\n },\n prefixKey: buildPrefixKey(ctx),\n };\n};\n\nmodule.exports =\n (config, { strapi }) =>\n async (ctx, next) => {\n let rateLimitConfig = strapi.config.get('plugin::users-permissions.ratelimit');\n\n if (!rateLimitConfig) {\n rateLimitConfig = {\n enabled: true,\n };\n }\n\n if (!has('enabled', rateLimitConfig)) {\n rateLimitConfig.enabled = true;\n }\n\n if (rateLimitConfig.enabled === true) {\n const rateLimit = require('koa2-ratelimit').RateLimit;\n\n const loadConfig = buildRateLimitLoadConfig(ctx, rateLimitConfig, config);\n\n return rateLimit.middleware(loadConfig)(ctx, next);\n }\n\n return next();\n };\n\nmodule.exports.buildPrefixKey = buildPrefixKey;\nmodule.exports.ROUTES_WITHOUT_IDENTIFIER = ROUTES_WITHOUT_IDENTIFIER;\nmodule.exports.normalizeRequestPathForRateLimit = normalizeRequestPathForRateLimit;\nmodule.exports.buildRateLimitLoadConfig = buildRateLimitLoadConfig;\n"],"names":["path","require$$0","utils","require$$1","isString","has","toLower","require$$2","RateLimitError","errors","ROUTES_WITHOUT_IDENTIFIER","isOAuthCallbackPath","requestPath","includes","routeUsesEmailIdentifier","some","route","endsWith","normalizeRequestPathForRateLimit","normalized","normalize","lower","replace","getEmailIdentifierForKey","body","email","buildPrefixKey","ctx","request","ip","userIdentifier","buildRateLimitLoadConfig","rateLimitConfig","routeMiddlewareConfig","interval","min","max","handler","prefixKey","rateLimitModule","exports","config","strapi","next","get","enabled","rateLimit","require$$3","RateLimit","loadConfig","middleware"],"mappings":"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"}
@@ -6,13 +6,18 @@ var usersPermissions = require('./strategies/users-permissions.js');
6
6
  var sanitizers = require('./utils/sanitize/sanitizers.js');
7
7
  var index = require('./graphql/index.js');
8
8
 
9
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
+
11
+ var require$$0__default = /*#__PURE__*/_interopDefault(require$$0);
12
+ var require$$1__default = /*#__PURE__*/_interopDefault(require$$1);
13
+
9
14
  var register;
10
15
  var hasRequiredRegister;
11
16
  function requireRegister() {
12
17
  if (hasRequiredRegister) return register;
13
18
  hasRequiredRegister = 1;
14
- const fs = require$$0;
15
- const path = require$$1;
19
+ const fs = require$$0__default.default;
20
+ const path = require$$1__default.default;
16
21
  const authStrategy = usersPermissions.__require();
17
22
  const sanitizers$1 = sanitizers.__require();
18
23
  register = ({ strapi })=>{
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sources":["../../server/register.js"],"sourcesContent":["'use strict';\n\nconst fs = require('fs');\nconst path = require('path');\n\nconst authStrategy = require('./strategies/users-permissions');\nconst sanitizers = require('./utils/sanitize/sanitizers');\n\nmodule.exports = ({ strapi }) => {\n strapi.get('auth').register('content-api', authStrategy);\n strapi.sanitizers.add('content-api.output', sanitizers.defaultSanitizeOutput);\n\n if (strapi.plugin('graphql')) {\n require('./graphql')({ strapi });\n }\n\n if (strapi.plugin('documentation')) {\n const specPath = path.join(__dirname, '../../documentation/content-api.yaml');\n const spec = fs.readFileSync(specPath, 'utf8');\n\n strapi\n .plugin('documentation')\n .service('override')\n .registerOverride(spec, {\n pluginOrigin: 'users-permissions',\n excludeFromGeneration: ['users-permissions'],\n });\n }\n};\n"],"names":["fs","require$$0","path","require$$1","authStrategy","require$$2","sanitizers","require$$3","register","strapi","get","add","defaultSanitizeOutput","plugin","require$$4","specPath","join","__dirname","spec","readFileSync","service","registerOverride","pluginOrigin","excludeFromGeneration"],"mappings":";;;;;;;;;;;;;AAEA,IAAA,MAAMA,EAAAA,GAAKC,UAAAA;AACX,IAAA,MAAMC,IAAAA,GAAOC,UAAAA;AAEb,IAAA,MAAMC,YAAAA,GAAeC,0BAAAA,EAAAA;AACrB,IAAA,MAAMC,YAAAA,GAAaC,oBAAAA,EAAAA;IAEnBC,QAAAA,GAAiB,CAAC,EAAEC,MAAM,EAAE,GAAA;AAC1BA,QAAAA,MAAAA,CAAOC,GAAG,CAAC,MAAA,CAAA,CAAQF,QAAQ,CAAC,aAAA,EAAeJ,YAAAA,CAAAA;AAC3CK,QAAAA,MAAAA,CAAOH,UAAU,CAACK,GAAG,CAAC,oBAAA,EAAsBL,aAAWM,qBAAqB,CAAA;QAE5E,IAAIH,MAAAA,CAAOI,MAAM,CAAC,SAAA,CAAA,EAAY;YAC5BC,eAAAA,EAAAA,CAAqB;AAAEL,gBAAAA;;AAC3B,QAAA;QAEE,IAAIA,MAAAA,CAAOI,MAAM,CAAC,eAAA,CAAA,EAAkB;AAClC,YAAA,MAAME,QAAAA,GAAWb,IAAAA,CAAKc,IAAI,CAACC,SAAAA,EAAW,sCAAA,CAAA;AACtC,YAAA,MAAMC,IAAAA,GAAOlB,EAAAA,CAAGmB,YAAY,CAACJ,QAAAA,EAAU,MAAA,CAAA;YAEvCN,MAAAA,CACGI,MAAM,CAAC,eAAA,CAAA,CACPO,OAAO,CAAC,UAAA,CAAA,CACRC,gBAAgB,CAACH,IAAAA,EAAM;gBACtBI,YAAAA,EAAc,mBAAA;gBACdC,qBAAAA,EAAuB;AAAC,oBAAA;AAAoB;AACpD,aAAA,CAAA;AACA,QAAA;AACA,IAAA,CAAA;;;;;;"}
1
+ {"version":3,"file":"register.js","sources":["../../server/register.js"],"sourcesContent":["'use strict';\n\nconst fs = require('fs');\nconst path = require('path');\n\nconst authStrategy = require('./strategies/users-permissions');\nconst sanitizers = require('./utils/sanitize/sanitizers');\n\nmodule.exports = ({ strapi }) => {\n strapi.get('auth').register('content-api', authStrategy);\n strapi.sanitizers.add('content-api.output', sanitizers.defaultSanitizeOutput);\n\n if (strapi.plugin('graphql')) {\n require('./graphql')({ strapi });\n }\n\n if (strapi.plugin('documentation')) {\n const specPath = path.join(__dirname, '../../documentation/content-api.yaml');\n const spec = fs.readFileSync(specPath, 'utf8');\n\n strapi\n .plugin('documentation')\n .service('override')\n .registerOverride(spec, {\n pluginOrigin: 'users-permissions',\n excludeFromGeneration: ['users-permissions'],\n });\n }\n};\n"],"names":["fs","require$$0","path","require$$1","authStrategy","require$$2","sanitizers","require$$3","register","strapi","get","add","defaultSanitizeOutput","plugin","require$$4","specPath","join","__dirname","spec","readFileSync","service","registerOverride","pluginOrigin","excludeFromGeneration"],"mappings":";;;;;;;;;;;;;;;;;;AAEA,IAAA,MAAMA,EAAAA,GAAKC,2BAAAA;AACX,IAAA,MAAMC,IAAAA,GAAOC,2BAAAA;AAEb,IAAA,MAAMC,YAAAA,GAAeC,0BAAAA,EAAAA;AACrB,IAAA,MAAMC,YAAAA,GAAaC,oBAAAA,EAAAA;IAEnBC,QAAAA,GAAiB,CAAC,EAAEC,MAAM,EAAE,GAAA;AAC1BA,QAAAA,MAAAA,CAAOC,GAAG,CAAC,MAAA,CAAA,CAAQF,QAAQ,CAAC,aAAA,EAAeJ,YAAAA,CAAAA;AAC3CK,QAAAA,MAAAA,CAAOH,UAAU,CAACK,GAAG,CAAC,oBAAA,EAAsBL,aAAWM,qBAAqB,CAAA;QAE5E,IAAIH,MAAAA,CAAOI,MAAM,CAAC,SAAA,CAAA,EAAY;YAC5BC,eAAAA,EAAAA,CAAqB;AAAEL,gBAAAA;AAAM,aAAA,CAAA;AACjC,QAAA;QAEE,IAAIA,MAAAA,CAAOI,MAAM,CAAC,eAAA,CAAA,EAAkB;AAClC,YAAA,MAAME,QAAAA,GAAWb,IAAAA,CAAKc,IAAI,CAACC,SAAAA,EAAW,sCAAA,CAAA;AACtC,YAAA,MAAMC,IAAAA,GAAOlB,EAAAA,CAAGmB,YAAY,CAACJ,QAAAA,EAAU,MAAA,CAAA;YAEvCN,MAAAA,CACGI,MAAM,CAAC,eAAA,CAAA,CACPO,OAAO,CAAC,UAAA,CAAA,CACRC,gBAAgB,CAACH,IAAAA,EAAM;gBACtBI,YAAAA,EAAc,mBAAA;gBACdC,qBAAAA,EAAuB;AAAC,oBAAA;AAAoB;AACpD,aAAA,CAAA;AACA,QAAA;AACA,IAAA,CAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"register.mjs","sources":["../../server/register.js"],"sourcesContent":["'use strict';\n\nconst fs = require('fs');\nconst path = require('path');\n\nconst authStrategy = require('./strategies/users-permissions');\nconst sanitizers = require('./utils/sanitize/sanitizers');\n\nmodule.exports = ({ strapi }) => {\n strapi.get('auth').register('content-api', authStrategy);\n strapi.sanitizers.add('content-api.output', sanitizers.defaultSanitizeOutput);\n\n if (strapi.plugin('graphql')) {\n require('./graphql')({ strapi });\n }\n\n if (strapi.plugin('documentation')) {\n const specPath = path.join(__dirname, '../../documentation/content-api.yaml');\n const spec = fs.readFileSync(specPath, 'utf8');\n\n strapi\n .plugin('documentation')\n .service('override')\n .registerOverride(spec, {\n pluginOrigin: 'users-permissions',\n excludeFromGeneration: ['users-permissions'],\n });\n }\n};\n"],"names":["fs","require$$0","path","require$$1","authStrategy","require$$2","sanitizers","require$$3","register","strapi","get","add","defaultSanitizeOutput","plugin","require$$4","specPath","join","__dirname","spec","readFileSync","service","registerOverride","pluginOrigin","excludeFromGeneration"],"mappings":";;;;;;;;;;;AAEA,IAAA,MAAMA,EAAAA,GAAKC,UAAAA;AACX,IAAA,MAAMC,IAAAA,GAAOC,UAAAA;AAEb,IAAA,MAAMC,YAAAA,GAAeC,uBAAAA,EAAAA;AACrB,IAAA,MAAMC,UAAAA,GAAaC,iBAAAA,EAAAA;IAEnBC,QAAAA,GAAiB,CAAC,EAAEC,MAAM,EAAE,GAAA;AAC1BA,QAAAA,MAAAA,CAAOC,GAAG,CAAC,MAAA,CAAA,CAAQF,QAAQ,CAAC,aAAA,EAAeJ,YAAAA,CAAAA;AAC3CK,QAAAA,MAAAA,CAAOH,UAAU,CAACK,GAAG,CAAC,oBAAA,EAAsBL,WAAWM,qBAAqB,CAAA;QAE5E,IAAIH,MAAAA,CAAOI,MAAM,CAAC,SAAA,CAAA,EAAY;YAC5BC,cAAAA,EAAAA,CAAqB;AAAEL,gBAAAA;;AAC3B,QAAA;QAEE,IAAIA,MAAAA,CAAOI,MAAM,CAAC,eAAA,CAAA,EAAkB;AAClC,YAAA,MAAME,QAAAA,GAAWb,IAAAA,CAAKc,IAAI,CAACC,SAAAA,EAAW,sCAAA,CAAA;AACtC,YAAA,MAAMC,IAAAA,GAAOlB,EAAAA,CAAGmB,YAAY,CAACJ,QAAAA,EAAU,MAAA,CAAA;YAEvCN,MAAAA,CACGI,MAAM,CAAC,eAAA,CAAA,CACPO,OAAO,CAAC,UAAA,CAAA,CACRC,gBAAgB,CAACH,IAAAA,EAAM;gBACtBI,YAAAA,EAAc,mBAAA;gBACdC,qBAAAA,EAAuB;AAAC,oBAAA;AAAoB;AACpD,aAAA,CAAA;AACA,QAAA;AACA,IAAA,CAAA;;;;;;"}
1
+ {"version":3,"file":"register.mjs","sources":["../../server/register.js"],"sourcesContent":["'use strict';\n\nconst fs = require('fs');\nconst path = require('path');\n\nconst authStrategy = require('./strategies/users-permissions');\nconst sanitizers = require('./utils/sanitize/sanitizers');\n\nmodule.exports = ({ strapi }) => {\n strapi.get('auth').register('content-api', authStrategy);\n strapi.sanitizers.add('content-api.output', sanitizers.defaultSanitizeOutput);\n\n if (strapi.plugin('graphql')) {\n require('./graphql')({ strapi });\n }\n\n if (strapi.plugin('documentation')) {\n const specPath = path.join(__dirname, '../../documentation/content-api.yaml');\n const spec = fs.readFileSync(specPath, 'utf8');\n\n strapi\n .plugin('documentation')\n .service('override')\n .registerOverride(spec, {\n pluginOrigin: 'users-permissions',\n excludeFromGeneration: ['users-permissions'],\n });\n }\n};\n"],"names":["fs","require$$0","path","require$$1","authStrategy","require$$2","sanitizers","require$$3","register","strapi","get","add","defaultSanitizeOutput","plugin","require$$4","specPath","join","__dirname","spec","readFileSync","service","registerOverride","pluginOrigin","excludeFromGeneration"],"mappings":";;;;;;;;;;;AAEA,IAAA,MAAMA,EAAAA,GAAKC,UAAAA;AACX,IAAA,MAAMC,IAAAA,GAAOC,UAAAA;AAEb,IAAA,MAAMC,YAAAA,GAAeC,uBAAAA,EAAAA;AACrB,IAAA,MAAMC,UAAAA,GAAaC,iBAAAA,EAAAA;IAEnBC,QAAAA,GAAiB,CAAC,EAAEC,MAAM,EAAE,GAAA;AAC1BA,QAAAA,MAAAA,CAAOC,GAAG,CAAC,MAAA,CAAA,CAAQF,QAAQ,CAAC,aAAA,EAAeJ,YAAAA,CAAAA;AAC3CK,QAAAA,MAAAA,CAAOH,UAAU,CAACK,GAAG,CAAC,oBAAA,EAAsBL,WAAWM,qBAAqB,CAAA;QAE5E,IAAIH,MAAAA,CAAOI,MAAM,CAAC,SAAA,CAAA,EAAY;YAC5BC,cAAAA,EAAAA,CAAqB;AAAEL,gBAAAA;AAAM,aAAA,CAAA;AACjC,QAAA;QAEE,IAAIA,MAAAA,CAAOI,MAAM,CAAC,eAAA,CAAA,EAAkB;AAClC,YAAA,MAAME,QAAAA,GAAWb,IAAAA,CAAKc,IAAI,CAACC,SAAAA,EAAW,sCAAA,CAAA;AACtC,YAAA,MAAMC,IAAAA,GAAOlB,EAAAA,CAAGmB,YAAY,CAACJ,QAAAA,EAAU,MAAA,CAAA;YAEvCN,MAAAA,CACGI,MAAM,CAAC,eAAA,CAAA,CACPO,OAAO,CAAC,UAAA,CAAA,CACRC,gBAAgB,CAACH,IAAAA,EAAM;gBACtBI,YAAAA,EAAc,mBAAA;gBACdC,qBAAAA,EAAuB;AAAC,oBAAA;AAAoB;AACpD,aAAA,CAAA;AACA,QAAA;AACA,IAAA,CAAA;;;;;;"}
@@ -6,12 +6,16 @@ var user = require('./user.js');
6
6
  var role = require('./role.js');
7
7
  var permissions = require('./permissions.js');
8
8
 
9
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
+
11
+ var require$$1__default = /*#__PURE__*/_interopDefault(require$$1);
12
+
9
13
  var contentApi;
10
14
  var hasRequiredContentApi;
11
15
  function requireContentApi() {
12
16
  if (hasRequiredContentApi) return contentApi;
13
17
  hasRequiredContentApi = 1;
14
- const { createContentApiRoutesFactory } = require$$1;
18
+ const { createContentApiRoutesFactory } = require$$1__default.default;
15
19
  const authRoutes = auth.__require();
16
20
  const userRoutes = user.__require();
17
21
  const roleRoutes = role.__require();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../server/routes/content-api/index.js"],"sourcesContent":["'use strict';\n\nconst { createContentApiRoutesFactory } = require('@strapi/utils');\nconst authRoutes = require('./auth');\nconst userRoutes = require('./user');\nconst roleRoutes = require('./role');\nconst permissionsRoutes = require('./permissions');\n\nconst createContentApiRoutes = createContentApiRoutesFactory(() => {\n return [\n ...authRoutes(strapi),\n ...userRoutes(strapi),\n ...roleRoutes(strapi),\n ...permissionsRoutes(strapi),\n ];\n});\n\nmodule.exports = createContentApiRoutes;\n"],"names":["createContentApiRoutesFactory","require$$0","authRoutes","require$$1","userRoutes","require$$2","roleRoutes","require$$3","permissionsRoutes","require$$4","createContentApiRoutes","strapi","contentApi"],"mappings":";;;;;;;;;;;;;IAEA,MAAM,EAAEA,6BAA6B,EAAE,GAAGC,UAAAA;AAC1C,IAAA,MAAMC,UAAAA,GAAaC,cAAAA,EAAAA;AACnB,IAAA,MAAMC,UAAAA,GAAaC,cAAAA,EAAAA;AACnB,IAAA,MAAMC,UAAAA,GAAaC,cAAAA,EAAAA;AACnB,IAAA,MAAMC,iBAAAA,GAAoBC,qBAAAA,EAAAA;AAE1B,IAAA,MAAMC,yBAAyBV,6BAAAA,CAA8B,IAAA;QAC3D,OAAO;eACFE,UAAAA,CAAWS,MAAAA,CAAAA;eACXP,UAAAA,CAAWO,MAAAA,CAAAA;eACXL,UAAAA,CAAWK,MAAAA,CAAAA;eACXH,iBAAAA,CAAkBG,MAAAA;AACtB,SAAA;AACH,IAAA,CAAA,CAAA;IAEAC,UAAAA,GAAiBF,sBAAAA;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../server/routes/content-api/index.js"],"sourcesContent":["'use strict';\n\nconst { createContentApiRoutesFactory } = require('@strapi/utils');\nconst authRoutes = require('./auth');\nconst userRoutes = require('./user');\nconst roleRoutes = require('./role');\nconst permissionsRoutes = require('./permissions');\n\nconst createContentApiRoutes = createContentApiRoutesFactory(() => {\n return [\n ...authRoutes(strapi),\n ...userRoutes(strapi),\n ...roleRoutes(strapi),\n ...permissionsRoutes(strapi),\n ];\n});\n\nmodule.exports = createContentApiRoutes;\n"],"names":["createContentApiRoutesFactory","require$$0","authRoutes","require$$1","userRoutes","require$$2","roleRoutes","require$$3","permissionsRoutes","require$$4","createContentApiRoutes","strapi","contentApi"],"mappings":";;;;;;;;;;;;;;;;;IAEA,MAAM,EAAEA,6BAA6B,EAAE,GAAGC,2BAAAA;AAC1C,IAAA,MAAMC,UAAAA,GAAaC,cAAAA,EAAAA;AACnB,IAAA,MAAMC,UAAAA,GAAaC,cAAAA,EAAAA;AACnB,IAAA,MAAMC,UAAAA,GAAaC,cAAAA,EAAAA;AACnB,IAAA,MAAMC,iBAAAA,GAAoBC,qBAAAA,EAAAA;AAE1B,IAAA,MAAMC,yBAAyBV,6BAAAA,CAA8B,IAAA;QAC3D,OAAO;eACFE,UAAAA,CAAWS,MAAAA,CAAAA;eACXP,UAAAA,CAAWO,MAAAA,CAAAA;eACXL,UAAAA,CAAWK,MAAAA,CAAAA;eACXH,iBAAAA,CAAkBG,MAAAA;AACtB,SAAA;AACH,IAAA,CAAA,CAAA;IAEAC,UAAAA,GAAiBF,sBAAAA;;;;;;"}
@@ -3,12 +3,16 @@
3
3
  var require$$1 = require('zod/v4');
4
4
  var validation = require('./validation.js');
5
5
 
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
+
8
+ var require$$1__default = /*#__PURE__*/_interopDefault(require$$1);
9
+
6
10
  var user;
7
11
  var hasRequiredUser;
8
12
  function requireUser() {
9
13
  if (hasRequiredUser) return user;
10
14
  hasRequiredUser = 1;
11
- const z = require$$1;
15
+ const z = require$$1__default.default;
12
16
  const { UsersPermissionsRouteValidator } = validation.__require();
13
17
  user = (strapi)=>{
14
18
  const validator = new UsersPermissionsRouteValidator(strapi);
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sources":["../../../../server/routes/content-api/user.js"],"sourcesContent":["'use strict';\n\nconst z = require('zod/v4');\nconst { UsersPermissionsRouteValidator } = require('./validation');\n\nmodule.exports = (strapi) => {\n const validator = new UsersPermissionsRouteValidator(strapi);\n\n return [\n {\n method: 'GET',\n path: '/users/count',\n handler: 'user.count',\n config: {\n prefix: '',\n },\n request: {\n query: {\n filters: validator.filters.optional(),\n },\n },\n response: z.number(),\n },\n {\n method: 'GET',\n path: '/users',\n handler: 'user.find',\n config: {\n prefix: '',\n },\n request: {\n query: {\n fields: validator.queryFields.optional(),\n populate: validator.queryPopulate.optional(),\n sort: validator.querySort.optional(),\n pagination: validator.pagination.optional(),\n filters: validator.filters.optional(),\n },\n },\n response: z.array(validator.userSchema),\n },\n {\n method: 'GET',\n path: '/users/me',\n handler: 'user.me',\n config: {\n prefix: '',\n },\n request: {\n query: {\n fields: validator.queryFields.optional(),\n populate: validator.queryPopulate.optional(),\n },\n },\n response: validator.userSchema,\n },\n {\n method: 'GET',\n path: '/users/:id',\n handler: 'user.findOne',\n config: {\n prefix: '',\n },\n request: {\n params: {\n id: validator.userIdParam,\n },\n query: {\n fields: validator.queryFields.optional(),\n populate: validator.queryPopulate.optional(),\n },\n },\n response: validator.userSchema,\n },\n {\n method: 'POST',\n path: '/users',\n handler: 'user.create',\n config: {\n prefix: '',\n },\n request: {\n body: { 'application/json': validator.createUserBodySchema },\n },\n response: validator.userSchema,\n },\n {\n method: 'PUT',\n path: '/users/:id',\n handler: 'user.update',\n config: {\n prefix: '',\n },\n request: {\n params: {\n id: validator.userIdParam,\n },\n body: { 'application/json': validator.updateUserBodySchema },\n },\n response: validator.userSchema,\n },\n {\n method: 'DELETE',\n path: '/users/:id',\n handler: 'user.destroy',\n config: {\n prefix: '',\n },\n request: {\n params: {\n id: validator.userIdParam,\n },\n },\n response: validator.userSchema,\n },\n ];\n};\n"],"names":["z","require$$0","UsersPermissionsRouteValidator","require$$1","user","strapi","validator","method","path","handler","config","prefix","request","query","filters","optional","response","number","fields","queryFields","populate","queryPopulate","sort","querySort","pagination","array","userSchema","params","id","userIdParam","body","createUserBodySchema","updateUserBodySchema"],"mappings":";;;;;;;;;;AAEA,IAAA,MAAMA,CAAAA,GAAIC,UAAAA;IACV,MAAM,EAAEC,8BAA8B,EAAE,GAAGC,oBAAAA,EAAAA;AAE3CC,IAAAA,IAAAA,GAAiB,CAACC,MAAAA,GAAAA;QAChB,MAAMC,SAAAA,GAAY,IAAIJ,8BAAAA,CAA+BG,MAAAA,CAAAA;QAErD,OAAO;AACL,YAAA;gBACEE,MAAAA,EAAQ,KAAA;gBACRC,IAAAA,EAAM,cAAA;gBACNC,OAAAA,EAAS,YAAA;gBACTC,MAAAA,EAAQ;oBACNC,MAAAA,EAAQ;AAChB,iBAAA;gBACMC,OAAAA,EAAS;oBACPC,KAAAA,EAAO;wBACLC,OAAAA,EAASR,SAAAA,CAAUQ,OAAO,CAACC,QAAQ;AAC7C;AACA,iBAAA;AACMC,gBAAAA,QAAAA,EAAUhB,EAAEiB,MAAM;AACxB,aAAA;AACI,YAAA;gBACEV,MAAAA,EAAQ,KAAA;gBACRC,IAAAA,EAAM,QAAA;gBACNC,OAAAA,EAAS,WAAA;gBACTC,MAAAA,EAAQ;oBACNC,MAAAA,EAAQ;AAChB,iBAAA;gBACMC,OAAAA,EAAS;oBACPC,KAAAA,EAAO;wBACLK,MAAAA,EAAQZ,SAAAA,CAAUa,WAAW,CAACJ,QAAQ,EAAA;wBACtCK,QAAAA,EAAUd,SAAAA,CAAUe,aAAa,CAACN,QAAQ,EAAA;wBAC1CO,IAAAA,EAAMhB,SAAAA,CAAUiB,SAAS,CAACR,QAAQ,EAAA;wBAClCS,UAAAA,EAAYlB,SAAAA,CAAUkB,UAAU,CAACT,QAAQ,EAAA;wBACzCD,OAAAA,EAASR,SAAAA,CAAUQ,OAAO,CAACC,QAAQ;AAC7C;AACA,iBAAA;AACMC,gBAAAA,QAAAA,EAAUhB,CAAAA,CAAEyB,KAAK,CAACnB,SAAAA,CAAUoB,UAAU;AAC5C,aAAA;AACI,YAAA;gBACEnB,MAAAA,EAAQ,KAAA;gBACRC,IAAAA,EAAM,WAAA;gBACNC,OAAAA,EAAS,SAAA;gBACTC,MAAAA,EAAQ;oBACNC,MAAAA,EAAQ;AAChB,iBAAA;gBACMC,OAAAA,EAAS;oBACPC,KAAAA,EAAO;wBACLK,MAAAA,EAAQZ,SAAAA,CAAUa,WAAW,CAACJ,QAAQ,EAAA;wBACtCK,QAAAA,EAAUd,SAAAA,CAAUe,aAAa,CAACN,QAAQ;AACpD;AACA,iBAAA;AACMC,gBAAAA,QAAAA,EAAUV,UAAUoB;AAC1B,aAAA;AACI,YAAA;gBACEnB,MAAAA,EAAQ,KAAA;gBACRC,IAAAA,EAAM,YAAA;gBACNC,OAAAA,EAAS,cAAA;gBACTC,MAAAA,EAAQ;oBACNC,MAAAA,EAAQ;AAChB,iBAAA;gBACMC,OAAAA,EAAS;oBACPe,MAAAA,EAAQ;AACNC,wBAAAA,EAAAA,EAAItB,UAAUuB;AACxB,qBAAA;oBACQhB,KAAAA,EAAO;wBACLK,MAAAA,EAAQZ,SAAAA,CAAUa,WAAW,CAACJ,QAAQ,EAAA;wBACtCK,QAAAA,EAAUd,SAAAA,CAAUe,aAAa,CAACN,QAAQ;AACpD;AACA,iBAAA;AACMC,gBAAAA,QAAAA,EAAUV,UAAUoB;AAC1B,aAAA;AACI,YAAA;gBACEnB,MAAAA,EAAQ,MAAA;gBACRC,IAAAA,EAAM,QAAA;gBACNC,OAAAA,EAAS,aAAA;gBACTC,MAAAA,EAAQ;oBACNC,MAAAA,EAAQ;AAChB,iBAAA;gBACMC,OAAAA,EAAS;oBACPkB,IAAAA,EAAM;AAAE,wBAAA,kBAAA,EAAoBxB,UAAUyB;AAAoB;AAClE,iBAAA;AACMf,gBAAAA,QAAAA,EAAUV,UAAUoB;AAC1B,aAAA;AACI,YAAA;gBACEnB,MAAAA,EAAQ,KAAA;gBACRC,IAAAA,EAAM,YAAA;gBACNC,OAAAA,EAAS,aAAA;gBACTC,MAAAA,EAAQ;oBACNC,MAAAA,EAAQ;AAChB,iBAAA;gBACMC,OAAAA,EAAS;oBACPe,MAAAA,EAAQ;AACNC,wBAAAA,EAAAA,EAAItB,UAAUuB;AACxB,qBAAA;oBACQC,IAAAA,EAAM;AAAE,wBAAA,kBAAA,EAAoBxB,UAAU0B;AAAoB;AAClE,iBAAA;AACMhB,gBAAAA,QAAAA,EAAUV,UAAUoB;AAC1B,aAAA;AACI,YAAA;gBACEnB,MAAAA,EAAQ,QAAA;gBACRC,IAAAA,EAAM,YAAA;gBACNC,OAAAA,EAAS,cAAA;gBACTC,MAAAA,EAAQ;oBACNC,MAAAA,EAAQ;AAChB,iBAAA;gBACMC,OAAAA,EAAS;oBACPe,MAAAA,EAAQ;AACNC,wBAAAA,EAAAA,EAAItB,UAAUuB;AACxB;AACA,iBAAA;AACMb,gBAAAA,QAAAA,EAAUV,UAAUoB;AAC1B;AACG,SAAA;AACH,IAAA,CAAA;;;;;;"}
1
+ {"version":3,"file":"user.js","sources":["../../../../server/routes/content-api/user.js"],"sourcesContent":["'use strict';\n\nconst z = require('zod/v4');\nconst { UsersPermissionsRouteValidator } = require('./validation');\n\nmodule.exports = (strapi) => {\n const validator = new UsersPermissionsRouteValidator(strapi);\n\n return [\n {\n method: 'GET',\n path: '/users/count',\n handler: 'user.count',\n config: {\n prefix: '',\n },\n request: {\n query: {\n filters: validator.filters.optional(),\n },\n },\n response: z.number(),\n },\n {\n method: 'GET',\n path: '/users',\n handler: 'user.find',\n config: {\n prefix: '',\n },\n request: {\n query: {\n fields: validator.queryFields.optional(),\n populate: validator.queryPopulate.optional(),\n sort: validator.querySort.optional(),\n pagination: validator.pagination.optional(),\n filters: validator.filters.optional(),\n },\n },\n response: z.array(validator.userSchema),\n },\n {\n method: 'GET',\n path: '/users/me',\n handler: 'user.me',\n config: {\n prefix: '',\n },\n request: {\n query: {\n fields: validator.queryFields.optional(),\n populate: validator.queryPopulate.optional(),\n },\n },\n response: validator.userSchema,\n },\n {\n method: 'GET',\n path: '/users/:id',\n handler: 'user.findOne',\n config: {\n prefix: '',\n },\n request: {\n params: {\n id: validator.userIdParam,\n },\n query: {\n fields: validator.queryFields.optional(),\n populate: validator.queryPopulate.optional(),\n },\n },\n response: validator.userSchema,\n },\n {\n method: 'POST',\n path: '/users',\n handler: 'user.create',\n config: {\n prefix: '',\n },\n request: {\n body: { 'application/json': validator.createUserBodySchema },\n },\n response: validator.userSchema,\n },\n {\n method: 'PUT',\n path: '/users/:id',\n handler: 'user.update',\n config: {\n prefix: '',\n },\n request: {\n params: {\n id: validator.userIdParam,\n },\n body: { 'application/json': validator.updateUserBodySchema },\n },\n response: validator.userSchema,\n },\n {\n method: 'DELETE',\n path: '/users/:id',\n handler: 'user.destroy',\n config: {\n prefix: '',\n },\n request: {\n params: {\n id: validator.userIdParam,\n },\n },\n response: validator.userSchema,\n },\n ];\n};\n"],"names":["z","require$$0","UsersPermissionsRouteValidator","require$$1","user","strapi","validator","method","path","handler","config","prefix","request","query","filters","optional","response","number","fields","queryFields","populate","queryPopulate","sort","querySort","pagination","array","userSchema","params","id","userIdParam","body","createUserBodySchema","updateUserBodySchema"],"mappings":"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"}
@@ -3,13 +3,18 @@
3
3
  var require$$1 = require('@strapi/utils');
4
4
  var require$$1$1 = require('zod/v4');
5
5
 
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
+
8
+ var require$$1__default = /*#__PURE__*/_interopDefault(require$$1);
9
+ var require$$1__default$1 = /*#__PURE__*/_interopDefault(require$$1$1);
10
+
6
11
  var validation;
7
12
  var hasRequiredValidation;
8
13
  function requireValidation() {
9
14
  if (hasRequiredValidation) return validation;
10
15
  hasRequiredValidation = 1;
11
- const { AbstractRouteValidator } = require$$1;
12
- const z = require$$1$1;
16
+ const { AbstractRouteValidator } = require$$1__default.default;
17
+ const z = require$$1__default$1.default;
13
18
  class UsersPermissionsRouteValidator extends AbstractRouteValidator {
14
19
  get userSchema() {
15
20
  return z.object({
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sources":["../../../../server/routes/content-api/validation.js"],"sourcesContent":["'use strict';\n\nconst { AbstractRouteValidator } = require('@strapi/utils');\nconst z = require('zod/v4');\n\nclass UsersPermissionsRouteValidator extends AbstractRouteValidator {\n constructor(strapi) {\n super();\n this._strapi = strapi;\n }\n\n get userSchema() {\n return z.object({\n id: z.number(),\n documentId: z.string(),\n username: z.string(),\n email: z.string(),\n provider: z.string(),\n confirmed: z.boolean(),\n blocked: z.boolean(),\n role: z\n .union([\n z.number(),\n z.object({\n id: z.number(),\n name: z.string(),\n description: z.string().nullable(),\n type: z.string(),\n createdAt: z.string(),\n updatedAt: z.string(),\n }),\n ])\n .optional(),\n createdAt: z.string(),\n updatedAt: z.string(),\n publishedAt: z.string(),\n });\n }\n\n get roleSchema() {\n return z.object({\n id: z.number(),\n documentId: z.string(),\n name: z.string(),\n description: z.string().nullable(),\n type: z.string(),\n createdAt: z.string(),\n updatedAt: z.string(),\n publishedAt: z.string(),\n nb_users: z.number().optional(),\n permissions: z\n .record(\n z.string(), // plugin name\n z.object({\n controllers: z.record(\n z.string(), // controller name\n z.record(\n z.string(), // action name\n z.object({\n enabled: z.boolean(),\n policy: z.string(),\n })\n )\n ),\n })\n )\n .optional(),\n users: z.array(z.unknown()).optional(),\n });\n }\n\n get permissionSchema() {\n return z.object({\n id: z.number(),\n action: z.string(),\n role: z.object({\n id: z.number(),\n name: z.string(),\n description: z.string().nullable(),\n type: z.string(),\n }),\n createdAt: z.string(),\n updatedAt: z.string(),\n });\n }\n\n get authResponseSchema() {\n return z.object({\n jwt: z.string(),\n refreshToken: z.string().optional(),\n user: this.userSchema,\n });\n }\n\n get authResponseWithoutJwtSchema() {\n return z.object({\n user: this.userSchema,\n });\n }\n\n get authRegisterResponseSchema() {\n return z.union([this.authResponseSchema, this.authResponseWithoutJwtSchema]);\n }\n\n get forgotPasswordResponseSchema() {\n return z.object({\n ok: z.boolean(),\n });\n }\n\n get sendEmailConfirmationResponseSchema() {\n return z.object({\n email: z.string(),\n sent: z.boolean(),\n });\n }\n\n get rolesResponseSchema() {\n return z.object({\n roles: z.array(this.roleSchema),\n });\n }\n\n get roleResponseSchema() {\n return z.object({\n role: this.roleSchema,\n });\n }\n\n get roleSuccessResponseSchema() {\n return z.object({\n ok: z.boolean(),\n });\n }\n\n get permissionsResponseSchema() {\n return z.object({\n permissions: z.record(\n z.string(), // plugin name\n z.object({\n controllers: z.record(\n z.string(), // controller name\n z.record(\n z.string(), // action name\n z.object({\n enabled: z.boolean(),\n policy: z.string(),\n })\n )\n ),\n })\n ),\n });\n }\n\n get loginBodySchema() {\n return z.object({\n identifier: z.string(),\n password: z.string(),\n });\n }\n\n get registerBodySchema() {\n return z.object({\n username: z.string(),\n email: z.email(),\n password: z.string(),\n });\n }\n\n get forgotPasswordBodySchema() {\n return z.object({\n email: z.email(),\n });\n }\n\n get resetPasswordBodySchema() {\n return z.object({\n code: z.string(),\n password: z.string(),\n passwordConfirmation: z.string(),\n });\n }\n\n get changePasswordBodySchema() {\n return z.object({\n currentPassword: z.string(),\n password: z.string(),\n passwordConfirmation: z.string(),\n });\n }\n\n get sendEmailConfirmationBodySchema() {\n return z.object({\n email: z.email(),\n });\n }\n\n get createUserBodySchema() {\n return z.object({\n username: z.string(),\n email: z.email(),\n password: z.string(),\n role: z.number().optional(),\n });\n }\n\n get updateUserBodySchema() {\n return z.object({\n username: z.string().optional(),\n email: z.email().optional(),\n password: z.string().optional(),\n role: z.number().optional(),\n });\n }\n\n get createRoleBodySchema() {\n return z.object({\n name: z.string(),\n description: z.string().optional(),\n type: z.string(),\n permissions: z.record(z.string(), z.unknown()).optional(),\n });\n }\n\n get updateRoleBodySchema() {\n return z.object({\n name: z.string().optional(),\n description: z.string().optional(),\n type: z.string().optional(),\n permissions: z.record(z.string(), z.unknown()).optional(),\n });\n }\n\n get userIdParam() {\n return z.string();\n }\n\n get roleIdParam() {\n return z.string();\n }\n\n get providerParam() {\n return z.string();\n }\n}\n\nmodule.exports = {\n UsersPermissionsRouteValidator,\n};\n"],"names":["AbstractRouteValidator","require$$0","z","require$$1","UsersPermissionsRouteValidator","userSchema","object","id","number","documentId","string","username","email","provider","confirmed","boolean","blocked","role","union","name","description","nullable","type","createdAt","updatedAt","optional","publishedAt","roleSchema","nb_users","permissions","record","controllers","enabled","policy","users","array","unknown","permissionSchema","action","authResponseSchema","jwt","refreshToken","user","authResponseWithoutJwtSchema","authRegisterResponseSchema","forgotPasswordResponseSchema","ok","sendEmailConfirmationResponseSchema","sent","rolesResponseSchema","roles","roleResponseSchema","roleSuccessResponseSchema","permissionsResponseSchema","loginBodySchema","identifier","password","registerBodySchema","forgotPasswordBodySchema","resetPasswordBodySchema","code","passwordConfirmation","changePasswordBodySchema","currentPassword","sendEmailConfirmationBodySchema","createUserBodySchema","updateUserBodySchema","createRoleBodySchema","updateRoleBodySchema","userIdParam","roleIdParam","providerParam","strapi","_strapi","validation"],"mappings":";;;;;;;;;;IAEA,MAAM,EAAEA,sBAAsB,EAAE,GAAGC,UAAAA;AACnC,IAAA,MAAMC,CAAAA,GAAIC,YAAAA;AAEV,IAAA,MAAMC,8BAAAA,SAAuCJ,sBAAAA,CAAAA;AAM3C,QAAA,IAAIK,UAAAA,GAAa;YACf,OAAOH,CAAAA,CAAEI,MAAM,CAAC;AACdC,gBAAAA,EAAAA,EAAIL,EAAEM,MAAM,EAAA;AACZC,gBAAAA,UAAAA,EAAYP,EAAEQ,MAAM,EAAA;AACpBC,gBAAAA,QAAAA,EAAUT,EAAEQ,MAAM,EAAA;AAClBE,gBAAAA,KAAAA,EAAOV,EAAEQ,MAAM,EAAA;AACfG,gBAAAA,QAAAA,EAAUX,EAAEQ,MAAM,EAAA;AAClBI,gBAAAA,SAAAA,EAAWZ,EAAEa,OAAO,EAAA;AACpBC,gBAAAA,OAAAA,EAASd,EAAEa,OAAO,EAAA;gBAClBE,IAAAA,EAAMf,CAAAA,CACHgB,KAAK,CAAC;AACLhB,oBAAAA,CAAAA,CAAEM,MAAM,EAAA;AACRN,oBAAAA,CAAAA,CAAEI,MAAM,CAAC;AACPC,wBAAAA,EAAAA,EAAIL,EAAEM,MAAM,EAAA;AACZW,wBAAAA,IAAAA,EAAMjB,EAAEQ,MAAM,EAAA;wBACdU,WAAAA,EAAalB,CAAAA,CAAEQ,MAAM,EAAA,CAAGW,QAAQ,EAAA;AAChCC,wBAAAA,IAAAA,EAAMpB,EAAEQ,MAAM,EAAA;AACda,wBAAAA,SAAAA,EAAWrB,EAAEQ,MAAM,EAAA;AACnBc,wBAAAA,SAAAA,EAAWtB,EAAEQ,MAAM;AAC/B,qBAAA;AACS,iBAAA,CAAA,CACAe,QAAQ,EAAA;AACXF,gBAAAA,SAAAA,EAAWrB,EAAEQ,MAAM,EAAA;AACnBc,gBAAAA,SAAAA,EAAWtB,EAAEQ,MAAM,EAAA;AACnBgB,gBAAAA,WAAAA,EAAaxB,EAAEQ,MAAM;AAC3B,aAAA,CAAA;AACA,QAAA;AAEE,QAAA,IAAIiB,UAAAA,GAAa;YACf,OAAOzB,CAAAA,CAAEI,MAAM,CAAC;AACdC,gBAAAA,EAAAA,EAAIL,EAAEM,MAAM,EAAA;AACZC,gBAAAA,UAAAA,EAAYP,EAAEQ,MAAM,EAAA;AACpBS,gBAAAA,IAAAA,EAAMjB,EAAEQ,MAAM,EAAA;gBACdU,WAAAA,EAAalB,CAAAA,CAAEQ,MAAM,EAAA,CAAGW,QAAQ,EAAA;AAChCC,gBAAAA,IAAAA,EAAMpB,EAAEQ,MAAM,EAAA;AACda,gBAAAA,SAAAA,EAAWrB,EAAEQ,MAAM,EAAA;AACnBc,gBAAAA,SAAAA,EAAWtB,EAAEQ,MAAM,EAAA;AACnBgB,gBAAAA,WAAAA,EAAaxB,EAAEQ,MAAM,EAAA;gBACrBkB,QAAAA,EAAU1B,CAAAA,CAAEM,MAAM,EAAA,CAAGiB,QAAQ,EAAA;gBAC7BI,WAAAA,EAAa3B,CAAAA,CACV4B,MAAM,CACL5B,CAAAA,CAAEQ,MAAM,EAAA,EACRR,CAAAA,CAAEI,MAAM,CAAC;AACPyB,oBAAAA,WAAAA,EAAa7B,CAAAA,CAAE4B,MAAM,CACnB5B,CAAAA,CAAEQ,MAAM,EAAA,EACRR,CAAAA,CAAE4B,MAAM,CACN5B,CAAAA,CAAEQ,MAAM,EAAA,EACRR,CAAAA,CAAEI,MAAM,CAAC;AACP0B,wBAAAA,OAAAA,EAAS9B,EAAEa,OAAO,EAAA;AAClBkB,wBAAAA,MAAAA,EAAQ/B,EAAEQ,MAAM;AAClC,qBAAA,CAAA,CAAA;AAGA,iBAAA,CAAA,CAAA,CAESe,QAAQ,EAAA;AACXS,gBAAAA,KAAAA,EAAOhC,EAAEiC,KAAK,CAACjC,CAAAA,CAAEkC,OAAO,IAAIX,QAAQ;AAC1C,aAAA,CAAA;AACA,QAAA;AAEE,QAAA,IAAIY,gBAAAA,GAAmB;YACrB,OAAOnC,CAAAA,CAAEI,MAAM,CAAC;AACdC,gBAAAA,EAAAA,EAAIL,EAAEM,MAAM,EAAA;AACZ8B,gBAAAA,MAAAA,EAAQpC,EAAEQ,MAAM,EAAA;gBAChBO,IAAAA,EAAMf,CAAAA,CAAEI,MAAM,CAAC;AACbC,oBAAAA,EAAAA,EAAIL,EAAEM,MAAM,EAAA;AACZW,oBAAAA,IAAAA,EAAMjB,EAAEQ,MAAM,EAAA;oBACdU,WAAAA,EAAalB,CAAAA,CAAEQ,MAAM,EAAA,CAAGW,QAAQ,EAAA;AAChCC,oBAAAA,IAAAA,EAAMpB,EAAEQ,MAAM;AACtB,iBAAA,CAAA;AACMa,gBAAAA,SAAAA,EAAWrB,EAAEQ,MAAM,EAAA;AACnBc,gBAAAA,SAAAA,EAAWtB,EAAEQ,MAAM;AACzB,aAAA,CAAA;AACA,QAAA;AAEE,QAAA,IAAI6B,kBAAAA,GAAqB;YACvB,OAAOrC,CAAAA,CAAEI,MAAM,CAAC;AACdkC,gBAAAA,GAAAA,EAAKtC,EAAEQ,MAAM,EAAA;gBACb+B,YAAAA,EAAcvC,CAAAA,CAAEQ,MAAM,EAAA,CAAGe,QAAQ,EAAA;gBACjCiB,IAAAA,EAAM,IAAI,CAACrC;AACjB,aAAA,CAAA;AACA,QAAA;AAEE,QAAA,IAAIsC,4BAAAA,GAA+B;YACjC,OAAOzC,CAAAA,CAAEI,MAAM,CAAC;gBACdoC,IAAAA,EAAM,IAAI,CAACrC;AACjB,aAAA,CAAA;AACA,QAAA;AAEE,QAAA,IAAIuC,0BAAAA,GAA6B;YAC/B,OAAO1C,CAAAA,CAAEgB,KAAK,CAAC;AAAC,gBAAA,IAAI,CAACqB,kBAAkB;AAAE,gBAAA,IAAI,CAACI;AAA6B,aAAA,CAAA;AAC/E,QAAA;AAEE,QAAA,IAAIE,4BAAAA,GAA+B;YACjC,OAAO3C,CAAAA,CAAEI,MAAM,CAAC;AACdwC,gBAAAA,EAAAA,EAAI5C,EAAEa,OAAO;AACnB,aAAA,CAAA;AACA,QAAA;AAEE,QAAA,IAAIgC,mCAAAA,GAAsC;YACxC,OAAO7C,CAAAA,CAAEI,MAAM,CAAC;AACdM,gBAAAA,KAAAA,EAAOV,EAAEQ,MAAM,EAAA;AACfsC,gBAAAA,IAAAA,EAAM9C,EAAEa,OAAO;AACrB,aAAA,CAAA;AACA,QAAA;AAEE,QAAA,IAAIkC,mBAAAA,GAAsB;YACxB,OAAO/C,CAAAA,CAAEI,MAAM,CAAC;AACd4C,gBAAAA,KAAAA,EAAOhD,CAAAA,CAAEiC,KAAK,CAAC,IAAI,CAACR,UAAU;AACpC,aAAA,CAAA;AACA,QAAA;AAEE,QAAA,IAAIwB,kBAAAA,GAAqB;YACvB,OAAOjD,CAAAA,CAAEI,MAAM,CAAC;gBACdW,IAAAA,EAAM,IAAI,CAACU;AACjB,aAAA,CAAA;AACA,QAAA;AAEE,QAAA,IAAIyB,yBAAAA,GAA4B;YAC9B,OAAOlD,CAAAA,CAAEI,MAAM,CAAC;AACdwC,gBAAAA,EAAAA,EAAI5C,EAAEa,OAAO;AACnB,aAAA,CAAA;AACA,QAAA;AAEE,QAAA,IAAIsC,yBAAAA,GAA4B;YAC9B,OAAOnD,CAAAA,CAAEI,MAAM,CAAC;gBACduB,WAAAA,EAAa3B,CAAAA,CAAE4B,MAAM,CACnB5B,CAAAA,CAAEQ,MAAM,EAAA,EACRR,CAAAA,CAAEI,MAAM,CAAC;AACPyB,oBAAAA,WAAAA,EAAa7B,CAAAA,CAAE4B,MAAM,CACnB5B,CAAAA,CAAEQ,MAAM,EAAA,EACRR,CAAAA,CAAE4B,MAAM,CACN5B,CAAAA,CAAEQ,MAAM,EAAA,EACRR,CAAAA,CAAEI,MAAM,CAAC;AACP0B,wBAAAA,OAAAA,EAAS9B,EAAEa,OAAO,EAAA;AAClBkB,wBAAAA,MAAAA,EAAQ/B,EAAEQ,MAAM;AAChC,qBAAA,CAAA,CAAA;AAGA,iBAAA,CAAA;AAEA,aAAA,CAAA;AACA,QAAA;AAEE,QAAA,IAAI4C,eAAAA,GAAkB;YACpB,OAAOpD,CAAAA,CAAEI,MAAM,CAAC;AACdiD,gBAAAA,UAAAA,EAAYrD,EAAEQ,MAAM,EAAA;AACpB8C,gBAAAA,QAAAA,EAAUtD,EAAEQ,MAAM;AACxB,aAAA,CAAA;AACA,QAAA;AAEE,QAAA,IAAI+C,kBAAAA,GAAqB;YACvB,OAAOvD,CAAAA,CAAEI,MAAM,CAAC;AACdK,gBAAAA,QAAAA,EAAUT,EAAEQ,MAAM,EAAA;AAClBE,gBAAAA,KAAAA,EAAOV,EAAEU,KAAK,EAAA;AACd4C,gBAAAA,QAAAA,EAAUtD,EAAEQ,MAAM;AACxB,aAAA,CAAA;AACA,QAAA;AAEE,QAAA,IAAIgD,wBAAAA,GAA2B;YAC7B,OAAOxD,CAAAA,CAAEI,MAAM,CAAC;AACdM,gBAAAA,KAAAA,EAAOV,EAAEU,KAAK;AACpB,aAAA,CAAA;AACA,QAAA;AAEE,QAAA,IAAI+C,uBAAAA,GAA0B;YAC5B,OAAOzD,CAAAA,CAAEI,MAAM,CAAC;AACdsD,gBAAAA,IAAAA,EAAM1D,EAAEQ,MAAM,EAAA;AACd8C,gBAAAA,QAAAA,EAAUtD,EAAEQ,MAAM,EAAA;AAClBmD,gBAAAA,oBAAAA,EAAsB3D,EAAEQ,MAAM;AACpC,aAAA,CAAA;AACA,QAAA;AAEE,QAAA,IAAIoD,wBAAAA,GAA2B;YAC7B,OAAO5D,CAAAA,CAAEI,MAAM,CAAC;AACdyD,gBAAAA,eAAAA,EAAiB7D,EAAEQ,MAAM,EAAA;AACzB8C,gBAAAA,QAAAA,EAAUtD,EAAEQ,MAAM,EAAA;AAClBmD,gBAAAA,oBAAAA,EAAsB3D,EAAEQ,MAAM;AACpC,aAAA,CAAA;AACA,QAAA;AAEE,QAAA,IAAIsD,+BAAAA,GAAkC;YACpC,OAAO9D,CAAAA,CAAEI,MAAM,CAAC;AACdM,gBAAAA,KAAAA,EAAOV,EAAEU,KAAK;AACpB,aAAA,CAAA;AACA,QAAA;AAEE,QAAA,IAAIqD,oBAAAA,GAAuB;YACzB,OAAO/D,CAAAA,CAAEI,MAAM,CAAC;AACdK,gBAAAA,QAAAA,EAAUT,EAAEQ,MAAM,EAAA;AAClBE,gBAAAA,KAAAA,EAAOV,EAAEU,KAAK,EAAA;AACd4C,gBAAAA,QAAAA,EAAUtD,EAAEQ,MAAM,EAAA;gBAClBO,IAAAA,EAAMf,CAAAA,CAAEM,MAAM,EAAA,CAAGiB,QAAQ;AAC/B,aAAA,CAAA;AACA,QAAA;AAEE,QAAA,IAAIyC,oBAAAA,GAAuB;YACzB,OAAOhE,CAAAA,CAAEI,MAAM,CAAC;gBACdK,QAAAA,EAAUT,CAAAA,CAAEQ,MAAM,EAAA,CAAGe,QAAQ,EAAA;gBAC7Bb,KAAAA,EAAOV,CAAAA,CAAEU,KAAK,EAAA,CAAGa,QAAQ,EAAA;gBACzB+B,QAAAA,EAAUtD,CAAAA,CAAEQ,MAAM,EAAA,CAAGe,QAAQ,EAAA;gBAC7BR,IAAAA,EAAMf,CAAAA,CAAEM,MAAM,EAAA,CAAGiB,QAAQ;AAC/B,aAAA,CAAA;AACA,QAAA;AAEE,QAAA,IAAI0C,oBAAAA,GAAuB;YACzB,OAAOjE,CAAAA,CAAEI,MAAM,CAAC;AACda,gBAAAA,IAAAA,EAAMjB,EAAEQ,MAAM,EAAA;gBACdU,WAAAA,EAAalB,CAAAA,CAAEQ,MAAM,EAAA,CAAGe,QAAQ,EAAA;AAChCH,gBAAAA,IAAAA,EAAMpB,EAAEQ,MAAM,EAAA;gBACdmB,WAAAA,EAAa3B,CAAAA,CAAE4B,MAAM,CAAC5B,CAAAA,CAAEQ,MAAM,EAAA,EAAIR,CAAAA,CAAEkC,OAAO,EAAA,CAAA,CAAIX,QAAQ;AAC7D,aAAA,CAAA;AACA,QAAA;AAEE,QAAA,IAAI2C,oBAAAA,GAAuB;YACzB,OAAOlE,CAAAA,CAAEI,MAAM,CAAC;gBACda,IAAAA,EAAMjB,CAAAA,CAAEQ,MAAM,EAAA,CAAGe,QAAQ,EAAA;gBACzBL,WAAAA,EAAalB,CAAAA,CAAEQ,MAAM,EAAA,CAAGe,QAAQ,EAAA;gBAChCH,IAAAA,EAAMpB,CAAAA,CAAEQ,MAAM,EAAA,CAAGe,QAAQ,EAAA;gBACzBI,WAAAA,EAAa3B,CAAAA,CAAE4B,MAAM,CAAC5B,CAAAA,CAAEQ,MAAM,EAAA,EAAIR,CAAAA,CAAEkC,OAAO,EAAA,CAAA,CAAIX,QAAQ;AAC7D,aAAA,CAAA;AACA,QAAA;AAEE,QAAA,IAAI4C,WAAAA,GAAc;AAChB,YAAA,OAAOnE,EAAEQ,MAAM,EAAA;AACnB,QAAA;AAEE,QAAA,IAAI4D,WAAAA,GAAc;AAChB,YAAA,OAAOpE,EAAEQ,MAAM,EAAA;AACnB,QAAA;AAEE,QAAA,IAAI6D,aAAAA,GAAgB;AAClB,YAAA,OAAOrE,EAAEQ,MAAM,EAAA;AACnB,QAAA;AA9OE,QAAA,WAAA,CAAY8D,MAAM,CAAE;YAClB,KAAK,EAAA;YACL,IAAI,CAACC,OAAO,GAAGD,MAAAA;AACnB,QAAA;AA4OA;IAEAE,UAAAA,GAAiB;AACftE,QAAAA;AACF,KAAA;;;;;;"}
1
+ {"version":3,"file":"validation.js","sources":["../../../../server/routes/content-api/validation.js"],"sourcesContent":["'use strict';\n\nconst { AbstractRouteValidator } = require('@strapi/utils');\nconst z = require('zod/v4');\n\nclass UsersPermissionsRouteValidator extends AbstractRouteValidator {\n constructor(strapi) {\n super();\n this._strapi = strapi;\n }\n\n get userSchema() {\n return z.object({\n id: z.number(),\n documentId: z.string(),\n username: z.string(),\n email: z.string(),\n provider: z.string(),\n confirmed: z.boolean(),\n blocked: z.boolean(),\n role: z\n .union([\n z.number(),\n z.object({\n id: z.number(),\n name: z.string(),\n description: z.string().nullable(),\n type: z.string(),\n createdAt: z.string(),\n updatedAt: z.string(),\n }),\n ])\n .optional(),\n createdAt: z.string(),\n updatedAt: z.string(),\n publishedAt: z.string(),\n });\n }\n\n get roleSchema() {\n return z.object({\n id: z.number(),\n documentId: z.string(),\n name: z.string(),\n description: z.string().nullable(),\n type: z.string(),\n createdAt: z.string(),\n updatedAt: z.string(),\n publishedAt: z.string(),\n nb_users: z.number().optional(),\n permissions: z\n .record(\n z.string(), // plugin name\n z.object({\n controllers: z.record(\n z.string(), // controller name\n z.record(\n z.string(), // action name\n z.object({\n enabled: z.boolean(),\n policy: z.string(),\n })\n )\n ),\n })\n )\n .optional(),\n users: z.array(z.unknown()).optional(),\n });\n }\n\n get permissionSchema() {\n return z.object({\n id: z.number(),\n action: z.string(),\n role: z.object({\n id: z.number(),\n name: z.string(),\n description: z.string().nullable(),\n type: z.string(),\n }),\n createdAt: z.string(),\n updatedAt: z.string(),\n });\n }\n\n get authResponseSchema() {\n return z.object({\n jwt: z.string(),\n refreshToken: z.string().optional(),\n user: this.userSchema,\n });\n }\n\n get authResponseWithoutJwtSchema() {\n return z.object({\n user: this.userSchema,\n });\n }\n\n get authRegisterResponseSchema() {\n return z.union([this.authResponseSchema, this.authResponseWithoutJwtSchema]);\n }\n\n get forgotPasswordResponseSchema() {\n return z.object({\n ok: z.boolean(),\n });\n }\n\n get sendEmailConfirmationResponseSchema() {\n return z.object({\n email: z.string(),\n sent: z.boolean(),\n });\n }\n\n get rolesResponseSchema() {\n return z.object({\n roles: z.array(this.roleSchema),\n });\n }\n\n get roleResponseSchema() {\n return z.object({\n role: this.roleSchema,\n });\n }\n\n get roleSuccessResponseSchema() {\n return z.object({\n ok: z.boolean(),\n });\n }\n\n get permissionsResponseSchema() {\n return z.object({\n permissions: z.record(\n z.string(), // plugin name\n z.object({\n controllers: z.record(\n z.string(), // controller name\n z.record(\n z.string(), // action name\n z.object({\n enabled: z.boolean(),\n policy: z.string(),\n })\n )\n ),\n })\n ),\n });\n }\n\n get loginBodySchema() {\n return z.object({\n identifier: z.string(),\n password: z.string(),\n });\n }\n\n get registerBodySchema() {\n return z.object({\n username: z.string(),\n email: z.email(),\n password: z.string(),\n });\n }\n\n get forgotPasswordBodySchema() {\n return z.object({\n email: z.email(),\n });\n }\n\n get resetPasswordBodySchema() {\n return z.object({\n code: z.string(),\n password: z.string(),\n passwordConfirmation: z.string(),\n });\n }\n\n get changePasswordBodySchema() {\n return z.object({\n currentPassword: z.string(),\n password: z.string(),\n passwordConfirmation: z.string(),\n });\n }\n\n get sendEmailConfirmationBodySchema() {\n return z.object({\n email: z.email(),\n });\n }\n\n get createUserBodySchema() {\n return z.object({\n username: z.string(),\n email: z.email(),\n password: z.string(),\n role: z.number().optional(),\n });\n }\n\n get updateUserBodySchema() {\n return z.object({\n username: z.string().optional(),\n email: z.email().optional(),\n password: z.string().optional(),\n role: z.number().optional(),\n });\n }\n\n get createRoleBodySchema() {\n return z.object({\n name: z.string(),\n description: z.string().optional(),\n type: z.string(),\n permissions: z.record(z.string(), z.unknown()).optional(),\n });\n }\n\n get updateRoleBodySchema() {\n return z.object({\n name: z.string().optional(),\n description: z.string().optional(),\n type: z.string().optional(),\n permissions: z.record(z.string(), z.unknown()).optional(),\n });\n }\n\n get userIdParam() {\n return z.string();\n }\n\n get roleIdParam() {\n return z.string();\n }\n\n get providerParam() {\n return z.string();\n }\n}\n\nmodule.exports = {\n UsersPermissionsRouteValidator,\n};\n"],"names":["AbstractRouteValidator","require$$0","z","require$$1","UsersPermissionsRouteValidator","userSchema","object","id","number","documentId","string","username","email","provider","confirmed","boolean","blocked","role","union","name","description","nullable","type","createdAt","updatedAt","optional","publishedAt","roleSchema","nb_users","permissions","record","controllers","enabled","policy","users","array","unknown","permissionSchema","action","authResponseSchema","jwt","refreshToken","user","authResponseWithoutJwtSchema","authRegisterResponseSchema","forgotPasswordResponseSchema","ok","sendEmailConfirmationResponseSchema","sent","rolesResponseSchema","roles","roleResponseSchema","roleSuccessResponseSchema","permissionsResponseSchema","loginBodySchema","identifier","password","registerBodySchema","forgotPasswordBodySchema","resetPasswordBodySchema","code","passwordConfirmation","changePasswordBodySchema","currentPassword","sendEmailConfirmationBodySchema","createUserBodySchema","updateUserBodySchema","createRoleBodySchema","updateRoleBodySchema","userIdParam","roleIdParam","providerParam","strapi","_strapi","validation"],"mappings":"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"}
@@ -3,6 +3,11 @@
3
3
  var require$$0 = require('lodash');
4
4
  var require$$1 = require('jsonwebtoken');
5
5
 
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
+
8
+ var require$$0__default = /*#__PURE__*/_interopDefault(require$$0);
9
+ var require$$1__default = /*#__PURE__*/_interopDefault(require$$1);
10
+
6
11
  var jwt_1;
7
12
  var hasRequiredJwt;
8
13
  function requireJwt() {
@@ -12,8 +17,8 @@ function requireJwt() {
12
17
  * Jwt.js service
13
18
  *
14
19
  * @description: A set of functions similar to controller's actions to avoid code duplication.
15
- */ const _ = require$$0;
16
- const jwt = require$$1;
20
+ */ const _ = require$$0__default.default;
21
+ const jwt = require$$1__default.default;
17
22
  jwt_1 = ({ strapi })=>({
18
23
  getToken (ctx) {
19
24
  let token;
@@ -1 +1 @@
1
- {"version":3,"file":"jwt.js","sources":["../../../server/services/jwt.js"],"sourcesContent":["'use strict';\n\n/**\n * Jwt.js service\n *\n * @description: A set of functions similar to controller's actions to avoid code duplication.\n */\n\nconst _ = require('lodash');\nconst jwt = require('jsonwebtoken');\n\nmodule.exports = ({ strapi }) => ({\n getToken(ctx) {\n let token;\n\n if (ctx.request && ctx.request.header && ctx.request.header.authorization) {\n const parts = ctx.request.header.authorization.split(/\\s+/);\n\n if (parts[0].toLowerCase() !== 'bearer' || parts.length !== 2) {\n return null;\n }\n\n token = parts[1];\n } else {\n return null;\n }\n\n return this.verify(token);\n },\n\n issue(payload, jwtOptions = {}) {\n const mode = strapi.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');\n\n if (mode === 'refresh') {\n const userId = String(payload.id ?? payload.userId ?? '');\n if (!userId) {\n throw new Error('Cannot issue token: missing user id');\n }\n\n const issueRefreshToken = async () => {\n const refresh = await strapi\n .sessionManager('users-permissions')\n .generateRefreshToken(userId, undefined, { type: 'refresh' });\n\n const access = await strapi\n .sessionManager('users-permissions')\n .generateAccessToken(refresh.token);\n if ('error' in access) {\n throw new Error('Failed to generate access token');\n }\n\n return access.token;\n };\n\n return issueRefreshToken();\n }\n\n _.defaults(jwtOptions, strapi.config.get('plugin::users-permissions.jwt'));\n return jwt.sign(\n _.clone(payload.toJSON ? payload.toJSON() : payload),\n strapi.config.get('plugin::users-permissions.jwtSecret'),\n jwtOptions\n );\n },\n\n async verify(token) {\n const mode = strapi.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');\n\n if (mode === 'refresh') {\n // Accept only access tokens minted by the SessionManager for UP\n const result = strapi.sessionManager('users-permissions').validateAccessToken(token);\n if (!result.isValid || result.payload.type !== 'access') {\n throw new Error('Invalid token.');\n }\n\n const user = await strapi.db\n .query('plugin::users-permissions.user')\n .findOne({ where: { id: Number(result.payload.userId) || result.payload.userId } });\n if (!user) {\n throw new Error('Invalid token.');\n }\n\n return { id: user.id };\n }\n\n return new Promise((resolve, reject) => {\n const jwtConfig = strapi.config.get('plugin::users-permissions.jwt', {});\n const algorithms = jwtConfig && jwtConfig.algorithm ? [jwtConfig.algorithm] : undefined;\n\n jwt.verify(\n token,\n strapi.config.get('plugin::users-permissions.jwtSecret'),\n algorithms ? { algorithms } : {},\n (err, tokenPayload = {}) => {\n if (err) {\n return reject(new Error('Invalid token.'));\n }\n resolve(tokenPayload);\n }\n );\n });\n },\n});\n"],"names":["_","require$$0","jwt","require$$1","jwt_1","strapi","getToken","ctx","token","request","header","authorization","parts","split","toLowerCase","length","verify","issue","payload","jwtOptions","mode","config","get","userId","String","id","Error","issueRefreshToken","refresh","sessionManager","generateRefreshToken","undefined","type","access","generateAccessToken","defaults","sign","clone","toJSON","result","validateAccessToken","isValid","user","db","query","findOne","where","Number","Promise","resolve","reject","jwtConfig","algorithms","algorithm","err","tokenPayload"],"mappings":"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"}
1
+ {"version":3,"file":"jwt.js","sources":["../../../server/services/jwt.js"],"sourcesContent":["'use strict';\n\n/**\n * Jwt.js service\n *\n * @description: A set of functions similar to controller's actions to avoid code duplication.\n */\n\nconst _ = require('lodash');\nconst jwt = require('jsonwebtoken');\n\nmodule.exports = ({ strapi }) => ({\n getToken(ctx) {\n let token;\n\n if (ctx.request && ctx.request.header && ctx.request.header.authorization) {\n const parts = ctx.request.header.authorization.split(/\\s+/);\n\n if (parts[0].toLowerCase() !== 'bearer' || parts.length !== 2) {\n return null;\n }\n\n token = parts[1];\n } else {\n return null;\n }\n\n return this.verify(token);\n },\n\n issue(payload, jwtOptions = {}) {\n const mode = strapi.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');\n\n if (mode === 'refresh') {\n const userId = String(payload.id ?? payload.userId ?? '');\n if (!userId) {\n throw new Error('Cannot issue token: missing user id');\n }\n\n const issueRefreshToken = async () => {\n const refresh = await strapi\n .sessionManager('users-permissions')\n .generateRefreshToken(userId, undefined, { type: 'refresh' });\n\n const access = await strapi\n .sessionManager('users-permissions')\n .generateAccessToken(refresh.token);\n if ('error' in access) {\n throw new Error('Failed to generate access token');\n }\n\n return access.token;\n };\n\n return issueRefreshToken();\n }\n\n _.defaults(jwtOptions, strapi.config.get('plugin::users-permissions.jwt'));\n return jwt.sign(\n _.clone(payload.toJSON ? payload.toJSON() : payload),\n strapi.config.get('plugin::users-permissions.jwtSecret'),\n jwtOptions\n );\n },\n\n async verify(token) {\n const mode = strapi.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');\n\n if (mode === 'refresh') {\n // Accept only access tokens minted by the SessionManager for UP\n const result = strapi.sessionManager('users-permissions').validateAccessToken(token);\n if (!result.isValid || result.payload.type !== 'access') {\n throw new Error('Invalid token.');\n }\n\n const user = await strapi.db\n .query('plugin::users-permissions.user')\n .findOne({ where: { id: Number(result.payload.userId) || result.payload.userId } });\n if (!user) {\n throw new Error('Invalid token.');\n }\n\n return { id: user.id };\n }\n\n return new Promise((resolve, reject) => {\n const jwtConfig = strapi.config.get('plugin::users-permissions.jwt', {});\n const algorithms = jwtConfig && jwtConfig.algorithm ? [jwtConfig.algorithm] : undefined;\n\n jwt.verify(\n token,\n strapi.config.get('plugin::users-permissions.jwtSecret'),\n algorithms ? { algorithms } : {},\n (err, tokenPayload = {}) => {\n if (err) {\n return reject(new Error('Invalid token.'));\n }\n resolve(tokenPayload);\n }\n );\n });\n },\n});\n"],"names":["_","require$$0","jwt","require$$1","jwt_1","strapi","getToken","ctx","token","request","header","authorization","parts","split","toLowerCase","length","verify","issue","payload","jwtOptions","mode","config","get","userId","String","id","Error","issueRefreshToken","refresh","sessionManager","generateRefreshToken","undefined","type","access","generateAccessToken","defaults","sign","clone","toJSON","result","validateAccessToken","isValid","user","db","query","findOne","where","Number","Promise","resolve","reject","jwtConfig","algorithms","algorithm","err","tokenPayload"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"jwt.mjs","sources":["../../../server/services/jwt.js"],"sourcesContent":["'use strict';\n\n/**\n * Jwt.js service\n *\n * @description: A set of functions similar to controller's actions to avoid code duplication.\n */\n\nconst _ = require('lodash');\nconst jwt = require('jsonwebtoken');\n\nmodule.exports = ({ strapi }) => ({\n getToken(ctx) {\n let token;\n\n if (ctx.request && ctx.request.header && ctx.request.header.authorization) {\n const parts = ctx.request.header.authorization.split(/\\s+/);\n\n if (parts[0].toLowerCase() !== 'bearer' || parts.length !== 2) {\n return null;\n }\n\n token = parts[1];\n } else {\n return null;\n }\n\n return this.verify(token);\n },\n\n issue(payload, jwtOptions = {}) {\n const mode = strapi.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');\n\n if (mode === 'refresh') {\n const userId = String(payload.id ?? payload.userId ?? '');\n if (!userId) {\n throw new Error('Cannot issue token: missing user id');\n }\n\n const issueRefreshToken = async () => {\n const refresh = await strapi\n .sessionManager('users-permissions')\n .generateRefreshToken(userId, undefined, { type: 'refresh' });\n\n const access = await strapi\n .sessionManager('users-permissions')\n .generateAccessToken(refresh.token);\n if ('error' in access) {\n throw new Error('Failed to generate access token');\n }\n\n return access.token;\n };\n\n return issueRefreshToken();\n }\n\n _.defaults(jwtOptions, strapi.config.get('plugin::users-permissions.jwt'));\n return jwt.sign(\n _.clone(payload.toJSON ? payload.toJSON() : payload),\n strapi.config.get('plugin::users-permissions.jwtSecret'),\n jwtOptions\n );\n },\n\n async verify(token) {\n const mode = strapi.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');\n\n if (mode === 'refresh') {\n // Accept only access tokens minted by the SessionManager for UP\n const result = strapi.sessionManager('users-permissions').validateAccessToken(token);\n if (!result.isValid || result.payload.type !== 'access') {\n throw new Error('Invalid token.');\n }\n\n const user = await strapi.db\n .query('plugin::users-permissions.user')\n .findOne({ where: { id: Number(result.payload.userId) || result.payload.userId } });\n if (!user) {\n throw new Error('Invalid token.');\n }\n\n return { id: user.id };\n }\n\n return new Promise((resolve, reject) => {\n const jwtConfig = strapi.config.get('plugin::users-permissions.jwt', {});\n const algorithms = jwtConfig && jwtConfig.algorithm ? [jwtConfig.algorithm] : undefined;\n\n jwt.verify(\n token,\n strapi.config.get('plugin::users-permissions.jwtSecret'),\n algorithms ? { algorithms } : {},\n (err, tokenPayload = {}) => {\n if (err) {\n return reject(new Error('Invalid token.'));\n }\n resolve(tokenPayload);\n }\n );\n });\n },\n});\n"],"names":["_","require$$0","jwt","require$$1","jwt_1","strapi","getToken","ctx","token","request","header","authorization","parts","split","toLowerCase","length","verify","issue","payload","jwtOptions","mode","config","get","userId","String","id","Error","issueRefreshToken","refresh","sessionManager","generateRefreshToken","undefined","type","access","generateAccessToken","defaults","sign","clone","toJSON","result","validateAccessToken","isValid","user","db","query","findOne","where","Number","Promise","resolve","reject","jwtConfig","algorithms","algorithm","err","tokenPayload"],"mappings":"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"}
1
+ {"version":3,"file":"jwt.mjs","sources":["../../../server/services/jwt.js"],"sourcesContent":["'use strict';\n\n/**\n * Jwt.js service\n *\n * @description: A set of functions similar to controller's actions to avoid code duplication.\n */\n\nconst _ = require('lodash');\nconst jwt = require('jsonwebtoken');\n\nmodule.exports = ({ strapi }) => ({\n getToken(ctx) {\n let token;\n\n if (ctx.request && ctx.request.header && ctx.request.header.authorization) {\n const parts = ctx.request.header.authorization.split(/\\s+/);\n\n if (parts[0].toLowerCase() !== 'bearer' || parts.length !== 2) {\n return null;\n }\n\n token = parts[1];\n } else {\n return null;\n }\n\n return this.verify(token);\n },\n\n issue(payload, jwtOptions = {}) {\n const mode = strapi.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');\n\n if (mode === 'refresh') {\n const userId = String(payload.id ?? payload.userId ?? '');\n if (!userId) {\n throw new Error('Cannot issue token: missing user id');\n }\n\n const issueRefreshToken = async () => {\n const refresh = await strapi\n .sessionManager('users-permissions')\n .generateRefreshToken(userId, undefined, { type: 'refresh' });\n\n const access = await strapi\n .sessionManager('users-permissions')\n .generateAccessToken(refresh.token);\n if ('error' in access) {\n throw new Error('Failed to generate access token');\n }\n\n return access.token;\n };\n\n return issueRefreshToken();\n }\n\n _.defaults(jwtOptions, strapi.config.get('plugin::users-permissions.jwt'));\n return jwt.sign(\n _.clone(payload.toJSON ? payload.toJSON() : payload),\n strapi.config.get('plugin::users-permissions.jwtSecret'),\n jwtOptions\n );\n },\n\n async verify(token) {\n const mode = strapi.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');\n\n if (mode === 'refresh') {\n // Accept only access tokens minted by the SessionManager for UP\n const result = strapi.sessionManager('users-permissions').validateAccessToken(token);\n if (!result.isValid || result.payload.type !== 'access') {\n throw new Error('Invalid token.');\n }\n\n const user = await strapi.db\n .query('plugin::users-permissions.user')\n .findOne({ where: { id: Number(result.payload.userId) || result.payload.userId } });\n if (!user) {\n throw new Error('Invalid token.');\n }\n\n return { id: user.id };\n }\n\n return new Promise((resolve, reject) => {\n const jwtConfig = strapi.config.get('plugin::users-permissions.jwt', {});\n const algorithms = jwtConfig && jwtConfig.algorithm ? [jwtConfig.algorithm] : undefined;\n\n jwt.verify(\n token,\n strapi.config.get('plugin::users-permissions.jwtSecret'),\n algorithms ? { algorithms } : {},\n (err, tokenPayload = {}) => {\n if (err) {\n return reject(new Error('Invalid token.'));\n }\n resolve(tokenPayload);\n }\n );\n });\n },\n});\n"],"names":["_","require$$0","jwt","require$$1","jwt_1","strapi","getToken","ctx","token","request","header","authorization","parts","split","toLowerCase","length","verify","issue","payload","jwtOptions","mode","config","get","userId","String","id","Error","issueRefreshToken","refresh","sessionManager","generateRefreshToken","undefined","type","access","generateAccessToken","defaults","sign","clone","toJSON","result","validateAccessToken","isValid","user","db","query","findOne","where","Number","Promise","resolve","reject","jwtConfig","algorithms","algorithm","err","tokenPayload"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"permission.js","sources":["../../../server/services/permission.js"],"sourcesContent":["'use strict';\n\nconst PUBLIC_ROLE_FILTER = { role: { type: 'public' } };\n\nmodule.exports = ({ strapi }) => ({\n /**\n * Find permissions associated to a specific role ID\n *\n * @param {number} roleID\n *\n * @return {object[]}\n */\n async findRolePermissions(roleID) {\n return strapi.db.query('plugin::users-permissions.role').load({ id: roleID }, 'permissions');\n },\n\n /**\n * Find permissions for the public role\n *\n * @return {object[]}\n */\n async findPublicPermissions() {\n return strapi.db.query('plugin::users-permissions.permission').findMany({\n where: PUBLIC_ROLE_FILTER,\n });\n },\n\n /**\n * Transform a Users-Permissions' action into a content API one\n *\n * @param {object} permission\n * @param {string} permission.action\n *\n * @return {{ action: string }}\n */\n toContentAPIPermission(permission) {\n const { action } = permission;\n\n return { action };\n },\n});\n"],"names":["PUBLIC_ROLE_FILTER","role","type","permission","strapi","findRolePermissions","roleID","db","query","load","id","findPublicPermissions","findMany","where","toContentAPIPermission","action"],"mappings":";;;;;;;AAEA,IAAA,MAAMA,kBAAAA,GAAqB;QAAEC,IAAAA,EAAM;YAAEC,IAAAA,EAAM;AAAQ;AAAE,KAAA;AAErDC,IAAAA,UAAAA,GAAiB,CAAC,EAAEC,MAAM,EAAE,IAAM;AAClC;;;;;;OAOE,MAAMC,qBAAoBC,MAAM,EAAA;AAC9B,gBAAA,OAAOF,OAAOG,EAAE,CAACC,KAAK,CAAC,gCAAA,CAAA,CAAkCC,IAAI,CAAC;oBAAEC,EAAAA,EAAIJ;iBAAM,EAAI,aAAA,CAAA;AAClF,YAAA,CAAA;AAEA;;;;AAIA,OACE,MAAMK,qBAAAA,CAAAA,GAAAA;AACJ,gBAAA,OAAOP,OAAOG,EAAE,CAACC,KAAK,CAAC,sCAAA,CAAA,CAAwCI,QAAQ,CAAC;oBACtEC,KAAAA,EAAOb;AACb,iBAAA,CAAA;AACA,YAAA,CAAA;AAEA;;;;;;;AAOA,OACEc,wBAAuBX,UAAU,EAAA;gBAC/B,MAAM,EAAEY,MAAM,EAAE,GAAGZ,UAAAA;gBAEnB,OAAO;AAAEY,oBAAAA;AAAM,iBAAA;AACnB,YAAA;SACA,CAAA;;;;;;"}
1
+ {"version":3,"file":"permission.js","sources":["../../../server/services/permission.js"],"sourcesContent":["'use strict';\n\nconst PUBLIC_ROLE_FILTER = { role: { type: 'public' } };\n\nmodule.exports = ({ strapi }) => ({\n /**\n * Find permissions associated to a specific role ID\n *\n * @param {number} roleID\n *\n * @return {object[]}\n */\n async findRolePermissions(roleID) {\n return strapi.db.query('plugin::users-permissions.role').load({ id: roleID }, 'permissions');\n },\n\n /**\n * Find permissions for the public role\n *\n * @return {object[]}\n */\n async findPublicPermissions() {\n return strapi.db.query('plugin::users-permissions.permission').findMany({\n where: PUBLIC_ROLE_FILTER,\n });\n },\n\n /**\n * Transform a Users-Permissions' action into a content API one\n *\n * @param {object} permission\n * @param {string} permission.action\n *\n * @return {{ action: string }}\n */\n toContentAPIPermission(permission) {\n const { action } = permission;\n\n return { action };\n },\n});\n"],"names":["PUBLIC_ROLE_FILTER","role","type","permission","strapi","findRolePermissions","roleID","db","query","load","id","findPublicPermissions","findMany","where","toContentAPIPermission","action"],"mappings":";;;;;;;AAEA,IAAA,MAAMA,kBAAAA,GAAqB;QAAEC,IAAAA,EAAM;YAAEC,IAAAA,EAAM;AAAQ;AAAE,KAAA;AAErDC,IAAAA,UAAAA,GAAiB,CAAC,EAAEC,MAAM,EAAE,IAAM;AAClC;;;;;;OAOE,MAAMC,qBAAoBC,MAAM,EAAA;AAC9B,gBAAA,OAAOF,OAAOG,EAAE,CAACC,KAAK,CAAC,gCAAA,CAAA,CAAkCC,IAAI,CAAC;oBAAEC,EAAAA,EAAIJ;mBAAU,aAAA,CAAA;AAClF,YAAA,CAAA;AAEA;;;;AAIA,OACE,MAAMK,qBAAAA,CAAAA,GAAAA;AACJ,gBAAA,OAAOP,OAAOG,EAAE,CAACC,KAAK,CAAC,sCAAA,CAAA,CAAwCI,QAAQ,CAAC;oBACtEC,KAAAA,EAAOb;AACb,iBAAA,CAAA;AACA,YAAA,CAAA;AAEA;;;;;;;AAOA,OACEc,wBAAuBX,UAAU,EAAA;gBAC/B,MAAM,EAAEY,MAAM,EAAE,GAAGZ,UAAAA;gBAEnB,OAAO;AAAEY,oBAAAA;AAAM,iBAAA;AACnB,YAAA;SACA,CAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"permission.mjs","sources":["../../../server/services/permission.js"],"sourcesContent":["'use strict';\n\nconst PUBLIC_ROLE_FILTER = { role: { type: 'public' } };\n\nmodule.exports = ({ strapi }) => ({\n /**\n * Find permissions associated to a specific role ID\n *\n * @param {number} roleID\n *\n * @return {object[]}\n */\n async findRolePermissions(roleID) {\n return strapi.db.query('plugin::users-permissions.role').load({ id: roleID }, 'permissions');\n },\n\n /**\n * Find permissions for the public role\n *\n * @return {object[]}\n */\n async findPublicPermissions() {\n return strapi.db.query('plugin::users-permissions.permission').findMany({\n where: PUBLIC_ROLE_FILTER,\n });\n },\n\n /**\n * Transform a Users-Permissions' action into a content API one\n *\n * @param {object} permission\n * @param {string} permission.action\n *\n * @return {{ action: string }}\n */\n toContentAPIPermission(permission) {\n const { action } = permission;\n\n return { action };\n },\n});\n"],"names":["PUBLIC_ROLE_FILTER","role","type","permission","strapi","findRolePermissions","roleID","db","query","load","id","findPublicPermissions","findMany","where","toContentAPIPermission","action"],"mappings":";;;;;AAEA,IAAA,MAAMA,kBAAAA,GAAqB;QAAEC,IAAAA,EAAM;YAAEC,IAAAA,EAAM;AAAQ;AAAE,KAAA;AAErDC,IAAAA,UAAAA,GAAiB,CAAC,EAAEC,MAAM,EAAE,IAAM;AAClC;;;;;;OAOE,MAAMC,qBAAoBC,MAAM,EAAA;AAC9B,gBAAA,OAAOF,OAAOG,EAAE,CAACC,KAAK,CAAC,gCAAA,CAAA,CAAkCC,IAAI,CAAC;oBAAEC,EAAAA,EAAIJ;iBAAM,EAAI,aAAA,CAAA;AAClF,YAAA,CAAA;AAEA;;;;AAIA,OACE,MAAMK,qBAAAA,CAAAA,GAAAA;AACJ,gBAAA,OAAOP,OAAOG,EAAE,CAACC,KAAK,CAAC,sCAAA,CAAA,CAAwCI,QAAQ,CAAC;oBACtEC,KAAAA,EAAOb;AACb,iBAAA,CAAA;AACA,YAAA,CAAA;AAEA;;;;;;;AAOA,OACEc,wBAAuBX,UAAU,EAAA;gBAC/B,MAAM,EAAEY,MAAM,EAAE,GAAGZ,UAAAA;gBAEnB,OAAO;AAAEY,oBAAAA;AAAM,iBAAA;AACnB,YAAA;SACA,CAAA;;;;;;"}
1
+ {"version":3,"file":"permission.mjs","sources":["../../../server/services/permission.js"],"sourcesContent":["'use strict';\n\nconst PUBLIC_ROLE_FILTER = { role: { type: 'public' } };\n\nmodule.exports = ({ strapi }) => ({\n /**\n * Find permissions associated to a specific role ID\n *\n * @param {number} roleID\n *\n * @return {object[]}\n */\n async findRolePermissions(roleID) {\n return strapi.db.query('plugin::users-permissions.role').load({ id: roleID }, 'permissions');\n },\n\n /**\n * Find permissions for the public role\n *\n * @return {object[]}\n */\n async findPublicPermissions() {\n return strapi.db.query('plugin::users-permissions.permission').findMany({\n where: PUBLIC_ROLE_FILTER,\n });\n },\n\n /**\n * Transform a Users-Permissions' action into a content API one\n *\n * @param {object} permission\n * @param {string} permission.action\n *\n * @return {{ action: string }}\n */\n toContentAPIPermission(permission) {\n const { action } = permission;\n\n return { action };\n },\n});\n"],"names":["PUBLIC_ROLE_FILTER","role","type","permission","strapi","findRolePermissions","roleID","db","query","load","id","findPublicPermissions","findMany","where","toContentAPIPermission","action"],"mappings":";;;;;AAEA,IAAA,MAAMA,kBAAAA,GAAqB;QAAEC,IAAAA,EAAM;YAAEC,IAAAA,EAAM;AAAQ;AAAE,KAAA;AAErDC,IAAAA,UAAAA,GAAiB,CAAC,EAAEC,MAAM,EAAE,IAAM;AAClC;;;;;;OAOE,MAAMC,qBAAoBC,MAAM,EAAA;AAC9B,gBAAA,OAAOF,OAAOG,EAAE,CAACC,KAAK,CAAC,gCAAA,CAAA,CAAkCC,IAAI,CAAC;oBAAEC,EAAAA,EAAIJ;mBAAU,aAAA,CAAA;AAClF,YAAA,CAAA;AAEA;;;;AAIA,OACE,MAAMK,qBAAAA,CAAAA,GAAAA;AACJ,gBAAA,OAAOP,OAAOG,EAAE,CAACC,KAAK,CAAC,sCAAA,CAAA,CAAwCI,QAAQ,CAAC;oBACtEC,KAAAA,EAAOb;AACb,iBAAA,CAAA;AACA,YAAA,CAAA;AAEA;;;;;;;AAOA,OACEc,wBAAuBX,UAAU,EAAA;gBAC/B,MAAM,EAAEY,MAAM,EAAE,GAAGZ,UAAAA;gBAEnB,OAAO;AAAEY,oBAAAA;AAAM,iBAAA;AACnB,YAAA;SACA,CAAA;;;;;;"}
@@ -6,15 +6,23 @@ var require$$2 = require('url-join');
6
6
  var require$$3 = require('jwk-to-pem');
7
7
  var require$$4 = require('purest');
8
8
 
9
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
+
11
+ var require$$0__default = /*#__PURE__*/_interopDefault(require$$0);
12
+ var require$$1__default = /*#__PURE__*/_interopDefault(require$$1);
13
+ var require$$2__default = /*#__PURE__*/_interopDefault(require$$2);
14
+ var require$$3__default = /*#__PURE__*/_interopDefault(require$$3);
15
+ var require$$4__default = /*#__PURE__*/_interopDefault(require$$4);
16
+
9
17
  var providersRegistry;
10
18
  var hasRequiredProvidersRegistry;
11
19
  function requireProvidersRegistry() {
12
20
  if (hasRequiredProvidersRegistry) return providersRegistry;
13
21
  hasRequiredProvidersRegistry = 1;
14
- const { strict: assert } = require$$0;
15
- const jwt = require$$1;
16
- const urljoin = require$$2;
17
- const jwkToPem = require$$3;
22
+ const { strict: assert } = require$$0__default.default;
23
+ const jwt = require$$1__default.default;
24
+ const urljoin = require$$2__default.default;
25
+ const jwkToPem = require$$3__default.default;
18
26
  const getCognitoPayload = async ({ idToken, jwksUrl, purest })=>{
19
27
  const { header: { kid }, payload } = jwt.decode(idToken, {
20
28
  complete: true
@@ -512,7 +520,7 @@ function requireProvidersRegistry() {
512
520
  }
513
521
  });
514
522
  providersRegistry = ()=>{
515
- const purest = require$$4;
523
+ const purest = require$$4__default.default;
516
524
  const apiPrefix = strapi.config.get('api.rest.prefix');
517
525
  const baseURL = urljoin(strapi.config.server.url, apiPrefix, 'auth');
518
526
  const authProviders = initProviders({