@strapi/plugin-users-permissions 0.0.0-experimental.62ebf57bb35846666febb5ee2078fe02fe990f57 → 0.0.0-experimental.6340da17068c3bed7fb006e7bcc554c71129e282

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 (783) hide show
  1. package/.eslintrc.cjs +29 -0
  2. package/admin/src/components/BoundRoute/index.jsx +3 -3
  3. package/admin/src/components/FormModal/Input/index.jsx +33 -32
  4. package/admin/src/components/FormModal/index.jsx +58 -69
  5. package/admin/src/components/Permissions/PermissionRow/CheckboxWrapper.jsx +4 -3
  6. package/admin/src/components/Permissions/PermissionRow/SubCategory.jsx +20 -22
  7. package/admin/src/components/Permissions/index.jsx +27 -35
  8. package/admin/src/components/Permissions/reducer.js +1 -1
  9. package/admin/src/components/Policies/index.jsx +9 -6
  10. package/admin/src/components/UsersPermissions/index.jsx +16 -7
  11. package/admin/src/components/UsersPermissions/reducer.js +1 -1
  12. package/admin/src/index.js +17 -34
  13. package/admin/src/pages/AdvancedSettings/index.jsx +85 -129
  14. package/admin/src/pages/AdvancedSettings/utils/layout.js +20 -35
  15. package/admin/src/pages/AdvancedSettings/utils/schema.js +5 -2
  16. package/admin/src/pages/EmailTemplates/components/EmailForm.jsx +121 -140
  17. package/admin/src/pages/EmailTemplates/components/EmailTable.jsx +21 -18
  18. package/admin/src/pages/EmailTemplates/index.jsx +36 -62
  19. package/admin/src/pages/EmailTemplates/utils/schema.js +18 -6
  20. package/admin/src/pages/Providers/index.jsx +97 -114
  21. package/admin/src/pages/Providers/utils/forms.js +23 -11
  22. package/admin/src/pages/Roles/constants.js +3 -3
  23. package/admin/src/pages/Roles/hooks/usePlugins.js +4 -4
  24. package/admin/src/pages/Roles/index.jsx +10 -19
  25. package/admin/src/pages/Roles/pages/CreatePage.jsx +74 -61
  26. package/admin/src/pages/Roles/pages/EditPage.jsx +70 -69
  27. package/admin/src/pages/Roles/pages/ListPage/components/TableBody.jsx +28 -32
  28. package/admin/src/pages/Roles/pages/ListPage/index.jsx +152 -129
  29. package/admin/src/pluginId.js +2 -2
  30. package/admin/src/translations/cs.json +42 -5
  31. package/admin/src/translations/de.json +27 -2
  32. package/admin/src/translations/en.json +2 -1
  33. package/admin/src/translations/ja.json +46 -7
  34. package/admin/src/translations/nl.json +40 -1
  35. package/admin/src/translations/pl.json +2 -1
  36. package/admin/src/translations/sk.json +41 -4
  37. package/admin/src/translations/uk.json +41 -4
  38. package/admin/src/utils/formatPluginName.js +1 -1
  39. package/admin/src/utils/prefixPluginTranslations.js +13 -0
  40. package/dist/admin/components/BoundRoute/getMethodColor.js +49 -0
  41. package/dist/admin/components/BoundRoute/getMethodColor.js.map +1 -0
  42. package/dist/admin/components/BoundRoute/getMethodColor.mjs +47 -0
  43. package/dist/admin/components/BoundRoute/getMethodColor.mjs.map +1 -0
  44. package/dist/admin/components/BoundRoute/index.js +104 -0
  45. package/dist/admin/components/BoundRoute/index.js.map +1 -0
  46. package/dist/admin/components/BoundRoute/index.mjs +96 -0
  47. package/dist/admin/components/BoundRoute/index.mjs.map +1 -0
  48. package/dist/admin/components/FormModal/Input/index.js +127 -0
  49. package/dist/admin/components/FormModal/Input/index.js.map +1 -0
  50. package/dist/admin/components/FormModal/Input/index.mjs +121 -0
  51. package/dist/admin/components/FormModal/Input/index.mjs.map +1 -0
  52. package/dist/admin/components/FormModal/index.js +114 -0
  53. package/dist/admin/components/FormModal/index.js.map +1 -0
  54. package/dist/admin/components/FormModal/index.mjs +108 -0
  55. package/dist/admin/components/FormModal/index.mjs.map +1 -0
  56. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.js +33 -0
  57. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.js.map +1 -0
  58. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.mjs +31 -0
  59. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.mjs.map +1 -0
  60. package/dist/admin/components/Permissions/PermissionRow/SubCategory.js +163 -0
  61. package/dist/admin/components/Permissions/PermissionRow/SubCategory.js.map +1 -0
  62. package/dist/admin/components/Permissions/PermissionRow/SubCategory.mjs +156 -0
  63. package/dist/admin/components/Permissions/PermissionRow/SubCategory.mjs.map +1 -0
  64. package/dist/admin/components/Permissions/PermissionRow/index.js +55 -0
  65. package/dist/admin/components/Permissions/PermissionRow/index.js.map +1 -0
  66. package/dist/admin/components/Permissions/PermissionRow/index.mjs +48 -0
  67. package/dist/admin/components/Permissions/PermissionRow/index.mjs.map +1 -0
  68. package/dist/admin/components/Permissions/index.js +52 -0
  69. package/dist/admin/components/Permissions/index.js.map +1 -0
  70. package/dist/admin/components/Permissions/index.mjs +50 -0
  71. package/dist/admin/components/Permissions/index.mjs.map +1 -0
  72. package/dist/admin/components/Permissions/init.js +15 -0
  73. package/dist/admin/components/Permissions/init.js.map +1 -0
  74. package/dist/admin/components/Permissions/init.mjs +13 -0
  75. package/dist/admin/components/Permissions/init.mjs.map +1 -0
  76. package/dist/admin/components/Permissions/reducer.js +34 -0
  77. package/dist/admin/components/Permissions/reducer.js.map +1 -0
  78. package/dist/admin/components/Permissions/reducer.mjs +31 -0
  79. package/dist/admin/components/Permissions/reducer.mjs.map +1 -0
  80. package/dist/admin/components/Policies/index.js +74 -0
  81. package/dist/admin/components/Policies/index.js.map +1 -0
  82. package/dist/admin/components/Policies/index.mjs +66 -0
  83. package/dist/admin/components/Policies/index.mjs.map +1 -0
  84. package/dist/admin/components/UsersPermissions/index.js +120 -0
  85. package/dist/admin/components/UsersPermissions/index.js.map +1 -0
  86. package/dist/admin/components/UsersPermissions/index.mjs +114 -0
  87. package/dist/admin/components/UsersPermissions/index.mjs.map +1 -0
  88. package/dist/admin/components/UsersPermissions/init.js +13 -0
  89. package/dist/admin/components/UsersPermissions/init.js.map +1 -0
  90. package/dist/admin/components/UsersPermissions/init.mjs +11 -0
  91. package/dist/admin/components/UsersPermissions/init.mjs.map +1 -0
  92. package/dist/admin/components/UsersPermissions/reducer.js +79 -0
  93. package/dist/admin/components/UsersPermissions/reducer.js.map +1 -0
  94. package/dist/admin/components/UsersPermissions/reducer.mjs +68 -0
  95. package/dist/admin/components/UsersPermissions/reducer.mjs.map +1 -0
  96. package/dist/admin/constants.js +81 -0
  97. package/dist/admin/constants.js.map +1 -0
  98. package/dist/admin/constants.mjs +79 -0
  99. package/dist/admin/constants.mjs.map +1 -0
  100. package/dist/admin/contexts/UsersPermissionsContext/index.js +27 -0
  101. package/dist/admin/contexts/UsersPermissionsContext/index.js.map +1 -0
  102. package/dist/admin/contexts/UsersPermissionsContext/index.mjs +19 -0
  103. package/dist/admin/contexts/UsersPermissionsContext/index.mjs.map +1 -0
  104. package/dist/admin/index.js +124 -4
  105. package/dist/admin/index.js.map +1 -1
  106. package/dist/admin/index.mjs +119 -4
  107. package/dist/admin/index.mjs.map +1 -1
  108. package/dist/admin/package.json.js +9 -0
  109. package/dist/admin/package.json.js.map +1 -0
  110. package/dist/admin/package.json.mjs +6 -0
  111. package/dist/admin/package.json.mjs.map +1 -0
  112. package/dist/admin/pages/AdvancedSettings/index.js +195 -0
  113. package/dist/admin/pages/AdvancedSettings/index.js.map +1 -0
  114. package/dist/admin/pages/AdvancedSettings/index.mjs +192 -0
  115. package/dist/admin/pages/AdvancedSettings/index.mjs.map +1 -0
  116. package/dist/admin/pages/AdvancedSettings/utils/layout.js +83 -0
  117. package/dist/admin/pages/AdvancedSettings/utils/layout.js.map +1 -0
  118. package/dist/admin/pages/AdvancedSettings/utils/layout.mjs +81 -0
  119. package/dist/admin/pages/AdvancedSettings/utils/layout.mjs.map +1 -0
  120. package/dist/admin/pages/AdvancedSettings/utils/schema.js +41 -0
  121. package/dist/admin/pages/AdvancedSettings/utils/schema.js.map +1 -0
  122. package/dist/admin/pages/AdvancedSettings/utils/schema.mjs +19 -0
  123. package/dist/admin/pages/AdvancedSettings/utils/schema.mjs.map +1 -0
  124. package/dist/admin/pages/EmailTemplates/components/EmailForm.js +176 -0
  125. package/dist/admin/pages/EmailTemplates/components/EmailForm.js.map +1 -0
  126. package/dist/admin/pages/EmailTemplates/components/EmailForm.mjs +170 -0
  127. package/dist/admin/pages/EmailTemplates/components/EmailForm.mjs.map +1 -0
  128. package/dist/admin/pages/EmailTemplates/components/EmailTable.js +149 -0
  129. package/dist/admin/pages/EmailTemplates/components/EmailTable.js.map +1 -0
  130. package/dist/admin/pages/EmailTemplates/components/EmailTable.mjs +143 -0
  131. package/dist/admin/pages/EmailTemplates/components/EmailTable.mjs.map +1 -0
  132. package/dist/admin/pages/EmailTemplates/index.js +158 -0
  133. package/dist/admin/pages/EmailTemplates/index.js.map +1 -0
  134. package/dist/admin/pages/EmailTemplates/index.mjs +135 -0
  135. package/dist/admin/pages/EmailTemplates/index.mjs.map +1 -0
  136. package/dist/admin/pages/EmailTemplates/utils/schema.js +51 -0
  137. package/dist/admin/pages/EmailTemplates/utils/schema.js.map +1 -0
  138. package/dist/admin/pages/EmailTemplates/utils/schema.mjs +29 -0
  139. package/dist/admin/pages/EmailTemplates/utils/schema.mjs.map +1 -0
  140. package/dist/admin/pages/Providers/index.js +278 -0
  141. package/dist/admin/pages/Providers/index.js.map +1 -0
  142. package/dist/admin/pages/Providers/index.mjs +250 -0
  143. package/dist/admin/pages/Providers/index.mjs.map +1 -0
  144. package/dist/admin/pages/Providers/utils/forms.js +282 -0
  145. package/dist/admin/pages/Providers/utils/forms.js.map +1 -0
  146. package/dist/admin/pages/Providers/utils/forms.mjs +260 -0
  147. package/dist/admin/pages/Providers/utils/forms.mjs.map +1 -0
  148. package/dist/admin/pages/Roles/constants.js +32 -0
  149. package/dist/admin/pages/Roles/constants.js.map +1 -0
  150. package/dist/admin/pages/Roles/constants.mjs +10 -0
  151. package/dist/admin/pages/Roles/constants.mjs.map +1 -0
  152. package/dist/admin/pages/Roles/hooks/usePlugins.js +78 -0
  153. package/dist/admin/pages/Roles/hooks/usePlugins.js.map +1 -0
  154. package/dist/admin/pages/Roles/hooks/usePlugins.mjs +76 -0
  155. package/dist/admin/pages/Roles/hooks/usePlugins.mjs.map +1 -0
  156. package/dist/admin/pages/Roles/index.js +35 -0
  157. package/dist/admin/pages/Roles/index.js.map +1 -0
  158. package/dist/admin/pages/Roles/index.mjs +33 -0
  159. package/dist/admin/pages/Roles/index.mjs.map +1 -0
  160. package/dist/admin/pages/Roles/pages/CreatePage.js +240 -0
  161. package/dist/admin/pages/Roles/pages/CreatePage.js.map +1 -0
  162. package/dist/admin/pages/Roles/pages/CreatePage.mjs +217 -0
  163. package/dist/admin/pages/Roles/pages/CreatePage.mjs.map +1 -0
  164. package/dist/admin/pages/Roles/pages/EditPage.js +241 -0
  165. package/dist/admin/pages/Roles/pages/EditPage.js.map +1 -0
  166. package/dist/admin/pages/Roles/pages/EditPage.mjs +218 -0
  167. package/dist/admin/pages/Roles/pages/EditPage.mjs.map +1 -0
  168. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.js +129 -0
  169. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.js.map +1 -0
  170. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.mjs +123 -0
  171. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.mjs.map +1 -0
  172. package/dist/admin/pages/Roles/pages/ListPage/index.js +234 -0
  173. package/dist/admin/pages/Roles/pages/ListPage/index.js.map +1 -0
  174. package/dist/admin/pages/Roles/pages/ListPage/index.mjs +231 -0
  175. package/dist/admin/pages/Roles/pages/ListPage/index.mjs.map +1 -0
  176. package/dist/admin/pluginId.js +8 -0
  177. package/dist/admin/pluginId.js.map +1 -0
  178. package/dist/admin/pluginId.mjs +6 -0
  179. package/dist/admin/pluginId.mjs.map +1 -0
  180. package/dist/admin/translations/ar.json.js +45 -0
  181. package/dist/admin/translations/ar.json.js.map +1 -0
  182. package/dist/admin/translations/ar.json.mjs +43 -0
  183. package/dist/admin/translations/ar.json.mjs.map +1 -0
  184. package/dist/admin/translations/cs.json.js +88 -0
  185. package/dist/admin/translations/cs.json.js.map +1 -0
  186. package/dist/admin/translations/cs.json.mjs +86 -0
  187. package/dist/admin/translations/cs.json.mjs.map +1 -0
  188. package/dist/admin/translations/da.json.js +87 -0
  189. package/dist/admin/translations/da.json.js.map +1 -0
  190. package/dist/admin/translations/da.json.mjs +85 -0
  191. package/dist/admin/translations/da.json.mjs.map +1 -0
  192. package/dist/admin/translations/de.json.js +88 -0
  193. package/dist/admin/translations/de.json.js.map +1 -0
  194. package/dist/admin/translations/de.json.mjs +86 -0
  195. package/dist/admin/translations/de.json.mjs.map +1 -0
  196. package/dist/admin/translations/en.json.js +88 -0
  197. package/dist/admin/translations/en.json.js.map +1 -0
  198. package/dist/admin/translations/en.json.mjs +86 -0
  199. package/dist/admin/translations/en.json.mjs.map +1 -0
  200. package/dist/admin/translations/es.json.js +87 -0
  201. package/dist/admin/translations/es.json.js.map +1 -0
  202. package/dist/admin/translations/es.json.mjs +85 -0
  203. package/dist/admin/translations/es.json.mjs.map +1 -0
  204. package/dist/admin/translations/fr.json.js +51 -0
  205. package/dist/admin/translations/fr.json.js.map +1 -0
  206. package/dist/admin/translations/fr.json.mjs +49 -0
  207. package/dist/admin/translations/fr.json.mjs.map +1 -0
  208. package/dist/admin/translations/id.json.js +63 -0
  209. package/dist/admin/translations/id.json.js.map +1 -0
  210. package/dist/admin/translations/id.json.mjs +61 -0
  211. package/dist/admin/translations/id.json.mjs.map +1 -0
  212. package/dist/admin/translations/it.json.js +63 -0
  213. package/dist/admin/translations/it.json.js.map +1 -0
  214. package/dist/admin/translations/it.json.mjs +61 -0
  215. package/dist/admin/translations/it.json.mjs.map +1 -0
  216. package/dist/admin/translations/ja.json.js +88 -0
  217. package/dist/admin/translations/ja.json.js.map +1 -0
  218. package/dist/admin/translations/ja.json.mjs +86 -0
  219. package/dist/admin/translations/ja.json.mjs.map +1 -0
  220. package/dist/admin/translations/ko.json.js +87 -0
  221. package/dist/admin/translations/ko.json.js.map +1 -0
  222. package/dist/admin/translations/ko.json.mjs +85 -0
  223. package/dist/admin/translations/ko.json.mjs.map +1 -0
  224. package/dist/admin/translations/ms.json.js +50 -0
  225. package/dist/admin/translations/ms.json.js.map +1 -0
  226. package/dist/admin/translations/ms.json.mjs +48 -0
  227. package/dist/admin/translations/ms.json.mjs.map +1 -0
  228. package/dist/admin/translations/nl.json.js +88 -0
  229. package/dist/admin/translations/nl.json.js.map +1 -0
  230. package/dist/admin/translations/nl.json.mjs +86 -0
  231. package/dist/admin/translations/nl.json.mjs.map +1 -0
  232. package/dist/admin/translations/pl.json.js +88 -0
  233. package/dist/admin/translations/pl.json.js.map +1 -0
  234. package/dist/admin/translations/pl.json.mjs +86 -0
  235. package/dist/admin/translations/pl.json.mjs.map +1 -0
  236. package/dist/admin/translations/pt-BR.json.js +45 -0
  237. package/dist/admin/translations/pt-BR.json.js.map +1 -0
  238. package/dist/admin/translations/pt-BR.json.mjs +43 -0
  239. package/dist/admin/translations/pt-BR.json.mjs.map +1 -0
  240. package/dist/admin/translations/pt.json.js +49 -0
  241. package/dist/admin/translations/pt.json.js.map +1 -0
  242. package/dist/admin/translations/pt.json.mjs +47 -0
  243. package/dist/admin/translations/pt.json.mjs.map +1 -0
  244. package/dist/admin/translations/ru.json.js +87 -0
  245. package/dist/admin/translations/ru.json.js.map +1 -0
  246. package/dist/admin/translations/ru.json.mjs +85 -0
  247. package/dist/admin/translations/ru.json.mjs.map +1 -0
  248. package/dist/admin/translations/sk.json.js +88 -0
  249. package/dist/admin/translations/sk.json.js.map +1 -0
  250. package/dist/admin/translations/sk.json.mjs +86 -0
  251. package/dist/admin/translations/sk.json.mjs.map +1 -0
  252. package/dist/admin/translations/sv.json.js +87 -0
  253. package/dist/admin/translations/sv.json.js.map +1 -0
  254. package/dist/admin/translations/sv.json.mjs +85 -0
  255. package/dist/admin/translations/sv.json.mjs.map +1 -0
  256. package/dist/admin/translations/th.json.js +61 -0
  257. package/dist/admin/translations/th.json.js.map +1 -0
  258. package/dist/admin/translations/th.json.mjs +59 -0
  259. package/dist/admin/translations/th.json.mjs.map +1 -0
  260. package/dist/admin/translations/tr.json.js +86 -0
  261. package/dist/admin/translations/tr.json.js.map +1 -0
  262. package/dist/admin/translations/tr.json.mjs +84 -0
  263. package/dist/admin/translations/tr.json.mjs.map +1 -0
  264. package/dist/admin/translations/uk.json.js +87 -0
  265. package/dist/admin/translations/uk.json.js.map +1 -0
  266. package/dist/admin/translations/uk.json.mjs +85 -0
  267. package/dist/admin/translations/uk.json.mjs.map +1 -0
  268. package/dist/admin/translations/vi.json.js +51 -0
  269. package/dist/admin/translations/vi.json.js.map +1 -0
  270. package/dist/admin/translations/vi.json.mjs +49 -0
  271. package/dist/admin/translations/vi.json.mjs.map +1 -0
  272. package/dist/admin/translations/zh-Hans.json.js +87 -0
  273. package/dist/admin/translations/zh-Hans.json.js.map +1 -0
  274. package/dist/admin/translations/zh-Hans.json.mjs +85 -0
  275. package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
  276. package/dist/admin/translations/zh.json.js +87 -0
  277. package/dist/admin/translations/zh.json.js.map +1 -0
  278. package/dist/admin/translations/zh.json.mjs +85 -0
  279. package/dist/admin/translations/zh.json.mjs.map +1 -0
  280. package/dist/admin/utils/cleanPermissions.js +28 -0
  281. package/dist/admin/utils/cleanPermissions.js.map +1 -0
  282. package/dist/admin/utils/cleanPermissions.mjs +22 -0
  283. package/dist/admin/utils/cleanPermissions.mjs.map +1 -0
  284. package/dist/admin/utils/formatPluginName.js +33 -0
  285. package/dist/admin/utils/formatPluginName.js.map +1 -0
  286. package/dist/admin/utils/formatPluginName.mjs +27 -0
  287. package/dist/admin/utils/formatPluginName.mjs.map +1 -0
  288. package/dist/admin/utils/getTrad.js +8 -0
  289. package/dist/admin/utils/getTrad.js.map +1 -0
  290. package/dist/admin/utils/getTrad.mjs +6 -0
  291. package/dist/admin/utils/getTrad.mjs.map +1 -0
  292. package/dist/admin/utils/prefixPluginTranslations.js +11 -0
  293. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
  294. package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
  295. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
  296. package/dist/server/_virtual/_commonjsHelpers.js +8 -0
  297. package/dist/server/_virtual/_commonjsHelpers.js.map +1 -0
  298. package/dist/server/_virtual/_commonjsHelpers.mjs +6 -0
  299. package/dist/server/_virtual/_commonjsHelpers.mjs.map +1 -0
  300. package/dist/server/_virtual/rateLimit.js +6 -0
  301. package/dist/server/_virtual/rateLimit.js.map +1 -0
  302. package/dist/server/_virtual/rateLimit.mjs +4 -0
  303. package/dist/server/_virtual/rateLimit.mjs.map +1 -0
  304. package/dist/server/bootstrap/index.js +171 -0
  305. package/dist/server/bootstrap/index.js.map +1 -0
  306. package/dist/server/bootstrap/index.mjs +164 -0
  307. package/dist/server/bootstrap/index.mjs.map +1 -0
  308. package/dist/server/bootstrap/users-permissions-actions.js +98 -0
  309. package/dist/server/bootstrap/users-permissions-actions.js.map +1 -0
  310. package/dist/server/bootstrap/users-permissions-actions.mjs +96 -0
  311. package/dist/server/bootstrap/users-permissions-actions.mjs.map +1 -0
  312. package/dist/server/config.js +70 -0
  313. package/dist/server/config.js.map +1 -0
  314. package/dist/server/config.mjs +68 -0
  315. package/dist/server/config.mjs.map +1 -0
  316. package/dist/server/content-types/index.js +30 -0
  317. package/dist/server/content-types/index.js.map +1 -0
  318. package/dist/server/content-types/index.mjs +28 -0
  319. package/dist/server/content-types/index.mjs.map +1 -0
  320. package/dist/server/content-types/permission/index.js +44 -0
  321. package/dist/server/content-types/permission/index.js.map +1 -0
  322. package/dist/server/content-types/permission/index.mjs +42 -0
  323. package/dist/server/content-types/permission/index.mjs.map +1 -0
  324. package/dist/server/content-types/role/index.js +61 -0
  325. package/dist/server/content-types/role/index.js.map +1 -0
  326. package/dist/server/content-types/role/index.mjs +59 -0
  327. package/dist/server/content-types/role/index.mjs.map +1 -0
  328. package/dist/server/content-types/user/index.js +84 -0
  329. package/dist/server/content-types/user/index.js.map +1 -0
  330. package/dist/server/content-types/user/index.mjs +82 -0
  331. package/dist/server/content-types/user/index.mjs.map +1 -0
  332. package/dist/server/content-types/user/schema-config.js +25 -0
  333. package/dist/server/content-types/user/schema-config.js.map +1 -0
  334. package/dist/server/content-types/user/schema-config.mjs +23 -0
  335. package/dist/server/content-types/user/schema-config.mjs.map +1 -0
  336. package/dist/server/controllers/auth.js +658 -0
  337. package/dist/server/controllers/auth.js.map +1 -0
  338. package/dist/server/controllers/auth.mjs +648 -0
  339. package/dist/server/controllers/auth.mjs.map +1 -0
  340. package/dist/server/controllers/content-manager-user.js +173 -0
  341. package/dist/server/controllers/content-manager-user.js.map +1 -0
  342. package/dist/server/controllers/content-manager-user.mjs +166 -0
  343. package/dist/server/controllers/content-manager-user.mjs.map +1 -0
  344. package/dist/server/controllers/index.js +33 -0
  345. package/dist/server/controllers/index.js.map +1 -0
  346. package/dist/server/controllers/index.mjs +31 -0
  347. package/dist/server/controllers/index.mjs.map +1 -0
  348. package/dist/server/controllers/permissions.js +41 -0
  349. package/dist/server/controllers/permissions.js.map +1 -0
  350. package/dist/server/controllers/permissions.mjs +35 -0
  351. package/dist/server/controllers/permissions.mjs.map +1 -0
  352. package/dist/server/controllers/role.js +96 -0
  353. package/dist/server/controllers/role.js.map +1 -0
  354. package/dist/server/controllers/role.mjs +89 -0
  355. package/dist/server/controllers/role.mjs.map +1 -0
  356. package/dist/server/controllers/settings.js +112 -0
  357. package/dist/server/controllers/settings.js.map +1 -0
  358. package/dist/server/controllers/settings.mjs +105 -0
  359. package/dist/server/controllers/settings.mjs.map +1 -0
  360. package/dist/server/controllers/user.js +206 -0
  361. package/dist/server/controllers/user.js.map +1 -0
  362. package/dist/server/controllers/user.mjs +199 -0
  363. package/dist/server/controllers/user.mjs.map +1 -0
  364. package/dist/server/controllers/validation/auth.js +135 -0
  365. package/dist/server/controllers/validation/auth.js.map +1 -0
  366. package/dist/server/controllers/validation/auth.mjs +129 -0
  367. package/dist/server/controllers/validation/auth.mjs.map +1 -0
  368. package/dist/server/controllers/validation/email-template.js +77 -0
  369. package/dist/server/controllers/validation/email-template.js.map +1 -0
  370. package/dist/server/controllers/validation/email-template.mjs +70 -0
  371. package/dist/server/controllers/validation/email-template.mjs.map +1 -0
  372. package/dist/server/controllers/validation/user.js +65 -0
  373. package/dist/server/controllers/validation/user.js.map +1 -0
  374. package/dist/server/controllers/validation/user.mjs +59 -0
  375. package/dist/server/controllers/validation/user.mjs.map +1 -0
  376. package/dist/server/graphql/index.js +66 -0
  377. package/dist/server/graphql/index.js.map +1 -0
  378. package/dist/server/graphql/index.mjs +64 -0
  379. package/dist/server/graphql/index.mjs.map +1 -0
  380. package/dist/server/graphql/mutations/auth/change-password.js +44 -0
  381. package/dist/server/graphql/mutations/auth/change-password.js.map +1 -0
  382. package/dist/server/graphql/mutations/auth/change-password.mjs +38 -0
  383. package/dist/server/graphql/mutations/auth/change-password.mjs.map +1 -0
  384. package/dist/server/graphql/mutations/auth/email-confirmation.js +42 -0
  385. package/dist/server/graphql/mutations/auth/email-confirmation.js.map +1 -0
  386. package/dist/server/graphql/mutations/auth/email-confirmation.mjs +36 -0
  387. package/dist/server/graphql/mutations/auth/email-confirmation.mjs.map +1 -0
  388. package/dist/server/graphql/mutations/auth/forgot-password.js +41 -0
  389. package/dist/server/graphql/mutations/auth/forgot-password.js.map +1 -0
  390. package/dist/server/graphql/mutations/auth/forgot-password.mjs +35 -0
  391. package/dist/server/graphql/mutations/auth/forgot-password.mjs.map +1 -0
  392. package/dist/server/graphql/mutations/auth/login.js +44 -0
  393. package/dist/server/graphql/mutations/auth/login.js.map +1 -0
  394. package/dist/server/graphql/mutations/auth/login.mjs +38 -0
  395. package/dist/server/graphql/mutations/auth/login.mjs.map +1 -0
  396. package/dist/server/graphql/mutations/auth/register.js +42 -0
  397. package/dist/server/graphql/mutations/auth/register.js.map +1 -0
  398. package/dist/server/graphql/mutations/auth/register.mjs +36 -0
  399. package/dist/server/graphql/mutations/auth/register.mjs.map +1 -0
  400. package/dist/server/graphql/mutations/auth/reset-password.js +44 -0
  401. package/dist/server/graphql/mutations/auth/reset-password.js.map +1 -0
  402. package/dist/server/graphql/mutations/auth/reset-password.mjs +38 -0
  403. package/dist/server/graphql/mutations/auth/reset-password.mjs.map +1 -0
  404. package/dist/server/graphql/mutations/crud/role/create-role.js +41 -0
  405. package/dist/server/graphql/mutations/crud/role/create-role.js.map +1 -0
  406. package/dist/server/graphql/mutations/crud/role/create-role.mjs +35 -0
  407. package/dist/server/graphql/mutations/crud/role/create-role.mjs.map +1 -0
  408. package/dist/server/graphql/mutations/crud/role/delete-role.js +32 -0
  409. package/dist/server/graphql/mutations/crud/role/delete-role.js.map +1 -0
  410. package/dist/server/graphql/mutations/crud/role/delete-role.mjs +30 -0
  411. package/dist/server/graphql/mutations/crud/role/delete-role.mjs.map +1 -0
  412. package/dist/server/graphql/mutations/crud/role/update-role.js +39 -0
  413. package/dist/server/graphql/mutations/crud/role/update-role.js.map +1 -0
  414. package/dist/server/graphql/mutations/crud/role/update-role.mjs +37 -0
  415. package/dist/server/graphql/mutations/crud/role/update-role.mjs.map +1 -0
  416. package/dist/server/graphql/mutations/crud/user/create-user.js +50 -0
  417. package/dist/server/graphql/mutations/crud/user/create-user.js.map +1 -0
  418. package/dist/server/graphql/mutations/crud/user/create-user.mjs +44 -0
  419. package/dist/server/graphql/mutations/crud/user/create-user.mjs.map +1 -0
  420. package/dist/server/graphql/mutations/crud/user/delete-user.js +44 -0
  421. package/dist/server/graphql/mutations/crud/user/delete-user.js.map +1 -0
  422. package/dist/server/graphql/mutations/crud/user/delete-user.mjs +42 -0
  423. package/dist/server/graphql/mutations/crud/user/delete-user.mjs.map +1 -0
  424. package/dist/server/graphql/mutations/crud/user/update-user.js +53 -0
  425. package/dist/server/graphql/mutations/crud/user/update-user.js.map +1 -0
  426. package/dist/server/graphql/mutations/crud/user/update-user.mjs +47 -0
  427. package/dist/server/graphql/mutations/crud/user/update-user.mjs.map +1 -0
  428. package/dist/server/graphql/mutations/index.js +58 -0
  429. package/dist/server/graphql/mutations/index.js.map +1 -0
  430. package/dist/server/graphql/mutations/index.mjs +56 -0
  431. package/dist/server/graphql/mutations/index.mjs.map +1 -0
  432. package/dist/server/graphql/queries/index.js +25 -0
  433. package/dist/server/graphql/queries/index.js.map +1 -0
  434. package/dist/server/graphql/queries/index.mjs +23 -0
  435. package/dist/server/graphql/queries/index.mjs.map +1 -0
  436. package/dist/server/graphql/queries/me.js +23 -0
  437. package/dist/server/graphql/queries/me.js.map +1 -0
  438. package/dist/server/graphql/queries/me.mjs +21 -0
  439. package/dist/server/graphql/queries/me.mjs.map +1 -0
  440. package/dist/server/graphql/resolvers-configs.js +93 -0
  441. package/dist/server/graphql/resolvers-configs.js.map +1 -0
  442. package/dist/server/graphql/resolvers-configs.mjs +91 -0
  443. package/dist/server/graphql/resolvers-configs.mjs.map +1 -0
  444. package/dist/server/graphql/types/create-role-payload.js +20 -0
  445. package/dist/server/graphql/types/create-role-payload.js.map +1 -0
  446. package/dist/server/graphql/types/create-role-payload.mjs +18 -0
  447. package/dist/server/graphql/types/create-role-payload.mjs.map +1 -0
  448. package/dist/server/graphql/types/delete-role-payload.js +20 -0
  449. package/dist/server/graphql/types/delete-role-payload.js.map +1 -0
  450. package/dist/server/graphql/types/delete-role-payload.mjs +18 -0
  451. package/dist/server/graphql/types/delete-role-payload.mjs.map +1 -0
  452. package/dist/server/graphql/types/index.js +41 -0
  453. package/dist/server/graphql/types/index.js.map +1 -0
  454. package/dist/server/graphql/types/index.mjs +39 -0
  455. package/dist/server/graphql/types/index.mjs.map +1 -0
  456. package/dist/server/graphql/types/login-input.js +24 -0
  457. package/dist/server/graphql/types/login-input.js.map +1 -0
  458. package/dist/server/graphql/types/login-input.mjs +22 -0
  459. package/dist/server/graphql/types/login-input.mjs.map +1 -0
  460. package/dist/server/graphql/types/login-payload.js +23 -0
  461. package/dist/server/graphql/types/login-payload.js.map +1 -0
  462. package/dist/server/graphql/types/login-payload.mjs +21 -0
  463. package/dist/server/graphql/types/login-payload.mjs.map +1 -0
  464. package/dist/server/graphql/types/me-role.js +23 -0
  465. package/dist/server/graphql/types/me-role.js.map +1 -0
  466. package/dist/server/graphql/types/me-role.mjs +21 -0
  467. package/dist/server/graphql/types/me-role.mjs.map +1 -0
  468. package/dist/server/graphql/types/me.js +28 -0
  469. package/dist/server/graphql/types/me.js.map +1 -0
  470. package/dist/server/graphql/types/me.mjs +26 -0
  471. package/dist/server/graphql/types/me.mjs.map +1 -0
  472. package/dist/server/graphql/types/password-payload.js +20 -0
  473. package/dist/server/graphql/types/password-payload.js.map +1 -0
  474. package/dist/server/graphql/types/password-payload.mjs +18 -0
  475. package/dist/server/graphql/types/password-payload.mjs.map +1 -0
  476. package/dist/server/graphql/types/register-input.js +22 -0
  477. package/dist/server/graphql/types/register-input.js.map +1 -0
  478. package/dist/server/graphql/types/register-input.mjs +20 -0
  479. package/dist/server/graphql/types/register-input.mjs.map +1 -0
  480. package/dist/server/graphql/types/update-role-payload.js +20 -0
  481. package/dist/server/graphql/types/update-role-payload.js.map +1 -0
  482. package/dist/server/graphql/types/update-role-payload.mjs +18 -0
  483. package/dist/server/graphql/types/update-role-payload.mjs.map +1 -0
  484. package/dist/server/graphql/types/user-input.js +26 -0
  485. package/dist/server/graphql/types/user-input.js.map +1 -0
  486. package/dist/server/graphql/types/user-input.mjs +24 -0
  487. package/dist/server/graphql/types/user-input.mjs.map +1 -0
  488. package/dist/server/graphql/utils.js +36 -0
  489. package/dist/server/graphql/utils.js.map +1 -0
  490. package/dist/server/graphql/utils.mjs +30 -0
  491. package/dist/server/graphql/utils.mjs.map +1 -0
  492. package/dist/server/index.js +10 -0
  493. package/dist/server/index.js.map +1 -0
  494. package/dist/server/index.mjs +8 -0
  495. package/dist/server/index.mjs.map +1 -0
  496. package/dist/server/index2.js +39 -0
  497. package/dist/server/index2.js.map +1 -0
  498. package/dist/server/index2.mjs +37 -0
  499. package/dist/server/index2.mjs.map +1 -0
  500. package/dist/server/middlewares/index.js +18 -0
  501. package/dist/server/middlewares/index.js.map +1 -0
  502. package/dist/server/middlewares/index.mjs +16 -0
  503. package/dist/server/middlewares/index.mjs.map +1 -0
  504. package/dist/server/middlewares/rateLimit.js +127 -0
  505. package/dist/server/middlewares/rateLimit.js.map +1 -0
  506. package/dist/server/middlewares/rateLimit.mjs +118 -0
  507. package/dist/server/middlewares/rateLimit.mjs.map +1 -0
  508. package/dist/server/register.js +46 -0
  509. package/dist/server/register.js.map +1 -0
  510. package/dist/server/register.mjs +39 -0
  511. package/dist/server/register.mjs.map +1 -0
  512. package/dist/server/routes/admin/index.js +27 -0
  513. package/dist/server/routes/admin/index.js.map +1 -0
  514. package/dist/server/routes/admin/index.mjs +25 -0
  515. package/dist/server/routes/admin/index.mjs.map +1 -0
  516. package/dist/server/routes/admin/permissions.js +29 -0
  517. package/dist/server/routes/admin/permissions.js.map +1 -0
  518. package/dist/server/routes/admin/permissions.mjs +27 -0
  519. package/dist/server/routes/admin/permissions.mjs.map +1 -0
  520. package/dist/server/routes/admin/role.js +99 -0
  521. package/dist/server/routes/admin/role.js.map +1 -0
  522. package/dist/server/routes/admin/role.mjs +97 -0
  523. package/dist/server/routes/admin/role.mjs.map +1 -0
  524. package/dist/server/routes/admin/settings.js +116 -0
  525. package/dist/server/routes/admin/settings.js.map +1 -0
  526. package/dist/server/routes/admin/settings.mjs +114 -0
  527. package/dist/server/routes/admin/settings.mjs.map +1 -0
  528. package/dist/server/routes/content-api/auth.js +187 -0
  529. package/dist/server/routes/content-api/auth.js.map +1 -0
  530. package/dist/server/routes/content-api/auth.mjs +185 -0
  531. package/dist/server/routes/content-api/auth.mjs.map +1 -0
  532. package/dist/server/routes/content-api/index.js +36 -0
  533. package/dist/server/routes/content-api/index.js.map +1 -0
  534. package/dist/server/routes/content-api/index.mjs +30 -0
  535. package/dist/server/routes/content-api/index.mjs.map +1 -0
  536. package/dist/server/routes/content-api/permissions.js +26 -0
  537. package/dist/server/routes/content-api/permissions.js.map +1 -0
  538. package/dist/server/routes/content-api/permissions.mjs +24 -0
  539. package/dist/server/routes/content-api/permissions.mjs.map +1 -0
  540. package/dist/server/routes/content-api/role.js +73 -0
  541. package/dist/server/routes/content-api/role.js.map +1 -0
  542. package/dist/server/routes/content-api/role.mjs +71 -0
  543. package/dist/server/routes/content-api/role.mjs.map +1 -0
  544. package/dist/server/routes/content-api/user.js +136 -0
  545. package/dist/server/routes/content-api/user.js.map +1 -0
  546. package/dist/server/routes/content-api/user.mjs +130 -0
  547. package/dist/server/routes/content-api/user.mjs.map +1 -0
  548. package/dist/server/routes/content-api/validation.js +249 -0
  549. package/dist/server/routes/content-api/validation.js.map +1 -0
  550. package/dist/server/routes/content-api/validation.mjs +242 -0
  551. package/dist/server/routes/content-api/validation.mjs.map +1 -0
  552. package/dist/server/routes/index.js +19 -0
  553. package/dist/server/routes/index.js.map +1 -0
  554. package/dist/server/routes/index.mjs +17 -0
  555. package/dist/server/routes/index.mjs.map +1 -0
  556. package/dist/server/services/constants.js +19 -0
  557. package/dist/server/services/constants.js.map +1 -0
  558. package/dist/server/services/constants.mjs +17 -0
  559. package/dist/server/services/constants.mjs.map +1 -0
  560. package/dist/server/services/index.js +36 -0
  561. package/dist/server/services/index.js.map +1 -0
  562. package/dist/server/services/index.mjs +34 -0
  563. package/dist/server/services/index.mjs.map +1 -0
  564. package/dist/server/services/jwt.js +100 -0
  565. package/dist/server/services/jwt.js.map +1 -0
  566. package/dist/server/services/jwt.mjs +93 -0
  567. package/dist/server/services/jwt.mjs.map +1 -0
  568. package/dist/server/services/permission.js +52 -0
  569. package/dist/server/services/permission.js.map +1 -0
  570. package/dist/server/services/permission.mjs +50 -0
  571. package/dist/server/services/permission.mjs.map +1 -0
  572. package/dist/server/services/providers-registry.js +563 -0
  573. package/dist/server/services/providers-registry.js.map +1 -0
  574. package/dist/server/services/providers-registry.mjs +553 -0
  575. package/dist/server/services/providers-registry.mjs.map +1 -0
  576. package/dist/server/services/providers.js +120 -0
  577. package/dist/server/services/providers.js.map +1 -0
  578. package/dist/server/services/providers.mjs +113 -0
  579. package/dist/server/services/providers.mjs.map +1 -0
  580. package/dist/server/services/role.js +191 -0
  581. package/dist/server/services/role.js.map +1 -0
  582. package/dist/server/services/role.mjs +184 -0
  583. package/dist/server/services/role.mjs.map +1 -0
  584. package/dist/server/services/user.js +214 -0
  585. package/dist/server/services/user.js.map +1 -0
  586. package/dist/server/services/user.mjs +204 -0
  587. package/dist/server/services/user.mjs.map +1 -0
  588. package/dist/server/services/users-permissions.js +271 -0
  589. package/dist/server/services/users-permissions.js.map +1 -0
  590. package/dist/server/services/users-permissions.mjs +262 -0
  591. package/dist/server/services/users-permissions.mjs.map +1 -0
  592. package/dist/server/strategies/users-permissions.js +126 -0
  593. package/dist/server/strategies/users-permissions.js.map +1 -0
  594. package/dist/server/strategies/users-permissions.mjs +119 -0
  595. package/dist/server/strategies/users-permissions.mjs.map +1 -0
  596. package/dist/server/utils/index.js +52 -0
  597. package/dist/server/utils/index.js.map +1 -0
  598. package/dist/server/utils/index.mjs +46 -0
  599. package/dist/server/utils/index.mjs.map +1 -0
  600. package/dist/server/utils/refresh-cookie-options.js +27 -0
  601. package/dist/server/utils/refresh-cookie-options.js.map +1 -0
  602. package/dist/server/utils/refresh-cookie-options.mjs +25 -0
  603. package/dist/server/utils/refresh-cookie-options.mjs.map +1 -0
  604. package/dist/server/utils/sanitize/index.js +21 -0
  605. package/dist/server/utils/sanitize/index.js.map +1 -0
  606. package/dist/server/utils/sanitize/index.mjs +19 -0
  607. package/dist/server/utils/sanitize/index.mjs.map +1 -0
  608. package/dist/server/utils/sanitize/sanitizers.js +37 -0
  609. package/dist/server/utils/sanitize/sanitizers.js.map +1 -0
  610. package/dist/server/utils/sanitize/sanitizers.mjs +30 -0
  611. package/dist/server/utils/sanitize/sanitizers.mjs.map +1 -0
  612. package/dist/server/utils/sanitize/visitors/index.js +17 -0
  613. package/dist/server/utils/sanitize/visitors/index.js.map +1 -0
  614. package/dist/server/utils/sanitize/visitors/index.mjs +15 -0
  615. package/dist/server/utils/sanitize/visitors/index.mjs.map +1 -0
  616. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js +17 -0
  617. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js.map +1 -0
  618. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.mjs +15 -0
  619. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.mjs.map +1 -0
  620. package/lint-staged.config.mjs +1 -0
  621. package/package.json +42 -37
  622. package/rollup.config.mjs +19 -0
  623. package/server/bootstrap/index.js +49 -51
  624. package/server/config.js +22 -0
  625. package/server/content-types/user/index.js +0 -1
  626. package/server/controllers/auth.js +309 -68
  627. package/server/controllers/content-manager-user.js +31 -34
  628. package/server/controllers/role.js +17 -4
  629. package/server/controllers/user.js +8 -9
  630. package/server/controllers/validation/auth.js +104 -25
  631. package/server/controllers/validation/user.js +34 -10
  632. package/server/graphql/types/index.js +1 -0
  633. package/server/graphql/types/me.js +1 -0
  634. package/server/graphql/types/user-input.js +20 -0
  635. package/server/middlewares/rateLimit.js +92 -16
  636. package/server/register.js +2 -2
  637. package/server/routes/content-api/auth.js +132 -71
  638. package/server/routes/content-api/index.js +11 -4
  639. package/server/routes/content-api/permissions.js +14 -7
  640. package/server/routes/content-api/role.js +57 -27
  641. package/server/routes/content-api/user.js +108 -51
  642. package/server/routes/content-api/validation.js +280 -0
  643. package/server/services/constants.js +9 -0
  644. package/server/services/jwt.js +54 -5
  645. package/server/services/permission.js +3 -7
  646. package/server/services/providers-registry.js +468 -279
  647. package/server/services/providers.js +16 -6
  648. package/server/services/role.js +15 -13
  649. package/server/services/user.js +82 -17
  650. package/server/services/users-permissions.js +23 -15
  651. package/server/strategies/users-permissions.js +6 -1
  652. package/server/utils/index.d.ts +6 -1
  653. package/server/utils/index.js +30 -0
  654. package/server/utils/refresh-cookie-options.js +20 -0
  655. package/server/utils/sanitize/sanitizers.js +7 -3
  656. package/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js +2 -2
  657. package/.eslintignore +0 -1
  658. package/.eslintrc +0 -17
  659. package/admin/src/pages/Roles/pages/ListPage/utils/api.js +0 -30
  660. package/dist/_chunks/ar-MvD8Ghac.mjs +0 -44
  661. package/dist/_chunks/ar-MvD8Ghac.mjs.map +0 -1
  662. package/dist/_chunks/ar-t5qTFaAD.js +0 -44
  663. package/dist/_chunks/ar-t5qTFaAD.js.map +0 -1
  664. package/dist/_chunks/cs-BMuXwxA1.mjs +0 -50
  665. package/dist/_chunks/cs-BMuXwxA1.mjs.map +0 -1
  666. package/dist/_chunks/cs-I8N4u-Sd.js +0 -50
  667. package/dist/_chunks/cs-I8N4u-Sd.js.map +0 -1
  668. package/dist/_chunks/de-YTjtq89K.js +0 -62
  669. package/dist/_chunks/de-YTjtq89K.js.map +0 -1
  670. package/dist/_chunks/de-zs2qqc0W.mjs +0 -62
  671. package/dist/_chunks/de-zs2qqc0W.mjs.map +0 -1
  672. package/dist/_chunks/dk-HctVBMsG.mjs +0 -86
  673. package/dist/_chunks/dk-HctVBMsG.mjs.map +0 -1
  674. package/dist/_chunks/dk-TF-dWjzl.js +0 -86
  675. package/dist/_chunks/dk-TF-dWjzl.js.map +0 -1
  676. package/dist/_chunks/en-CE3wEy_c.mjs +0 -86
  677. package/dist/_chunks/en-CE3wEy_c.mjs.map +0 -1
  678. package/dist/_chunks/en-m608rMZx.js +0 -86
  679. package/dist/_chunks/en-m608rMZx.js.map +0 -1
  680. package/dist/_chunks/es-9381tih_.mjs +0 -86
  681. package/dist/_chunks/es-9381tih_.mjs.map +0 -1
  682. package/dist/_chunks/es-XBQsB8_9.js +0 -86
  683. package/dist/_chunks/es-XBQsB8_9.js.map +0 -1
  684. package/dist/_chunks/fr-6cz3U-IF.js +0 -50
  685. package/dist/_chunks/fr-6cz3U-IF.js.map +0 -1
  686. package/dist/_chunks/fr-CMSc77If.mjs +0 -50
  687. package/dist/_chunks/fr-CMSc77If.mjs.map +0 -1
  688. package/dist/_chunks/id-RJ934rq-.js +0 -62
  689. package/dist/_chunks/id-RJ934rq-.js.map +0 -1
  690. package/dist/_chunks/id-SDuyIkZa.mjs +0 -62
  691. package/dist/_chunks/id-SDuyIkZa.mjs.map +0 -1
  692. package/dist/_chunks/index--i6eterL.mjs +0 -1159
  693. package/dist/_chunks/index--i6eterL.mjs.map +0 -1
  694. package/dist/_chunks/index-1D1x56o5.js +0 -320
  695. package/dist/_chunks/index-1D1x56o5.js.map +0 -1
  696. package/dist/_chunks/index-5niFEULp.js +0 -407
  697. package/dist/_chunks/index-5niFEULp.js.map +0 -1
  698. package/dist/_chunks/index-DrwQvMkW.mjs +0 -615
  699. package/dist/_chunks/index-DrwQvMkW.mjs.map +0 -1
  700. package/dist/_chunks/index-EscLyxsi.js +0 -638
  701. package/dist/_chunks/index-EscLyxsi.js.map +0 -1
  702. package/dist/_chunks/index-FehMxWky.js +0 -249
  703. package/dist/_chunks/index-FehMxWky.js.map +0 -1
  704. package/dist/_chunks/index-J7EIxGQ9.mjs +0 -385
  705. package/dist/_chunks/index-J7EIxGQ9.mjs.map +0 -1
  706. package/dist/_chunks/index-SM5SM05n.mjs +0 -250
  707. package/dist/_chunks/index-SM5SM05n.mjs.map +0 -1
  708. package/dist/_chunks/index-bkRk01QE.js +0 -1191
  709. package/dist/_chunks/index-bkRk01QE.js.map +0 -1
  710. package/dist/_chunks/index-pmr95XmG.mjs +0 -301
  711. package/dist/_chunks/index-pmr95XmG.mjs.map +0 -1
  712. package/dist/_chunks/it-YhZOlM2X.js +0 -62
  713. package/dist/_chunks/it-YhZOlM2X.js.map +0 -1
  714. package/dist/_chunks/it-bvH7DgQo.mjs +0 -62
  715. package/dist/_chunks/it-bvH7DgQo.mjs.map +0 -1
  716. package/dist/_chunks/ja-o_-JPvQv.mjs +0 -48
  717. package/dist/_chunks/ja-o_-JPvQv.mjs.map +0 -1
  718. package/dist/_chunks/ja-xssHUXFv.js +0 -48
  719. package/dist/_chunks/ja-xssHUXFv.js.map +0 -1
  720. package/dist/_chunks/ko-C3mHUSJa.js +0 -86
  721. package/dist/_chunks/ko-C3mHUSJa.js.map +0 -1
  722. package/dist/_chunks/ko-XJbPSez_.mjs +0 -86
  723. package/dist/_chunks/ko-XJbPSez_.mjs.map +0 -1
  724. package/dist/_chunks/ms-II5Ea73J.mjs +0 -49
  725. package/dist/_chunks/ms-II5Ea73J.mjs.map +0 -1
  726. package/dist/_chunks/ms-d0hfg65Z.js +0 -49
  727. package/dist/_chunks/ms-d0hfg65Z.js.map +0 -1
  728. package/dist/_chunks/nl-TA7TfK_5.js +0 -48
  729. package/dist/_chunks/nl-TA7TfK_5.js.map +0 -1
  730. package/dist/_chunks/nl-vEy6TN0K.mjs +0 -48
  731. package/dist/_chunks/nl-vEy6TN0K.mjs.map +0 -1
  732. package/dist/_chunks/pl-0pUL9hdA.js +0 -86
  733. package/dist/_chunks/pl-0pUL9hdA.js.map +0 -1
  734. package/dist/_chunks/pl-2VowaFGt.mjs +0 -86
  735. package/dist/_chunks/pl-2VowaFGt.mjs.map +0 -1
  736. package/dist/_chunks/pt-BR-WNOhafR4.js +0 -44
  737. package/dist/_chunks/pt-BR-WNOhafR4.js.map +0 -1
  738. package/dist/_chunks/pt-BR-sS1Xp3Jt.mjs +0 -44
  739. package/dist/_chunks/pt-BR-sS1Xp3Jt.mjs.map +0 -1
  740. package/dist/_chunks/pt-Rf9W51IO.mjs +0 -48
  741. package/dist/_chunks/pt-Rf9W51IO.mjs.map +0 -1
  742. package/dist/_chunks/pt-guNR9Gax.js +0 -48
  743. package/dist/_chunks/pt-guNR9Gax.js.map +0 -1
  744. package/dist/_chunks/ru-X3BMXDds.js +0 -86
  745. package/dist/_chunks/ru-X3BMXDds.js.map +0 -1
  746. package/dist/_chunks/ru-qKHnd5or.mjs +0 -86
  747. package/dist/_chunks/ru-qKHnd5or.mjs.map +0 -1
  748. package/dist/_chunks/sk-NWPw1oTN.js +0 -50
  749. package/dist/_chunks/sk-NWPw1oTN.js.map +0 -1
  750. package/dist/_chunks/sk-_Ryr-eTT.mjs +0 -50
  751. package/dist/_chunks/sk-_Ryr-eTT.mjs.map +0 -1
  752. package/dist/_chunks/sv-76NnbB__.js +0 -86
  753. package/dist/_chunks/sv-76NnbB__.js.map +0 -1
  754. package/dist/_chunks/sv-BqzScFXS.mjs +0 -86
  755. package/dist/_chunks/sv-BqzScFXS.mjs.map +0 -1
  756. package/dist/_chunks/th-WsknMEpq.mjs +0 -60
  757. package/dist/_chunks/th-WsknMEpq.mjs.map +0 -1
  758. package/dist/_chunks/th-cbppX21D.js +0 -60
  759. package/dist/_chunks/th-cbppX21D.js.map +0 -1
  760. package/dist/_chunks/tr-6mm_Fmz7.js +0 -85
  761. package/dist/_chunks/tr-6mm_Fmz7.js.map +0 -1
  762. package/dist/_chunks/tr-_DB1F1GW.mjs +0 -85
  763. package/dist/_chunks/tr-_DB1F1GW.mjs.map +0 -1
  764. package/dist/_chunks/uk-sI2I1ogF.js +0 -49
  765. package/dist/_chunks/uk-sI2I1ogF.js.map +0 -1
  766. package/dist/_chunks/uk-yxMSQAwI.mjs +0 -49
  767. package/dist/_chunks/uk-yxMSQAwI.mjs.map +0 -1
  768. package/dist/_chunks/vi-A3zJxaiI.js +0 -50
  769. package/dist/_chunks/vi-A3zJxaiI.js.map +0 -1
  770. package/dist/_chunks/vi-xY0zCW3d.mjs +0 -50
  771. package/dist/_chunks/vi-xY0zCW3d.mjs.map +0 -1
  772. package/dist/_chunks/zh-72SpmFXa.js +0 -86
  773. package/dist/_chunks/zh-72SpmFXa.js.map +0 -1
  774. package/dist/_chunks/zh-Hans-ArWWtyP4.js +0 -86
  775. package/dist/_chunks/zh-Hans-ArWWtyP4.js.map +0 -1
  776. package/dist/_chunks/zh-Hans-E84cu4kP.mjs +0 -86
  777. package/dist/_chunks/zh-Hans-E84cu4kP.mjs.map +0 -1
  778. package/dist/_chunks/zh-OFeldzbX.mjs +0 -86
  779. package/dist/_chunks/zh-OFeldzbX.mjs.map +0 -1
  780. package/packup.config.ts +0 -22
  781. package/server/bootstrap/grant-config.js +0 -140
  782. package/strapi-server.js +0 -3
  783. /package/admin/src/translations/{dk.json → da.json} +0 -0
@@ -0,0 +1,658 @@
1
+ 'use strict';
2
+
3
+ var require$$0$2 = require('crypto');
4
+ var require$$0$1 = require('lodash');
5
+ var require$$0 = require('lodash/fp');
6
+ var require$$1 = require('@strapi/utils');
7
+ var index = require('../utils/index.js');
8
+ var refreshCookieOptions = require('../utils/refresh-cookie-options.js');
9
+ var auth$1 = require('./validation/auth.js');
10
+ var require$$7 = require('grant');
11
+
12
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
13
+
14
+ var require$$0__default$2 = /*#__PURE__*/_interopDefault(require$$0$2);
15
+ var require$$0__default$1 = /*#__PURE__*/_interopDefault(require$$0$1);
16
+ var require$$0__default = /*#__PURE__*/_interopDefault(require$$0);
17
+ var require$$1__default = /*#__PURE__*/_interopDefault(require$$1);
18
+ var require$$7__default = /*#__PURE__*/_interopDefault(require$$7);
19
+
20
+ var auth;
21
+ var hasRequiredAuth;
22
+ function requireAuth() {
23
+ if (hasRequiredAuth) return auth;
24
+ hasRequiredAuth = 1;
25
+ /**
26
+ * Auth.js controller
27
+ *
28
+ * @description: A set of functions called "actions" for managing `Auth`.
29
+ */ /* eslint-disable no-useless-escape */ const crypto = require$$0__default$2.default;
30
+ const _ = require$$0__default$1.default;
31
+ const { concat, compact, isArray } = require$$0__default.default;
32
+ const utils = require$$1__default.default;
33
+ const { getService } = index.__require();
34
+ const { buildRefreshCookieOptions } = refreshCookieOptions.__require();
35
+ const { validateCallbackBody, validateRegisterBody, validateSendEmailConfirmationBody, validateForgotPasswordBody, validateResetPasswordBody, validateEmailConfirmationBody, validateChangePasswordBody } = auth$1.__require();
36
+ const { ApplicationError, ValidationError, ForbiddenError } = utils.errors;
37
+ const { buildSessionMetadata, sanitizeSessionEntry, sortSessionsForDisplay } = utils;
38
+ const sanitizeUser = (user, ctx)=>{
39
+ const { auth } = ctx.state;
40
+ const userSchema = strapi.getModel('plugin::users-permissions.user');
41
+ return strapi.contentAPI.sanitize.output(user, userSchema, {
42
+ auth
43
+ });
44
+ };
45
+ const extractDeviceId = (requestBody)=>{
46
+ const { deviceId } = requestBody || {};
47
+ return typeof deviceId === 'string' && deviceId.length > 0 ? deviceId : undefined;
48
+ };
49
+ const buildSessionMetadataFromContext = (ctx)=>buildSessionMetadata({
50
+ ip: ctx.request.ip,
51
+ userAgent: ctx.request.headers['user-agent']
52
+ });
53
+ const sendRefreshAuthResponse = async (strapi1, ctx, user, { metadata } = {})=>{
54
+ const deviceId = extractDeviceId(ctx.request.body);
55
+ const tokenOptions = {
56
+ type: 'refresh',
57
+ ...metadata ? {
58
+ metadata
59
+ } : {}
60
+ };
61
+ const refresh = await strapi1.sessionManager('users-permissions').generateRefreshToken(String(user.id), deviceId, tokenOptions);
62
+ const access = await strapi1.sessionManager('users-permissions').generateAccessToken(refresh.token);
63
+ if ('error' in access) {
64
+ throw new ApplicationError('Invalid credentials');
65
+ }
66
+ const upSessions = strapi1.config.get('plugin::users-permissions.sessions');
67
+ const requestHttpOnly = ctx.request.header['x-strapi-refresh-cookie'] === 'httpOnly';
68
+ if (upSessions?.httpOnly || requestHttpOnly) {
69
+ const cookieName = upSessions.cookie?.name || 'strapi_up_refresh';
70
+ const isProduction = process.env.NODE_ENV === 'production';
71
+ ctx.cookies.set(cookieName, refresh.token, buildRefreshCookieOptions(upSessions, isProduction));
72
+ return ctx.send({
73
+ jwt: access.token,
74
+ user: await sanitizeUser(user, ctx)
75
+ });
76
+ }
77
+ return ctx.send({
78
+ jwt: access.token,
79
+ refreshToken: refresh.token,
80
+ user: await sanitizeUser(user, ctx)
81
+ });
82
+ };
83
+ const reissueTokensAfterPasswordChange = async (strapi1, ctx, user)=>{
84
+ const deviceId = extractDeviceId(ctx.request.body);
85
+ await strapi1.sessionManager('users-permissions').invalidateRefreshToken(String(user.id));
86
+ const newDeviceId = deviceId || crypto.randomUUID();
87
+ const refresh = await strapi1.sessionManager('users-permissions').generateRefreshToken(String(user.id), newDeviceId, {
88
+ type: 'refresh'
89
+ });
90
+ const access = await strapi1.sessionManager('users-permissions').generateAccessToken(refresh.token);
91
+ if ('error' in access) {
92
+ throw new ApplicationError('Invalid credentials');
93
+ }
94
+ return ctx.send({
95
+ jwt: access.token,
96
+ refreshToken: refresh.token,
97
+ user: await sanitizeUser(user, ctx)
98
+ });
99
+ };
100
+ const revokeLogoutSessions = async (strapi1, ctx, userId, { scope, deviceId, body })=>{
101
+ const sessionManager = strapi1.sessionManager('users-permissions');
102
+ const upSessions = strapi1.config.get('plugin::users-permissions.sessions');
103
+ if (scope === 'all') {
104
+ await sessionManager.invalidateRefreshToken(userId);
105
+ return;
106
+ }
107
+ if (deviceId) {
108
+ await sessionManager.invalidateRefreshToken(userId, deviceId);
109
+ return;
110
+ }
111
+ let currentSessionId = ctx.state.session?.id;
112
+ const cookieName = upSessions?.cookie?.name || 'strapi_up_refresh';
113
+ const refreshToken = ctx.cookies.get(cookieName) || (typeof body.refreshToken === 'string' ? body.refreshToken : undefined);
114
+ if (refreshToken) {
115
+ const validation = await sessionManager.validateRefreshToken(refreshToken);
116
+ if (validation.isValid) {
117
+ currentSessionId = validation.sessionId;
118
+ }
119
+ }
120
+ if (currentSessionId) {
121
+ await sessionManager.revokeSessionById(userId, currentSessionId);
122
+ return;
123
+ }
124
+ await sessionManager.invalidateRefreshToken(userId);
125
+ };
126
+ auth = ({ strapi: strapi1 })=>({
127
+ async callback (ctx) {
128
+ const provider = ctx.params.provider || 'local';
129
+ const params = ctx.request.body;
130
+ const store = strapi1.store({
131
+ type: 'plugin',
132
+ name: 'users-permissions'
133
+ });
134
+ const grantSettings = await store.get({
135
+ key: 'grant'
136
+ });
137
+ const grantProvider = provider === 'local' ? 'email' : provider;
138
+ if (!_.get(grantSettings, [
139
+ grantProvider,
140
+ 'enabled'
141
+ ])) {
142
+ throw new ApplicationError('This provider is disabled');
143
+ }
144
+ if (provider === 'local') {
145
+ await validateCallbackBody(params);
146
+ const { identifier } = params;
147
+ // Check if the user exists.
148
+ const user = await strapi1.db.query('plugin::users-permissions.user').findOne({
149
+ where: {
150
+ provider,
151
+ $or: [
152
+ {
153
+ email: identifier.toLowerCase()
154
+ },
155
+ {
156
+ username: identifier
157
+ }
158
+ ]
159
+ }
160
+ });
161
+ if (!user) {
162
+ throw new ValidationError('Invalid identifier or password');
163
+ }
164
+ if (!user.password) {
165
+ throw new ValidationError('Invalid identifier or password');
166
+ }
167
+ const validPassword = await getService('user').validatePassword(params.password, user.password);
168
+ if (!validPassword) {
169
+ throw new ValidationError('Invalid identifier or password');
170
+ }
171
+ const advancedSettings = await store.get({
172
+ key: 'advanced'
173
+ });
174
+ const requiresConfirmation = _.get(advancedSettings, 'email_confirmation');
175
+ if (requiresConfirmation && user.confirmed !== true) {
176
+ throw new ApplicationError('Your account email is not confirmed');
177
+ }
178
+ if (user.blocked === true) {
179
+ throw new ApplicationError('Your account has been blocked by an administrator');
180
+ }
181
+ const mode = strapi1.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');
182
+ if (mode === 'refresh') {
183
+ return sendRefreshAuthResponse(strapi1, ctx, user, {
184
+ metadata: buildSessionMetadataFromContext(ctx)
185
+ });
186
+ }
187
+ return ctx.send({
188
+ jwt: getService('jwt').issue({
189
+ id: user.id
190
+ }),
191
+ user: await sanitizeUser(user, ctx)
192
+ });
193
+ }
194
+ // Connect the user with the third-party provider.
195
+ try {
196
+ const user = await getService('providers').connect(provider, ctx.query);
197
+ if (user.blocked) {
198
+ throw new ForbiddenError('Your account has been blocked by an administrator');
199
+ }
200
+ const mode = strapi1.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');
201
+ if (mode === 'refresh') {
202
+ return sendRefreshAuthResponse(strapi1, ctx, user, {
203
+ metadata: buildSessionMetadataFromContext(ctx)
204
+ });
205
+ }
206
+ return ctx.send({
207
+ jwt: getService('jwt').issue({
208
+ id: user.id
209
+ }),
210
+ user: await sanitizeUser(user, ctx)
211
+ });
212
+ } catch (error) {
213
+ throw new ApplicationError(error.message);
214
+ }
215
+ },
216
+ async changePassword (ctx) {
217
+ if (!ctx.state.user) {
218
+ throw new ApplicationError('You must be authenticated to reset your password');
219
+ }
220
+ const validations = strapi1.config.get('plugin::users-permissions.validationRules');
221
+ const { currentPassword, password } = await validateChangePasswordBody(ctx.request.body, validations);
222
+ const user = await strapi1.db.query('plugin::users-permissions.user').findOne({
223
+ where: {
224
+ id: ctx.state.user.id
225
+ }
226
+ });
227
+ const validPassword = await getService('user').validatePassword(currentPassword, user.password);
228
+ if (!validPassword) {
229
+ throw new ValidationError('The provided current password is invalid');
230
+ }
231
+ if (currentPassword === password) {
232
+ throw new ValidationError('Your new password must be different than your current password');
233
+ }
234
+ await getService('user').edit(user.id, {
235
+ password
236
+ });
237
+ const mode = strapi1.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');
238
+ if (mode === 'refresh') {
239
+ return reissueTokensAfterPasswordChange(strapi1, ctx, user);
240
+ }
241
+ return ctx.send({
242
+ jwt: getService('jwt').issue({
243
+ id: user.id
244
+ }),
245
+ user: await sanitizeUser(user, ctx)
246
+ });
247
+ },
248
+ async resetPassword (ctx) {
249
+ const validations = strapi1.config.get('plugin::users-permissions.validationRules');
250
+ const { password, passwordConfirmation, code } = await validateResetPasswordBody(ctx.request.body, validations);
251
+ if (password !== passwordConfirmation) {
252
+ throw new ValidationError('Passwords do not match');
253
+ }
254
+ const user = await strapi1.db.query('plugin::users-permissions.user').findOne({
255
+ where: {
256
+ resetPasswordToken: code
257
+ }
258
+ });
259
+ if (!user) {
260
+ throw new ValidationError('Incorrect code provided');
261
+ }
262
+ await getService('user').edit(user.id, {
263
+ resetPasswordToken: null,
264
+ password
265
+ });
266
+ const mode = strapi1.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');
267
+ if (mode === 'refresh') {
268
+ return reissueTokensAfterPasswordChange(strapi1, ctx, user);
269
+ }
270
+ return ctx.send({
271
+ jwt: getService('jwt').issue({
272
+ id: user.id
273
+ }),
274
+ user: await sanitizeUser(user, ctx)
275
+ });
276
+ },
277
+ async refresh (ctx) {
278
+ const mode = strapi1.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');
279
+ if (mode !== 'refresh') {
280
+ return ctx.notFound();
281
+ }
282
+ const upSessions = strapi1.config.get('plugin::users-permissions.sessions');
283
+ const cookieName = upSessions?.cookie?.name || 'strapi_up_refresh';
284
+ // Check for refresh token in cookie first (if httpOnly is configured), then in body
285
+ let refreshToken = ctx.cookies.get(cookieName);
286
+ if (!refreshToken) {
287
+ refreshToken = ctx.request.body?.refreshToken;
288
+ }
289
+ if (!refreshToken || typeof refreshToken !== 'string') {
290
+ return ctx.badRequest('Missing refresh token');
291
+ }
292
+ const rotation = await strapi1.sessionManager('users-permissions').rotateRefreshToken(refreshToken);
293
+ if ('error' in rotation) {
294
+ return ctx.unauthorized('Invalid refresh token');
295
+ }
296
+ const result = await strapi1.sessionManager('users-permissions').generateAccessToken(rotation.token);
297
+ if ('error' in result) {
298
+ return ctx.unauthorized('Invalid refresh token');
299
+ }
300
+ const requestHttpOnly = ctx.request.header['x-strapi-refresh-cookie'] === 'httpOnly';
301
+ if (upSessions?.httpOnly || requestHttpOnly) {
302
+ const isProduction = process.env.NODE_ENV === 'production';
303
+ ctx.cookies.set(cookieName, rotation.token, buildRefreshCookieOptions(upSessions, isProduction));
304
+ return ctx.send({
305
+ jwt: result.token
306
+ });
307
+ }
308
+ return ctx.send({
309
+ jwt: result.token,
310
+ refreshToken: rotation.token
311
+ });
312
+ },
313
+ async logout (ctx) {
314
+ const mode = strapi1.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');
315
+ if (mode !== 'refresh') {
316
+ return ctx.notFound();
317
+ }
318
+ if (!ctx.state.user) {
319
+ return ctx.unauthorized('Missing authentication');
320
+ }
321
+ const userId = String(ctx.state.user.id);
322
+ const upSessions = strapi1.config.get('plugin::users-permissions.sessions');
323
+ const body = ctx.request.body || {};
324
+ const scope = typeof body.scope === 'string' ? body.scope : undefined;
325
+ const deviceId = extractDeviceId(body);
326
+ try {
327
+ await revokeLogoutSessions(strapi1, ctx, userId, {
328
+ scope,
329
+ deviceId,
330
+ body
331
+ });
332
+ } catch (err) {
333
+ strapi1.log.error('UP logout failed', err);
334
+ }
335
+ const requestHttpOnly = ctx.request.header['x-strapi-refresh-cookie'] === 'httpOnly';
336
+ if (upSessions?.httpOnly || requestHttpOnly) {
337
+ const cookieName = upSessions.cookie?.name || 'strapi_up_refresh';
338
+ ctx.cookies.set(cookieName, '', {
339
+ expires: new Date(0)
340
+ });
341
+ }
342
+ return ctx.send({
343
+ ok: true
344
+ });
345
+ },
346
+ async getSessions (ctx) {
347
+ const mode = strapi1.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');
348
+ if (mode !== 'refresh') {
349
+ return ctx.notFound();
350
+ }
351
+ if (!ctx.state.user) {
352
+ return ctx.unauthorized('Missing authentication');
353
+ }
354
+ const currentSessionId = ctx.state.session?.id;
355
+ const sessions = await strapi1.sessionManager('users-permissions').listSessions(String(ctx.state.user.id));
356
+ const data = sortSessionsForDisplay(sessions.map((session)=>sanitizeSessionEntry(session, currentSessionId)));
357
+ return ctx.send({
358
+ data
359
+ });
360
+ },
361
+ async revokeSession (ctx) {
362
+ const mode = strapi1.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');
363
+ if (mode !== 'refresh') {
364
+ return ctx.notFound();
365
+ }
366
+ if (!ctx.state.user) {
367
+ return ctx.unauthorized('Missing authentication');
368
+ }
369
+ const { sessionId } = ctx.params;
370
+ const revoked = await strapi1.sessionManager('users-permissions').revokeSessionById(String(ctx.state.user.id), sessionId);
371
+ if (!revoked) {
372
+ return ctx.notFound('Session not found');
373
+ }
374
+ return ctx.send({
375
+ data: {}
376
+ });
377
+ },
378
+ async connect (ctx, next) {
379
+ const grant = require$$7__default.default.koa();
380
+ const providers = await strapi1.store({
381
+ type: 'plugin',
382
+ name: 'users-permissions',
383
+ key: 'grant'
384
+ }).get();
385
+ const apiPrefix = strapi1.config.get('api.rest.prefix');
386
+ const grantConfig = {
387
+ defaults: {
388
+ prefix: `${apiPrefix}/connect`
389
+ },
390
+ ...providers
391
+ };
392
+ const [requestPath] = ctx.request.url.split('?');
393
+ const provider = requestPath.split('/connect/')[1].split('/')[0];
394
+ if (!_.get(grantConfig[provider], 'enabled')) {
395
+ throw new ApplicationError('This provider is disabled');
396
+ }
397
+ if (!strapi1.config.server.url.startsWith('http')) {
398
+ strapi1.log.warn('You are using a third party provider for login. Make sure to set an absolute url in config/server.js. More info here: https://docs.strapi.io/developer-docs/latest/plugins/users-permissions.html#setting-up-the-server-url');
399
+ }
400
+ // Ability to pass OAuth callback dynamically
401
+ const queryCustomCallback = _.get(ctx, 'query.callback');
402
+ const dynamicSessionCallback = _.get(ctx, 'session.grant.dynamic.callback');
403
+ const customCallback = queryCustomCallback ?? dynamicSessionCallback;
404
+ // The custom callback is validated to make sure it's not redirecting to an unwanted actor.
405
+ if (customCallback !== undefined) {
406
+ try {
407
+ // We're extracting the callback validator from the plugin config since it can be user-customized
408
+ const { validate: validateCallback } = strapi1.plugin('users-permissions').config('callback');
409
+ await validateCallback(customCallback, grantConfig[provider]);
410
+ grantConfig[provider].callback = customCallback;
411
+ } catch (e) {
412
+ throw new ValidationError('Invalid callback URL provided', {
413
+ callback: customCallback
414
+ });
415
+ }
416
+ }
417
+ // Build a valid redirect URI for the current provider
418
+ grantConfig[provider].redirect_uri = getService('providers').buildRedirectUri(provider);
419
+ return grant(grantConfig)(ctx, next);
420
+ },
421
+ async forgotPassword (ctx) {
422
+ const { email } = await validateForgotPasswordBody(ctx.request.body);
423
+ const pluginStore = await strapi1.store({
424
+ type: 'plugin',
425
+ name: 'users-permissions'
426
+ });
427
+ const emailSettings = await pluginStore.get({
428
+ key: 'email'
429
+ });
430
+ const advancedSettings = await pluginStore.get({
431
+ key: 'advanced'
432
+ });
433
+ // Find the user by email.
434
+ const user = await strapi1.db.query('plugin::users-permissions.user').findOne({
435
+ where: {
436
+ email: email.toLowerCase()
437
+ }
438
+ });
439
+ if (!user || user.blocked) {
440
+ return ctx.send({
441
+ ok: true
442
+ });
443
+ }
444
+ // Generate random token.
445
+ const userInfo = await sanitizeUser(user, ctx);
446
+ const resetPasswordToken = crypto.randomBytes(64).toString('hex');
447
+ const resetPasswordSettings = _.get(emailSettings, 'reset_password.options', {});
448
+ const emailBody = await getService('users-permissions').template(resetPasswordSettings.message, {
449
+ URL: advancedSettings.email_reset_password,
450
+ SERVER_URL: strapi1.config.get('server.absoluteUrl'),
451
+ ADMIN_URL: strapi1.config.get('admin.absoluteUrl'),
452
+ USER: userInfo,
453
+ TOKEN: resetPasswordToken
454
+ });
455
+ const emailObject = await getService('users-permissions').template(resetPasswordSettings.object, {
456
+ USER: userInfo
457
+ });
458
+ const emailToSend = {
459
+ to: user.email,
460
+ from: resetPasswordSettings.from.email || resetPasswordSettings.from.name ? `${resetPasswordSettings.from.name} <${resetPasswordSettings.from.email}>` : undefined,
461
+ replyTo: resetPasswordSettings.response_email,
462
+ subject: emailObject,
463
+ text: emailBody,
464
+ html: emailBody
465
+ };
466
+ // NOTE: Update the user before sending the email so an Admin can generate the link if the email fails
467
+ await getService('user').edit(user.id, {
468
+ resetPasswordToken
469
+ });
470
+ // Send an email to the user.
471
+ await strapi1.plugin('email').service('email').send(emailToSend);
472
+ ctx.send({
473
+ ok: true
474
+ });
475
+ },
476
+ async register (ctx) {
477
+ const pluginStore = await strapi1.store({
478
+ type: 'plugin',
479
+ name: 'users-permissions'
480
+ });
481
+ const settings = await pluginStore.get({
482
+ key: 'advanced'
483
+ });
484
+ if (!settings.allow_register) {
485
+ throw new ApplicationError('Register action is currently disabled');
486
+ }
487
+ const { register } = strapi1.config.get('plugin::users-permissions');
488
+ const alwaysAllowedKeys = [
489
+ 'username',
490
+ 'password',
491
+ 'email'
492
+ ];
493
+ // Note that we intentionally do not filter allowedFields to allow a project to explicitly accept private or other Strapi field on registration
494
+ const allowedKeys = compact(concat(alwaysAllowedKeys, isArray(register?.allowedFields) ? register.allowedFields : []));
495
+ // Check if there are any keys in requestBody that are not in allowedKeys
496
+ const invalidKeys = Object.keys(ctx.request.body).filter((key)=>!allowedKeys.includes(key));
497
+ if (invalidKeys.length > 0) {
498
+ // If there are invalid keys, throw an error
499
+ throw new ValidationError(`Invalid parameters: ${invalidKeys.join(', ')}`);
500
+ }
501
+ const params = {
502
+ ..._.pick(ctx.request.body, allowedKeys),
503
+ provider: 'local'
504
+ };
505
+ const validations = strapi1.config.get('plugin::users-permissions.validationRules');
506
+ await validateRegisterBody(params, validations);
507
+ const role = await strapi1.db.query('plugin::users-permissions.role').findOne({
508
+ where: {
509
+ type: settings.default_role
510
+ }
511
+ });
512
+ if (!role) {
513
+ throw new ApplicationError('Impossible to find the default role');
514
+ }
515
+ const { email, username, provider } = params;
516
+ const identifierFilter = {
517
+ $or: [
518
+ {
519
+ email: email.toLowerCase()
520
+ },
521
+ {
522
+ username: email.toLowerCase()
523
+ },
524
+ {
525
+ username
526
+ },
527
+ {
528
+ email: username
529
+ }
530
+ ]
531
+ };
532
+ const conflictingUserCount = await strapi1.db.query('plugin::users-permissions.user').count({
533
+ where: {
534
+ ...identifierFilter,
535
+ provider
536
+ }
537
+ });
538
+ if (conflictingUserCount > 0) {
539
+ throw new ApplicationError('Email or Username are already taken');
540
+ }
541
+ if (settings.unique_email) {
542
+ const conflictingUserCount = await strapi1.db.query('plugin::users-permissions.user').count({
543
+ where: {
544
+ ...identifierFilter
545
+ }
546
+ });
547
+ if (conflictingUserCount > 0) {
548
+ throw new ApplicationError('Email or Username are already taken');
549
+ }
550
+ }
551
+ const newUser = {
552
+ ...params,
553
+ role: role.id,
554
+ email: email.toLowerCase(),
555
+ username,
556
+ confirmed: !settings.email_confirmation
557
+ };
558
+ const user = await getService('user').add(newUser);
559
+ const sanitizedUser = await sanitizeUser(user, ctx);
560
+ if (settings.email_confirmation) {
561
+ try {
562
+ await getService('user').sendConfirmationEmail(sanitizedUser);
563
+ } catch (err) {
564
+ strapi1.log.error(err);
565
+ throw new ApplicationError('Error sending confirmation email');
566
+ }
567
+ return ctx.send({
568
+ user: sanitizedUser
569
+ });
570
+ }
571
+ const mode = strapi1.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');
572
+ if (mode === 'refresh') {
573
+ const deviceId = extractDeviceId(ctx.request.body) || crypto.randomUUID();
574
+ const refresh = await strapi1.sessionManager('users-permissions').generateRefreshToken(String(user.id), deviceId, {
575
+ type: 'refresh',
576
+ metadata: buildSessionMetadataFromContext(ctx)
577
+ });
578
+ const access = await strapi1.sessionManager('users-permissions').generateAccessToken(refresh.token);
579
+ if ('error' in access) {
580
+ throw new ApplicationError('Invalid credentials');
581
+ }
582
+ return ctx.send({
583
+ jwt: access.token,
584
+ refreshToken: refresh.token,
585
+ user: sanitizedUser
586
+ });
587
+ }
588
+ const jwt = getService('jwt').issue(_.pick(user, [
589
+ 'id'
590
+ ]));
591
+ return ctx.send({
592
+ jwt,
593
+ user: sanitizedUser
594
+ });
595
+ },
596
+ async emailConfirmation (ctx, next, returnUser) {
597
+ const { confirmation: confirmationToken } = await validateEmailConfirmationBody(ctx.query);
598
+ const userService = getService('user');
599
+ const jwtService = getService('jwt');
600
+ const [user] = await userService.fetchAll({
601
+ filters: {
602
+ confirmationToken
603
+ }
604
+ });
605
+ if (!user) {
606
+ throw new ValidationError('Invalid token');
607
+ }
608
+ await userService.edit(user.id, {
609
+ confirmed: true,
610
+ confirmationToken: null
611
+ });
612
+ if (returnUser) {
613
+ ctx.send({
614
+ jwt: jwtService.issue({
615
+ id: user.id
616
+ }),
617
+ user: await sanitizeUser(user, ctx)
618
+ });
619
+ } else {
620
+ const settings = await strapi1.store({
621
+ type: 'plugin',
622
+ name: 'users-permissions',
623
+ key: 'advanced'
624
+ }).get();
625
+ ctx.redirect(settings.email_confirmation_redirection || '/');
626
+ }
627
+ },
628
+ async sendEmailConfirmation (ctx) {
629
+ const { email } = await validateSendEmailConfirmationBody(ctx.request.body);
630
+ const user = await strapi1.db.query('plugin::users-permissions.user').findOne({
631
+ where: {
632
+ email: email.toLowerCase()
633
+ }
634
+ });
635
+ if (!user) {
636
+ return ctx.send({
637
+ email,
638
+ sent: true
639
+ });
640
+ }
641
+ if (user.confirmed) {
642
+ throw new ApplicationError('Already confirmed');
643
+ }
644
+ if (user.blocked) {
645
+ throw new ApplicationError('User blocked');
646
+ }
647
+ await getService('user').sendConfirmationEmail(user);
648
+ ctx.send({
649
+ email: user.email,
650
+ sent: true
651
+ });
652
+ }
653
+ });
654
+ return auth;
655
+ }
656
+
657
+ exports.__require = requireAuth;
658
+ //# sourceMappingURL=auth.js.map