@strapi/plugin-users-permissions 0.0.0-next.f8af92b375dc730ba47ed2117f25df893aae696c → 0.0.0-next.f93d6eabe52aa7681655cfa08eedbc3708dbb90d

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 (747) hide show
  1. package/.eslintignore +2 -1
  2. package/LICENSE +18 -3
  3. package/admin/src/components/BoundRoute/index.jsx +3 -3
  4. package/admin/src/components/FormModal/Input/index.jsx +33 -32
  5. package/admin/src/components/FormModal/index.jsx +58 -69
  6. package/admin/src/components/Permissions/PermissionRow/CheckboxWrapper.jsx +4 -3
  7. package/admin/src/components/Permissions/PermissionRow/SubCategory.jsx +13 -22
  8. package/admin/src/components/Permissions/index.jsx +27 -35
  9. package/admin/src/components/Permissions/reducer.js +1 -1
  10. package/admin/src/components/Policies/index.jsx +8 -6
  11. package/admin/src/components/UsersPermissions/index.jsx +15 -7
  12. package/admin/src/components/UsersPermissions/reducer.js +1 -1
  13. package/admin/src/index.js +17 -34
  14. package/admin/src/pages/AdvancedSettings/index.jsx +84 -129
  15. package/admin/src/pages/AdvancedSettings/utils/layout.js +20 -35
  16. package/admin/src/pages/AdvancedSettings/utils/schema.js +5 -2
  17. package/admin/src/pages/EmailTemplates/components/EmailForm.jsx +120 -140
  18. package/admin/src/pages/EmailTemplates/components/EmailTable.jsx +21 -18
  19. package/admin/src/pages/EmailTemplates/index.jsx +36 -62
  20. package/admin/src/pages/EmailTemplates/utils/schema.js +18 -6
  21. package/admin/src/pages/Providers/index.jsx +98 -113
  22. package/admin/src/pages/Providers/utils/forms.js +23 -11
  23. package/admin/src/pages/Roles/constants.js +3 -3
  24. package/admin/src/pages/Roles/hooks/usePlugins.js +4 -4
  25. package/admin/src/pages/Roles/index.jsx +10 -19
  26. package/admin/src/pages/Roles/pages/CreatePage.jsx +53 -58
  27. package/admin/src/pages/Roles/pages/EditPage.jsx +63 -68
  28. package/admin/src/pages/Roles/pages/ListPage/components/TableBody.jsx +28 -32
  29. package/admin/src/pages/Roles/pages/ListPage/index.jsx +79 -55
  30. package/admin/src/pluginId.js +2 -2
  31. package/admin/src/translations/en.json +1 -1
  32. package/admin/src/translations/uk.json +41 -4
  33. package/admin/src/utils/prefixPluginTranslations.js +13 -0
  34. package/dist/admin/components/BoundRoute/getMethodColor.js +49 -0
  35. package/dist/admin/components/BoundRoute/getMethodColor.js.map +1 -0
  36. package/dist/admin/components/BoundRoute/getMethodColor.mjs +47 -0
  37. package/dist/admin/components/BoundRoute/getMethodColor.mjs.map +1 -0
  38. package/dist/admin/components/BoundRoute/index.js +98 -0
  39. package/dist/admin/components/BoundRoute/index.js.map +1 -0
  40. package/dist/admin/components/BoundRoute/index.mjs +96 -0
  41. package/dist/admin/components/BoundRoute/index.mjs.map +1 -0
  42. package/dist/admin/components/FormModal/Input/index.js +123 -0
  43. package/dist/admin/components/FormModal/Input/index.js.map +1 -0
  44. package/dist/admin/components/FormModal/Input/index.mjs +121 -0
  45. package/dist/admin/components/FormModal/Input/index.mjs.map +1 -0
  46. package/dist/admin/components/FormModal/index.js +110 -0
  47. package/dist/admin/components/FormModal/index.js.map +1 -0
  48. package/dist/admin/components/FormModal/index.mjs +108 -0
  49. package/dist/admin/components/FormModal/index.mjs.map +1 -0
  50. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.js +33 -0
  51. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.js.map +1 -0
  52. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.mjs +31 -0
  53. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.mjs.map +1 -0
  54. package/dist/admin/components/Permissions/PermissionRow/SubCategory.js +156 -0
  55. package/dist/admin/components/Permissions/PermissionRow/SubCategory.js.map +1 -0
  56. package/dist/admin/components/Permissions/PermissionRow/SubCategory.mjs +154 -0
  57. package/dist/admin/components/Permissions/PermissionRow/SubCategory.mjs.map +1 -0
  58. package/dist/admin/components/Permissions/PermissionRow/index.js +50 -0
  59. package/dist/admin/components/Permissions/PermissionRow/index.js.map +1 -0
  60. package/dist/admin/components/Permissions/PermissionRow/index.mjs +48 -0
  61. package/dist/admin/components/Permissions/PermissionRow/index.mjs.map +1 -0
  62. package/dist/admin/components/Permissions/index.js +52 -0
  63. package/dist/admin/components/Permissions/index.js.map +1 -0
  64. package/dist/admin/components/Permissions/index.mjs +50 -0
  65. package/dist/admin/components/Permissions/index.mjs.map +1 -0
  66. package/dist/admin/components/Permissions/init.js +15 -0
  67. package/dist/admin/components/Permissions/init.js.map +1 -0
  68. package/dist/admin/components/Permissions/init.mjs +13 -0
  69. package/dist/admin/components/Permissions/init.mjs.map +1 -0
  70. package/dist/admin/components/Permissions/reducer.js +34 -0
  71. package/dist/admin/components/Permissions/reducer.js.map +1 -0
  72. package/dist/admin/components/Permissions/reducer.mjs +31 -0
  73. package/dist/admin/components/Permissions/reducer.mjs.map +1 -0
  74. package/dist/admin/components/Policies/index.js +67 -0
  75. package/dist/admin/components/Policies/index.js.map +1 -0
  76. package/dist/admin/components/Policies/index.mjs +65 -0
  77. package/dist/admin/components/Policies/index.mjs.map +1 -0
  78. package/dist/admin/components/UsersPermissions/index.js +115 -0
  79. package/dist/admin/components/UsersPermissions/index.js.map +1 -0
  80. package/dist/admin/components/UsersPermissions/index.mjs +113 -0
  81. package/dist/admin/components/UsersPermissions/index.mjs.map +1 -0
  82. package/dist/admin/components/UsersPermissions/init.js +13 -0
  83. package/dist/admin/components/UsersPermissions/init.js.map +1 -0
  84. package/dist/admin/components/UsersPermissions/init.mjs +11 -0
  85. package/dist/admin/components/UsersPermissions/init.mjs.map +1 -0
  86. package/dist/admin/components/UsersPermissions/reducer.js +73 -0
  87. package/dist/admin/components/UsersPermissions/reducer.js.map +1 -0
  88. package/dist/admin/components/UsersPermissions/reducer.mjs +68 -0
  89. package/dist/admin/components/UsersPermissions/reducer.mjs.map +1 -0
  90. package/dist/admin/constants.js +81 -0
  91. package/dist/admin/constants.js.map +1 -0
  92. package/dist/admin/constants.mjs +79 -0
  93. package/dist/admin/constants.mjs.map +1 -0
  94. package/dist/admin/contexts/UsersPermissionsContext/index.js +23 -0
  95. package/dist/admin/contexts/UsersPermissionsContext/index.js.map +1 -0
  96. package/dist/admin/contexts/UsersPermissionsContext/index.mjs +19 -0
  97. package/dist/admin/contexts/UsersPermissionsContext/index.mjs.map +1 -0
  98. package/dist/admin/index.js +124 -4
  99. package/dist/admin/index.js.map +1 -1
  100. package/dist/admin/index.mjs +119 -4
  101. package/dist/admin/index.mjs.map +1 -1
  102. package/dist/admin/package.json.js +14 -0
  103. package/dist/admin/package.json.js.map +1 -0
  104. package/dist/admin/package.json.mjs +11 -0
  105. package/dist/admin/package.json.mjs.map +1 -0
  106. package/dist/admin/pages/AdvancedSettings/index.js +194 -0
  107. package/dist/admin/pages/AdvancedSettings/index.js.map +1 -0
  108. package/dist/admin/pages/AdvancedSettings/index.mjs +191 -0
  109. package/dist/admin/pages/AdvancedSettings/index.mjs.map +1 -0
  110. package/dist/admin/pages/AdvancedSettings/utils/layout.js +83 -0
  111. package/dist/admin/pages/AdvancedSettings/utils/layout.js.map +1 -0
  112. package/dist/admin/pages/AdvancedSettings/utils/layout.mjs +81 -0
  113. package/dist/admin/pages/AdvancedSettings/utils/layout.mjs.map +1 -0
  114. package/dist/admin/pages/AdvancedSettings/utils/schema.js +40 -0
  115. package/dist/admin/pages/AdvancedSettings/utils/schema.js.map +1 -0
  116. package/dist/admin/pages/AdvancedSettings/utils/schema.mjs +19 -0
  117. package/dist/admin/pages/AdvancedSettings/utils/schema.mjs.map +1 -0
  118. package/dist/admin/pages/EmailTemplates/components/EmailForm.js +171 -0
  119. package/dist/admin/pages/EmailTemplates/components/EmailForm.js.map +1 -0
  120. package/dist/admin/pages/EmailTemplates/components/EmailForm.mjs +169 -0
  121. package/dist/admin/pages/EmailTemplates/components/EmailForm.mjs.map +1 -0
  122. package/dist/admin/pages/EmailTemplates/components/EmailTable.js +145 -0
  123. package/dist/admin/pages/EmailTemplates/components/EmailTable.js.map +1 -0
  124. package/dist/admin/pages/EmailTemplates/components/EmailTable.mjs +143 -0
  125. package/dist/admin/pages/EmailTemplates/components/EmailTable.mjs.map +1 -0
  126. package/dist/admin/pages/EmailTemplates/index.js +157 -0
  127. package/dist/admin/pages/EmailTemplates/index.js.map +1 -0
  128. package/dist/admin/pages/EmailTemplates/index.mjs +135 -0
  129. package/dist/admin/pages/EmailTemplates/index.mjs.map +1 -0
  130. package/dist/admin/pages/EmailTemplates/utils/schema.js +50 -0
  131. package/dist/admin/pages/EmailTemplates/utils/schema.js.map +1 -0
  132. package/dist/admin/pages/EmailTemplates/utils/schema.mjs +29 -0
  133. package/dist/admin/pages/EmailTemplates/utils/schema.mjs.map +1 -0
  134. package/dist/admin/pages/Providers/index.js +278 -0
  135. package/dist/admin/pages/Providers/index.js.map +1 -0
  136. package/dist/admin/pages/Providers/index.mjs +254 -0
  137. package/dist/admin/pages/Providers/index.mjs.map +1 -0
  138. package/dist/admin/pages/Providers/utils/forms.js +281 -0
  139. package/dist/admin/pages/Providers/utils/forms.js.map +1 -0
  140. package/dist/admin/pages/Providers/utils/forms.mjs +260 -0
  141. package/dist/admin/pages/Providers/utils/forms.mjs.map +1 -0
  142. package/dist/admin/pages/Roles/constants.js +31 -0
  143. package/dist/admin/pages/Roles/constants.js.map +1 -0
  144. package/dist/admin/pages/Roles/constants.mjs +10 -0
  145. package/dist/admin/pages/Roles/constants.mjs.map +1 -0
  146. package/dist/admin/pages/Roles/hooks/usePlugins.js +78 -0
  147. package/dist/admin/pages/Roles/hooks/usePlugins.js.map +1 -0
  148. package/dist/admin/pages/Roles/hooks/usePlugins.mjs +76 -0
  149. package/dist/admin/pages/Roles/hooks/usePlugins.mjs.map +1 -0
  150. package/dist/admin/pages/Roles/index.js +35 -0
  151. package/dist/admin/pages/Roles/index.js.map +1 -0
  152. package/dist/admin/pages/Roles/index.mjs +33 -0
  153. package/dist/admin/pages/Roles/index.mjs.map +1 -0
  154. package/dist/admin/pages/Roles/pages/CreatePage.js +225 -0
  155. package/dist/admin/pages/Roles/pages/CreatePage.js.map +1 -0
  156. package/dist/admin/pages/Roles/pages/CreatePage.mjs +203 -0
  157. package/dist/admin/pages/Roles/pages/CreatePage.mjs.map +1 -0
  158. package/dist/admin/pages/Roles/pages/EditPage.js +229 -0
  159. package/dist/admin/pages/Roles/pages/EditPage.js.map +1 -0
  160. package/dist/admin/pages/Roles/pages/EditPage.mjs +207 -0
  161. package/dist/admin/pages/Roles/pages/EditPage.mjs.map +1 -0
  162. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.js +125 -0
  163. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.js.map +1 -0
  164. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.mjs +123 -0
  165. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.mjs.map +1 -0
  166. package/dist/admin/pages/Roles/pages/ListPage/index.js +237 -0
  167. package/dist/admin/pages/Roles/pages/ListPage/index.js.map +1 -0
  168. package/dist/admin/pages/Roles/pages/ListPage/index.mjs +234 -0
  169. package/dist/admin/pages/Roles/pages/ListPage/index.mjs.map +1 -0
  170. package/dist/admin/pluginId.js +8 -0
  171. package/dist/admin/pluginId.js.map +1 -0
  172. package/dist/admin/pluginId.mjs +6 -0
  173. package/dist/admin/pluginId.mjs.map +1 -0
  174. package/dist/admin/translations/ar.json.js +45 -0
  175. package/dist/admin/translations/ar.json.js.map +1 -0
  176. package/dist/admin/translations/ar.json.mjs +43 -0
  177. package/dist/admin/translations/ar.json.mjs.map +1 -0
  178. package/dist/admin/translations/cs.json.js +51 -0
  179. package/dist/admin/translations/cs.json.js.map +1 -0
  180. package/dist/admin/translations/cs.json.mjs +49 -0
  181. package/dist/admin/translations/cs.json.mjs.map +1 -0
  182. package/dist/admin/translations/de.json.js +63 -0
  183. package/dist/admin/translations/de.json.js.map +1 -0
  184. package/dist/admin/translations/de.json.mjs +61 -0
  185. package/dist/admin/translations/de.json.mjs.map +1 -0
  186. package/dist/admin/translations/dk.json.js +87 -0
  187. package/dist/admin/translations/dk.json.js.map +1 -0
  188. package/dist/admin/translations/dk.json.mjs +85 -0
  189. package/dist/admin/translations/dk.json.mjs.map +1 -0
  190. package/dist/admin/translations/en.json.js +87 -0
  191. package/dist/admin/translations/en.json.js.map +1 -0
  192. package/dist/admin/translations/en.json.mjs +85 -0
  193. package/dist/admin/translations/en.json.mjs.map +1 -0
  194. package/dist/admin/translations/es.json.js +87 -0
  195. package/dist/admin/translations/es.json.js.map +1 -0
  196. package/dist/admin/translations/es.json.mjs +85 -0
  197. package/dist/admin/translations/es.json.mjs.map +1 -0
  198. package/dist/admin/translations/fr.json.js +51 -0
  199. package/dist/admin/translations/fr.json.js.map +1 -0
  200. package/dist/admin/translations/fr.json.mjs +49 -0
  201. package/dist/admin/translations/fr.json.mjs.map +1 -0
  202. package/dist/admin/translations/id.json.js +63 -0
  203. package/dist/admin/translations/id.json.js.map +1 -0
  204. package/dist/admin/translations/id.json.mjs +61 -0
  205. package/dist/admin/translations/id.json.mjs.map +1 -0
  206. package/dist/admin/translations/it.json.js +63 -0
  207. package/dist/admin/translations/it.json.js.map +1 -0
  208. package/dist/admin/translations/it.json.mjs +61 -0
  209. package/dist/admin/translations/it.json.mjs.map +1 -0
  210. package/dist/admin/translations/ja.json.js +49 -0
  211. package/dist/admin/translations/ja.json.js.map +1 -0
  212. package/dist/admin/translations/ja.json.mjs +47 -0
  213. package/dist/admin/translations/ja.json.mjs.map +1 -0
  214. package/dist/admin/translations/ko.json.js +87 -0
  215. package/dist/admin/translations/ko.json.js.map +1 -0
  216. package/dist/admin/translations/ko.json.mjs +85 -0
  217. package/dist/admin/translations/ko.json.mjs.map +1 -0
  218. package/dist/admin/translations/ms.json.js +50 -0
  219. package/dist/admin/translations/ms.json.js.map +1 -0
  220. package/dist/admin/translations/ms.json.mjs +48 -0
  221. package/dist/admin/translations/ms.json.mjs.map +1 -0
  222. package/dist/admin/translations/nl.json.js +49 -0
  223. package/dist/admin/translations/nl.json.js.map +1 -0
  224. package/dist/admin/translations/nl.json.mjs +47 -0
  225. package/dist/admin/translations/nl.json.mjs.map +1 -0
  226. package/dist/admin/translations/pl.json.js +87 -0
  227. package/dist/admin/translations/pl.json.js.map +1 -0
  228. package/dist/admin/translations/pl.json.mjs +85 -0
  229. package/dist/admin/translations/pl.json.mjs.map +1 -0
  230. package/dist/admin/translations/pt-BR.json.js +45 -0
  231. package/dist/admin/translations/pt-BR.json.js.map +1 -0
  232. package/dist/admin/translations/pt-BR.json.mjs +43 -0
  233. package/dist/admin/translations/pt-BR.json.mjs.map +1 -0
  234. package/dist/admin/translations/pt.json.js +49 -0
  235. package/dist/admin/translations/pt.json.js.map +1 -0
  236. package/dist/admin/translations/pt.json.mjs +47 -0
  237. package/dist/admin/translations/pt.json.mjs.map +1 -0
  238. package/dist/admin/translations/ru.json.js +87 -0
  239. package/dist/admin/translations/ru.json.js.map +1 -0
  240. package/dist/admin/translations/ru.json.mjs +85 -0
  241. package/dist/admin/translations/ru.json.mjs.map +1 -0
  242. package/dist/admin/translations/sk.json.js +51 -0
  243. package/dist/admin/translations/sk.json.js.map +1 -0
  244. package/dist/admin/translations/sk.json.mjs +49 -0
  245. package/dist/admin/translations/sk.json.mjs.map +1 -0
  246. package/dist/admin/translations/sv.json.js +87 -0
  247. package/dist/admin/translations/sv.json.js.map +1 -0
  248. package/dist/admin/translations/sv.json.mjs +85 -0
  249. package/dist/admin/translations/sv.json.mjs.map +1 -0
  250. package/dist/admin/translations/th.json.js +61 -0
  251. package/dist/admin/translations/th.json.js.map +1 -0
  252. package/dist/admin/translations/th.json.mjs +59 -0
  253. package/dist/admin/translations/th.json.mjs.map +1 -0
  254. package/dist/admin/translations/tr.json.js +86 -0
  255. package/dist/admin/translations/tr.json.js.map +1 -0
  256. package/dist/admin/translations/tr.json.mjs +84 -0
  257. package/dist/admin/translations/tr.json.mjs.map +1 -0
  258. package/dist/admin/translations/uk.json.js +87 -0
  259. package/dist/admin/translations/uk.json.js.map +1 -0
  260. package/dist/admin/translations/uk.json.mjs +85 -0
  261. package/dist/admin/translations/uk.json.mjs.map +1 -0
  262. package/dist/admin/translations/vi.json.js +51 -0
  263. package/dist/admin/translations/vi.json.js.map +1 -0
  264. package/dist/admin/translations/vi.json.mjs +49 -0
  265. package/dist/admin/translations/vi.json.mjs.map +1 -0
  266. package/dist/admin/translations/zh-Hans.json.js +87 -0
  267. package/dist/admin/translations/zh-Hans.json.js.map +1 -0
  268. package/dist/admin/translations/zh-Hans.json.mjs +85 -0
  269. package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
  270. package/dist/admin/translations/zh.json.js +87 -0
  271. package/dist/admin/translations/zh.json.js.map +1 -0
  272. package/dist/admin/translations/zh.json.mjs +85 -0
  273. package/dist/admin/translations/zh.json.mjs.map +1 -0
  274. package/dist/admin/utils/cleanPermissions.js +24 -0
  275. package/dist/admin/utils/cleanPermissions.js.map +1 -0
  276. package/dist/admin/utils/cleanPermissions.mjs +22 -0
  277. package/dist/admin/utils/cleanPermissions.mjs.map +1 -0
  278. package/dist/admin/utils/formatPluginName.js +29 -0
  279. package/dist/admin/utils/formatPluginName.js.map +1 -0
  280. package/dist/admin/utils/formatPluginName.mjs +27 -0
  281. package/dist/admin/utils/formatPluginName.mjs.map +1 -0
  282. package/dist/admin/utils/getTrad.js +8 -0
  283. package/dist/admin/utils/getTrad.js.map +1 -0
  284. package/dist/admin/utils/getTrad.mjs +6 -0
  285. package/dist/admin/utils/getTrad.mjs.map +1 -0
  286. package/dist/admin/utils/prefixPluginTranslations.js +11 -0
  287. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
  288. package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
  289. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
  290. package/dist/server/_virtual/_commonjsHelpers.js +8 -0
  291. package/dist/server/_virtual/_commonjsHelpers.js.map +1 -0
  292. package/dist/server/_virtual/_commonjsHelpers.mjs +6 -0
  293. package/dist/server/_virtual/_commonjsHelpers.mjs.map +1 -0
  294. package/dist/server/bootstrap/index.js +145 -0
  295. package/dist/server/bootstrap/index.js.map +1 -0
  296. package/dist/server/bootstrap/index.mjs +143 -0
  297. package/dist/server/bootstrap/index.mjs.map +1 -0
  298. package/dist/server/bootstrap/users-permissions-actions.js +98 -0
  299. package/dist/server/bootstrap/users-permissions-actions.js.map +1 -0
  300. package/dist/server/bootstrap/users-permissions-actions.mjs +96 -0
  301. package/dist/server/bootstrap/users-permissions-actions.mjs.map +1 -0
  302. package/dist/server/config.js +54 -0
  303. package/dist/server/config.js.map +1 -0
  304. package/dist/server/config.mjs +52 -0
  305. package/dist/server/config.mjs.map +1 -0
  306. package/dist/server/content-types/index.js +30 -0
  307. package/dist/server/content-types/index.js.map +1 -0
  308. package/dist/server/content-types/index.mjs +28 -0
  309. package/dist/server/content-types/index.mjs.map +1 -0
  310. package/dist/server/content-types/permission/index.js +44 -0
  311. package/dist/server/content-types/permission/index.js.map +1 -0
  312. package/dist/server/content-types/permission/index.mjs +42 -0
  313. package/dist/server/content-types/permission/index.mjs.map +1 -0
  314. package/dist/server/content-types/role/index.js +61 -0
  315. package/dist/server/content-types/role/index.js.map +1 -0
  316. package/dist/server/content-types/role/index.mjs +59 -0
  317. package/dist/server/content-types/role/index.mjs.map +1 -0
  318. package/dist/server/content-types/user/index.js +84 -0
  319. package/dist/server/content-types/user/index.js.map +1 -0
  320. package/dist/server/content-types/user/index.mjs +82 -0
  321. package/dist/server/content-types/user/index.mjs.map +1 -0
  322. package/dist/server/content-types/user/schema-config.js +25 -0
  323. package/dist/server/content-types/user/schema-config.js.map +1 -0
  324. package/dist/server/content-types/user/schema-config.mjs +23 -0
  325. package/dist/server/content-types/user/schema-config.mjs.map +1 -0
  326. package/dist/server/controllers/auth.js +429 -0
  327. package/dist/server/controllers/auth.js.map +1 -0
  328. package/dist/server/controllers/auth.mjs +427 -0
  329. package/dist/server/controllers/auth.mjs.map +1 -0
  330. package/dist/server/controllers/content-manager-user.js +168 -0
  331. package/dist/server/controllers/content-manager-user.js.map +1 -0
  332. package/dist/server/controllers/content-manager-user.mjs +166 -0
  333. package/dist/server/controllers/content-manager-user.mjs.map +1 -0
  334. package/dist/server/controllers/index.js +33 -0
  335. package/dist/server/controllers/index.js.map +1 -0
  336. package/dist/server/controllers/index.mjs +31 -0
  337. package/dist/server/controllers/index.mjs.map +1 -0
  338. package/dist/server/controllers/permissions.js +37 -0
  339. package/dist/server/controllers/permissions.js.map +1 -0
  340. package/dist/server/controllers/permissions.mjs +35 -0
  341. package/dist/server/controllers/permissions.mjs.map +1 -0
  342. package/dist/server/controllers/role.js +91 -0
  343. package/dist/server/controllers/role.js.map +1 -0
  344. package/dist/server/controllers/role.mjs +89 -0
  345. package/dist/server/controllers/role.mjs.map +1 -0
  346. package/dist/server/controllers/settings.js +107 -0
  347. package/dist/server/controllers/settings.js.map +1 -0
  348. package/dist/server/controllers/settings.mjs +105 -0
  349. package/dist/server/controllers/settings.mjs.map +1 -0
  350. package/dist/server/controllers/user.js +201 -0
  351. package/dist/server/controllers/user.js.map +1 -0
  352. package/dist/server/controllers/user.mjs +199 -0
  353. package/dist/server/controllers/user.mjs.map +1 -0
  354. package/dist/server/controllers/validation/auth.js +131 -0
  355. package/dist/server/controllers/validation/auth.js.map +1 -0
  356. package/dist/server/controllers/validation/auth.mjs +129 -0
  357. package/dist/server/controllers/validation/auth.mjs.map +1 -0
  358. package/dist/server/controllers/validation/email-template.js +72 -0
  359. package/dist/server/controllers/validation/email-template.js.map +1 -0
  360. package/dist/server/controllers/validation/email-template.mjs +70 -0
  361. package/dist/server/controllers/validation/email-template.mjs.map +1 -0
  362. package/dist/server/controllers/validation/user.js +49 -0
  363. package/dist/server/controllers/validation/user.js.map +1 -0
  364. package/dist/server/controllers/validation/user.mjs +47 -0
  365. package/dist/server/controllers/validation/user.mjs.map +1 -0
  366. package/dist/server/graphql/index.js +66 -0
  367. package/dist/server/graphql/index.js.map +1 -0
  368. package/dist/server/graphql/index.mjs +64 -0
  369. package/dist/server/graphql/index.mjs.map +1 -0
  370. package/dist/server/graphql/mutations/auth/change-password.js +40 -0
  371. package/dist/server/graphql/mutations/auth/change-password.js.map +1 -0
  372. package/dist/server/graphql/mutations/auth/change-password.mjs +38 -0
  373. package/dist/server/graphql/mutations/auth/change-password.mjs.map +1 -0
  374. package/dist/server/graphql/mutations/auth/email-confirmation.js +38 -0
  375. package/dist/server/graphql/mutations/auth/email-confirmation.js.map +1 -0
  376. package/dist/server/graphql/mutations/auth/email-confirmation.mjs +36 -0
  377. package/dist/server/graphql/mutations/auth/email-confirmation.mjs.map +1 -0
  378. package/dist/server/graphql/mutations/auth/forgot-password.js +37 -0
  379. package/dist/server/graphql/mutations/auth/forgot-password.js.map +1 -0
  380. package/dist/server/graphql/mutations/auth/forgot-password.mjs +35 -0
  381. package/dist/server/graphql/mutations/auth/forgot-password.mjs.map +1 -0
  382. package/dist/server/graphql/mutations/auth/login.js +40 -0
  383. package/dist/server/graphql/mutations/auth/login.js.map +1 -0
  384. package/dist/server/graphql/mutations/auth/login.mjs +38 -0
  385. package/dist/server/graphql/mutations/auth/login.mjs.map +1 -0
  386. package/dist/server/graphql/mutations/auth/register.js +38 -0
  387. package/dist/server/graphql/mutations/auth/register.js.map +1 -0
  388. package/dist/server/graphql/mutations/auth/register.mjs +36 -0
  389. package/dist/server/graphql/mutations/auth/register.mjs.map +1 -0
  390. package/dist/server/graphql/mutations/auth/reset-password.js +40 -0
  391. package/dist/server/graphql/mutations/auth/reset-password.js.map +1 -0
  392. package/dist/server/graphql/mutations/auth/reset-password.mjs +38 -0
  393. package/dist/server/graphql/mutations/auth/reset-password.mjs.map +1 -0
  394. package/dist/server/graphql/mutations/crud/role/create-role.js +37 -0
  395. package/dist/server/graphql/mutations/crud/role/create-role.js.map +1 -0
  396. package/dist/server/graphql/mutations/crud/role/create-role.mjs +35 -0
  397. package/dist/server/graphql/mutations/crud/role/create-role.mjs.map +1 -0
  398. package/dist/server/graphql/mutations/crud/role/delete-role.js +32 -0
  399. package/dist/server/graphql/mutations/crud/role/delete-role.js.map +1 -0
  400. package/dist/server/graphql/mutations/crud/role/delete-role.mjs +30 -0
  401. package/dist/server/graphql/mutations/crud/role/delete-role.mjs.map +1 -0
  402. package/dist/server/graphql/mutations/crud/role/update-role.js +39 -0
  403. package/dist/server/graphql/mutations/crud/role/update-role.js.map +1 -0
  404. package/dist/server/graphql/mutations/crud/role/update-role.mjs +37 -0
  405. package/dist/server/graphql/mutations/crud/role/update-role.mjs.map +1 -0
  406. package/dist/server/graphql/mutations/crud/user/create-user.js +46 -0
  407. package/dist/server/graphql/mutations/crud/user/create-user.js.map +1 -0
  408. package/dist/server/graphql/mutations/crud/user/create-user.mjs +44 -0
  409. package/dist/server/graphql/mutations/crud/user/create-user.mjs.map +1 -0
  410. package/dist/server/graphql/mutations/crud/user/delete-user.js +44 -0
  411. package/dist/server/graphql/mutations/crud/user/delete-user.js.map +1 -0
  412. package/dist/server/graphql/mutations/crud/user/delete-user.mjs +42 -0
  413. package/dist/server/graphql/mutations/crud/user/delete-user.mjs.map +1 -0
  414. package/dist/server/graphql/mutations/crud/user/update-user.js +49 -0
  415. package/dist/server/graphql/mutations/crud/user/update-user.js.map +1 -0
  416. package/dist/server/graphql/mutations/crud/user/update-user.mjs +47 -0
  417. package/dist/server/graphql/mutations/crud/user/update-user.mjs.map +1 -0
  418. package/dist/server/graphql/mutations/index.js +58 -0
  419. package/dist/server/graphql/mutations/index.js.map +1 -0
  420. package/dist/server/graphql/mutations/index.mjs +56 -0
  421. package/dist/server/graphql/mutations/index.mjs.map +1 -0
  422. package/dist/server/graphql/queries/index.js +25 -0
  423. package/dist/server/graphql/queries/index.js.map +1 -0
  424. package/dist/server/graphql/queries/index.mjs +23 -0
  425. package/dist/server/graphql/queries/index.mjs.map +1 -0
  426. package/dist/server/graphql/queries/me.js +23 -0
  427. package/dist/server/graphql/queries/me.js.map +1 -0
  428. package/dist/server/graphql/queries/me.mjs +21 -0
  429. package/dist/server/graphql/queries/me.mjs.map +1 -0
  430. package/dist/server/graphql/resolvers-configs.js +93 -0
  431. package/dist/server/graphql/resolvers-configs.js.map +1 -0
  432. package/dist/server/graphql/resolvers-configs.mjs +91 -0
  433. package/dist/server/graphql/resolvers-configs.mjs.map +1 -0
  434. package/dist/server/graphql/types/create-role-payload.js +20 -0
  435. package/dist/server/graphql/types/create-role-payload.js.map +1 -0
  436. package/dist/server/graphql/types/create-role-payload.mjs +18 -0
  437. package/dist/server/graphql/types/create-role-payload.mjs.map +1 -0
  438. package/dist/server/graphql/types/delete-role-payload.js +20 -0
  439. package/dist/server/graphql/types/delete-role-payload.js.map +1 -0
  440. package/dist/server/graphql/types/delete-role-payload.mjs +18 -0
  441. package/dist/server/graphql/types/delete-role-payload.mjs.map +1 -0
  442. package/dist/server/graphql/types/index.js +41 -0
  443. package/dist/server/graphql/types/index.js.map +1 -0
  444. package/dist/server/graphql/types/index.mjs +39 -0
  445. package/dist/server/graphql/types/index.mjs.map +1 -0
  446. package/dist/server/graphql/types/login-input.js +24 -0
  447. package/dist/server/graphql/types/login-input.js.map +1 -0
  448. package/dist/server/graphql/types/login-input.mjs +22 -0
  449. package/dist/server/graphql/types/login-input.mjs.map +1 -0
  450. package/dist/server/graphql/types/login-payload.js +23 -0
  451. package/dist/server/graphql/types/login-payload.js.map +1 -0
  452. package/dist/server/graphql/types/login-payload.mjs +21 -0
  453. package/dist/server/graphql/types/login-payload.mjs.map +1 -0
  454. package/dist/server/graphql/types/me-role.js +23 -0
  455. package/dist/server/graphql/types/me-role.js.map +1 -0
  456. package/dist/server/graphql/types/me-role.mjs +21 -0
  457. package/dist/server/graphql/types/me-role.mjs.map +1 -0
  458. package/dist/server/graphql/types/me.js +28 -0
  459. package/dist/server/graphql/types/me.js.map +1 -0
  460. package/dist/server/graphql/types/me.mjs +26 -0
  461. package/dist/server/graphql/types/me.mjs.map +1 -0
  462. package/dist/server/graphql/types/password-payload.js +20 -0
  463. package/dist/server/graphql/types/password-payload.js.map +1 -0
  464. package/dist/server/graphql/types/password-payload.mjs +18 -0
  465. package/dist/server/graphql/types/password-payload.mjs.map +1 -0
  466. package/dist/server/graphql/types/register-input.js +22 -0
  467. package/dist/server/graphql/types/register-input.js.map +1 -0
  468. package/dist/server/graphql/types/register-input.mjs +20 -0
  469. package/dist/server/graphql/types/register-input.mjs.map +1 -0
  470. package/dist/server/graphql/types/update-role-payload.js +20 -0
  471. package/dist/server/graphql/types/update-role-payload.js.map +1 -0
  472. package/dist/server/graphql/types/update-role-payload.mjs +18 -0
  473. package/dist/server/graphql/types/update-role-payload.mjs.map +1 -0
  474. package/dist/server/graphql/types/user-input.js +26 -0
  475. package/dist/server/graphql/types/user-input.js.map +1 -0
  476. package/dist/server/graphql/types/user-input.mjs +24 -0
  477. package/dist/server/graphql/types/user-input.mjs.map +1 -0
  478. package/dist/server/graphql/utils.js +32 -0
  479. package/dist/server/graphql/utils.js.map +1 -0
  480. package/dist/server/graphql/utils.mjs +30 -0
  481. package/dist/server/graphql/utils.mjs.map +1 -0
  482. package/dist/server/index.js +10 -0
  483. package/dist/server/index.js.map +1 -0
  484. package/dist/server/index.mjs +8 -0
  485. package/dist/server/index.mjs.map +1 -0
  486. package/dist/server/index2.js +39 -0
  487. package/dist/server/index2.js.map +1 -0
  488. package/dist/server/index2.mjs +37 -0
  489. package/dist/server/index2.mjs.map +1 -0
  490. package/dist/server/middlewares/index.js +18 -0
  491. package/dist/server/middlewares/index.js.map +1 -0
  492. package/dist/server/middlewares/index.mjs +16 -0
  493. package/dist/server/middlewares/index.mjs.map +1 -0
  494. package/dist/server/middlewares/rateLimit.js +51 -0
  495. package/dist/server/middlewares/rateLimit.js.map +1 -0
  496. package/dist/server/middlewares/rateLimit.mjs +49 -0
  497. package/dist/server/middlewares/rateLimit.mjs.map +1 -0
  498. package/dist/server/register.js +41 -0
  499. package/dist/server/register.js.map +1 -0
  500. package/dist/server/register.mjs +39 -0
  501. package/dist/server/register.mjs.map +1 -0
  502. package/dist/server/routes/admin/index.js +27 -0
  503. package/dist/server/routes/admin/index.js.map +1 -0
  504. package/dist/server/routes/admin/index.mjs +25 -0
  505. package/dist/server/routes/admin/index.mjs.map +1 -0
  506. package/dist/server/routes/admin/permissions.js +29 -0
  507. package/dist/server/routes/admin/permissions.js.map +1 -0
  508. package/dist/server/routes/admin/permissions.mjs +27 -0
  509. package/dist/server/routes/admin/permissions.mjs.map +1 -0
  510. package/dist/server/routes/admin/role.js +99 -0
  511. package/dist/server/routes/admin/role.js.map +1 -0
  512. package/dist/server/routes/admin/role.mjs +97 -0
  513. package/dist/server/routes/admin/role.mjs.map +1 -0
  514. package/dist/server/routes/admin/settings.js +116 -0
  515. package/dist/server/routes/admin/settings.js.map +1 -0
  516. package/dist/server/routes/admin/settings.mjs +114 -0
  517. package/dist/server/routes/admin/settings.mjs.map +1 -0
  518. package/dist/server/routes/content-api/auth.js +104 -0
  519. package/dist/server/routes/content-api/auth.js.map +1 -0
  520. package/dist/server/routes/content-api/auth.mjs +102 -0
  521. package/dist/server/routes/content-api/auth.mjs.map +1 -0
  522. package/dist/server/routes/content-api/index.js +30 -0
  523. package/dist/server/routes/content-api/index.js.map +1 -0
  524. package/dist/server/routes/content-api/index.mjs +28 -0
  525. package/dist/server/routes/content-api/index.mjs.map +1 -0
  526. package/dist/server/routes/content-api/permissions.js +19 -0
  527. package/dist/server/routes/content-api/permissions.js.map +1 -0
  528. package/dist/server/routes/content-api/permissions.mjs +17 -0
  529. package/dist/server/routes/content-api/permissions.mjs.map +1 -0
  530. package/dist/server/routes/content-api/role.js +39 -0
  531. package/dist/server/routes/content-api/role.js.map +1 -0
  532. package/dist/server/routes/content-api/role.mjs +37 -0
  533. package/dist/server/routes/content-api/role.mjs.map +1 -0
  534. package/dist/server/routes/content-api/user.js +70 -0
  535. package/dist/server/routes/content-api/user.js.map +1 -0
  536. package/dist/server/routes/content-api/user.mjs +68 -0
  537. package/dist/server/routes/content-api/user.mjs.map +1 -0
  538. package/dist/server/routes/index.js +19 -0
  539. package/dist/server/routes/index.js.map +1 -0
  540. package/dist/server/routes/index.mjs +17 -0
  541. package/dist/server/routes/index.mjs.map +1 -0
  542. package/dist/server/services/index.js +36 -0
  543. package/dist/server/services/index.js.map +1 -0
  544. package/dist/server/services/index.mjs +34 -0
  545. package/dist/server/services/index.mjs.map +1 -0
  546. package/dist/server/services/jwt.js +50 -0
  547. package/dist/server/services/jwt.js.map +1 -0
  548. package/dist/server/services/jwt.mjs +48 -0
  549. package/dist/server/services/jwt.mjs.map +1 -0
  550. package/dist/server/services/permission.js +52 -0
  551. package/dist/server/services/permission.js.map +1 -0
  552. package/dist/server/services/permission.mjs +50 -0
  553. package/dist/server/services/permission.mjs.map +1 -0
  554. package/dist/server/services/providers-registry.js +555 -0
  555. package/dist/server/services/providers-registry.js.map +1 -0
  556. package/dist/server/services/providers-registry.mjs +553 -0
  557. package/dist/server/services/providers-registry.mjs.map +1 -0
  558. package/dist/server/services/providers.js +111 -0
  559. package/dist/server/services/providers.js.map +1 -0
  560. package/dist/server/services/providers.mjs +109 -0
  561. package/dist/server/services/providers.mjs.map +1 -0
  562. package/dist/server/services/role.js +186 -0
  563. package/dist/server/services/role.js.map +1 -0
  564. package/dist/server/services/role.mjs +184 -0
  565. package/dist/server/services/role.mjs.map +1 -0
  566. package/dist/server/services/user.js +179 -0
  567. package/dist/server/services/user.js.map +1 -0
  568. package/dist/server/services/user.mjs +177 -0
  569. package/dist/server/services/user.mjs.map +1 -0
  570. package/dist/server/services/users-permissions.js +247 -0
  571. package/dist/server/services/users-permissions.js.map +1 -0
  572. package/dist/server/services/users-permissions.mjs +245 -0
  573. package/dist/server/services/users-permissions.mjs.map +1 -0
  574. package/dist/server/strategies/users-permissions.js +114 -0
  575. package/dist/server/strategies/users-permissions.js.map +1 -0
  576. package/dist/server/strategies/users-permissions.mjs +112 -0
  577. package/dist/server/strategies/users-permissions.mjs.map +1 -0
  578. package/dist/server/utils/index.js +22 -0
  579. package/dist/server/utils/index.js.map +1 -0
  580. package/dist/server/utils/index.mjs +20 -0
  581. package/dist/server/utils/index.mjs.map +1 -0
  582. package/dist/server/utils/sanitize/index.js +21 -0
  583. package/dist/server/utils/sanitize/index.js.map +1 -0
  584. package/dist/server/utils/sanitize/index.mjs +19 -0
  585. package/dist/server/utils/sanitize/index.mjs.map +1 -0
  586. package/dist/server/utils/sanitize/sanitizers.js +32 -0
  587. package/dist/server/utils/sanitize/sanitizers.js.map +1 -0
  588. package/dist/server/utils/sanitize/sanitizers.mjs +30 -0
  589. package/dist/server/utils/sanitize/sanitizers.mjs.map +1 -0
  590. package/dist/server/utils/sanitize/visitors/index.js +17 -0
  591. package/dist/server/utils/sanitize/visitors/index.js.map +1 -0
  592. package/dist/server/utils/sanitize/visitors/index.mjs +15 -0
  593. package/dist/server/utils/sanitize/visitors/index.mjs.map +1 -0
  594. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js +17 -0
  595. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js.map +1 -0
  596. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.mjs +15 -0
  597. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.mjs.map +1 -0
  598. package/package.json +31 -32
  599. package/rollup.config.mjs +19 -0
  600. package/server/bootstrap/index.js +18 -51
  601. package/server/bootstrap/users-permissions-actions.js +6 -0
  602. package/server/config.js +29 -0
  603. package/server/content-types/user/index.js +0 -1
  604. package/server/controllers/auth.js +63 -64
  605. package/server/controllers/content-manager-user.js +28 -30
  606. package/server/controllers/role.js +17 -4
  607. package/server/controllers/user.js +8 -9
  608. package/server/controllers/validation/auth.js +104 -25
  609. package/server/graphql/types/index.js +1 -0
  610. package/server/graphql/types/me.js +1 -0
  611. package/server/graphql/types/user-input.js +20 -0
  612. package/server/middlewares/rateLimit.js +1 -1
  613. package/server/register.js +2 -2
  614. package/server/services/jwt.js +3 -3
  615. package/server/services/permission.js +3 -7
  616. package/server/services/providers-registry.js +469 -261
  617. package/server/services/providers.js +10 -5
  618. package/server/services/role.js +15 -13
  619. package/server/services/user.js +56 -19
  620. package/server/services/users-permissions.js +15 -13
  621. package/server/utils/index.d.ts +2 -1
  622. package/server/utils/sanitize/sanitizers.js +7 -3
  623. package/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js +2 -2
  624. package/admin/src/pages/Roles/pages/ListPage/utils/api.js +0 -30
  625. package/dist/_chunks/ar-MvD8Ghac.mjs +0 -44
  626. package/dist/_chunks/ar-MvD8Ghac.mjs.map +0 -1
  627. package/dist/_chunks/ar-t5qTFaAD.js +0 -44
  628. package/dist/_chunks/ar-t5qTFaAD.js.map +0 -1
  629. package/dist/_chunks/cs-BMuXwxA1.mjs +0 -50
  630. package/dist/_chunks/cs-BMuXwxA1.mjs.map +0 -1
  631. package/dist/_chunks/cs-I8N4u-Sd.js +0 -50
  632. package/dist/_chunks/cs-I8N4u-Sd.js.map +0 -1
  633. package/dist/_chunks/de-YTjtq89K.js +0 -62
  634. package/dist/_chunks/de-YTjtq89K.js.map +0 -1
  635. package/dist/_chunks/de-zs2qqc0W.mjs +0 -62
  636. package/dist/_chunks/de-zs2qqc0W.mjs.map +0 -1
  637. package/dist/_chunks/dk-HctVBMsG.mjs +0 -86
  638. package/dist/_chunks/dk-HctVBMsG.mjs.map +0 -1
  639. package/dist/_chunks/dk-TF-dWjzl.js +0 -86
  640. package/dist/_chunks/dk-TF-dWjzl.js.map +0 -1
  641. package/dist/_chunks/en-CE3wEy_c.mjs +0 -86
  642. package/dist/_chunks/en-CE3wEy_c.mjs.map +0 -1
  643. package/dist/_chunks/en-m608rMZx.js +0 -86
  644. package/dist/_chunks/en-m608rMZx.js.map +0 -1
  645. package/dist/_chunks/es-9381tih_.mjs +0 -86
  646. package/dist/_chunks/es-9381tih_.mjs.map +0 -1
  647. package/dist/_chunks/es-XBQsB8_9.js +0 -86
  648. package/dist/_chunks/es-XBQsB8_9.js.map +0 -1
  649. package/dist/_chunks/fr-6cz3U-IF.js +0 -50
  650. package/dist/_chunks/fr-6cz3U-IF.js.map +0 -1
  651. package/dist/_chunks/fr-CMSc77If.mjs +0 -50
  652. package/dist/_chunks/fr-CMSc77If.mjs.map +0 -1
  653. package/dist/_chunks/id-RJ934rq-.js +0 -62
  654. package/dist/_chunks/id-RJ934rq-.js.map +0 -1
  655. package/dist/_chunks/id-SDuyIkZa.mjs +0 -62
  656. package/dist/_chunks/id-SDuyIkZa.mjs.map +0 -1
  657. package/dist/_chunks/index-9gWaMWEm.js +0 -407
  658. package/dist/_chunks/index-9gWaMWEm.js.map +0 -1
  659. package/dist/_chunks/index-GrQm7Vzp.mjs +0 -385
  660. package/dist/_chunks/index-GrQm7Vzp.mjs.map +0 -1
  661. package/dist/_chunks/index-IrxIszoz.mjs +0 -250
  662. package/dist/_chunks/index-IrxIszoz.mjs.map +0 -1
  663. package/dist/_chunks/index-OAhEloLu.mjs +0 -615
  664. package/dist/_chunks/index-OAhEloLu.mjs.map +0 -1
  665. package/dist/_chunks/index-Pd_ARJrq.js +0 -1191
  666. package/dist/_chunks/index-Pd_ARJrq.js.map +0 -1
  667. package/dist/_chunks/index-VwrATkHQ.js +0 -320
  668. package/dist/_chunks/index-VwrATkHQ.js.map +0 -1
  669. package/dist/_chunks/index-jmZgp6D6.mjs +0 -1159
  670. package/dist/_chunks/index-jmZgp6D6.mjs.map +0 -1
  671. package/dist/_chunks/index-oskitS-P.js +0 -249
  672. package/dist/_chunks/index-oskitS-P.js.map +0 -1
  673. package/dist/_chunks/index-uaeObIW1.js +0 -638
  674. package/dist/_chunks/index-uaeObIW1.js.map +0 -1
  675. package/dist/_chunks/index-x0N2TQLH.mjs +0 -301
  676. package/dist/_chunks/index-x0N2TQLH.mjs.map +0 -1
  677. package/dist/_chunks/it-YhZOlM2X.js +0 -62
  678. package/dist/_chunks/it-YhZOlM2X.js.map +0 -1
  679. package/dist/_chunks/it-bvH7DgQo.mjs +0 -62
  680. package/dist/_chunks/it-bvH7DgQo.mjs.map +0 -1
  681. package/dist/_chunks/ja-o_-JPvQv.mjs +0 -48
  682. package/dist/_chunks/ja-o_-JPvQv.mjs.map +0 -1
  683. package/dist/_chunks/ja-xssHUXFv.js +0 -48
  684. package/dist/_chunks/ja-xssHUXFv.js.map +0 -1
  685. package/dist/_chunks/ko-C3mHUSJa.js +0 -86
  686. package/dist/_chunks/ko-C3mHUSJa.js.map +0 -1
  687. package/dist/_chunks/ko-XJbPSez_.mjs +0 -86
  688. package/dist/_chunks/ko-XJbPSez_.mjs.map +0 -1
  689. package/dist/_chunks/ms-II5Ea73J.mjs +0 -49
  690. package/dist/_chunks/ms-II5Ea73J.mjs.map +0 -1
  691. package/dist/_chunks/ms-d0hfg65Z.js +0 -49
  692. package/dist/_chunks/ms-d0hfg65Z.js.map +0 -1
  693. package/dist/_chunks/nl-TA7TfK_5.js +0 -48
  694. package/dist/_chunks/nl-TA7TfK_5.js.map +0 -1
  695. package/dist/_chunks/nl-vEy6TN0K.mjs +0 -48
  696. package/dist/_chunks/nl-vEy6TN0K.mjs.map +0 -1
  697. package/dist/_chunks/pl-0pUL9hdA.js +0 -86
  698. package/dist/_chunks/pl-0pUL9hdA.js.map +0 -1
  699. package/dist/_chunks/pl-2VowaFGt.mjs +0 -86
  700. package/dist/_chunks/pl-2VowaFGt.mjs.map +0 -1
  701. package/dist/_chunks/pt-BR-WNOhafR4.js +0 -44
  702. package/dist/_chunks/pt-BR-WNOhafR4.js.map +0 -1
  703. package/dist/_chunks/pt-BR-sS1Xp3Jt.mjs +0 -44
  704. package/dist/_chunks/pt-BR-sS1Xp3Jt.mjs.map +0 -1
  705. package/dist/_chunks/pt-Rf9W51IO.mjs +0 -48
  706. package/dist/_chunks/pt-Rf9W51IO.mjs.map +0 -1
  707. package/dist/_chunks/pt-guNR9Gax.js +0 -48
  708. package/dist/_chunks/pt-guNR9Gax.js.map +0 -1
  709. package/dist/_chunks/ru-X3BMXDds.js +0 -86
  710. package/dist/_chunks/ru-X3BMXDds.js.map +0 -1
  711. package/dist/_chunks/ru-qKHnd5or.mjs +0 -86
  712. package/dist/_chunks/ru-qKHnd5or.mjs.map +0 -1
  713. package/dist/_chunks/sk-NWPw1oTN.js +0 -50
  714. package/dist/_chunks/sk-NWPw1oTN.js.map +0 -1
  715. package/dist/_chunks/sk-_Ryr-eTT.mjs +0 -50
  716. package/dist/_chunks/sk-_Ryr-eTT.mjs.map +0 -1
  717. package/dist/_chunks/sv-76NnbB__.js +0 -86
  718. package/dist/_chunks/sv-76NnbB__.js.map +0 -1
  719. package/dist/_chunks/sv-BqzScFXS.mjs +0 -86
  720. package/dist/_chunks/sv-BqzScFXS.mjs.map +0 -1
  721. package/dist/_chunks/th-WsknMEpq.mjs +0 -60
  722. package/dist/_chunks/th-WsknMEpq.mjs.map +0 -1
  723. package/dist/_chunks/th-cbppX21D.js +0 -60
  724. package/dist/_chunks/th-cbppX21D.js.map +0 -1
  725. package/dist/_chunks/tr-6mm_Fmz7.js +0 -85
  726. package/dist/_chunks/tr-6mm_Fmz7.js.map +0 -1
  727. package/dist/_chunks/tr-_DB1F1GW.mjs +0 -85
  728. package/dist/_chunks/tr-_DB1F1GW.mjs.map +0 -1
  729. package/dist/_chunks/uk-sI2I1ogF.js +0 -49
  730. package/dist/_chunks/uk-sI2I1ogF.js.map +0 -1
  731. package/dist/_chunks/uk-yxMSQAwI.mjs +0 -49
  732. package/dist/_chunks/uk-yxMSQAwI.mjs.map +0 -1
  733. package/dist/_chunks/vi-A3zJxaiI.js +0 -50
  734. package/dist/_chunks/vi-A3zJxaiI.js.map +0 -1
  735. package/dist/_chunks/vi-xY0zCW3d.mjs +0 -50
  736. package/dist/_chunks/vi-xY0zCW3d.mjs.map +0 -1
  737. package/dist/_chunks/zh-72SpmFXa.js +0 -86
  738. package/dist/_chunks/zh-72SpmFXa.js.map +0 -1
  739. package/dist/_chunks/zh-Hans-ArWWtyP4.js +0 -86
  740. package/dist/_chunks/zh-Hans-ArWWtyP4.js.map +0 -1
  741. package/dist/_chunks/zh-Hans-E84cu4kP.mjs +0 -86
  742. package/dist/_chunks/zh-Hans-E84cu4kP.mjs.map +0 -1
  743. package/dist/_chunks/zh-OFeldzbX.mjs +0 -86
  744. package/dist/_chunks/zh-OFeldzbX.mjs.map +0 -1
  745. package/packup.config.ts +0 -22
  746. package/server/bootstrap/grant-config.js +0 -131
  747. package/strapi-server.js +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.mjs","sources":["../../../server/controllers/user.js"],"sourcesContent":["'use strict';\n\n/**\n * User.js controller\n *\n * @description: A set of functions called \"actions\" for managing `User`.\n */\n\nconst _ = require('lodash');\nconst utils = require('@strapi/utils');\nconst { getService } = require('../utils');\nconst { validateCreateUserBody, validateUpdateUserBody } = require('./validation/user');\n\nconst { ApplicationError, ValidationError, NotFoundError } = utils.errors;\n\nconst sanitizeOutput = async (user, ctx) => {\n const schema = strapi.getModel('plugin::users-permissions.user');\n const { auth } = ctx.state;\n\n return strapi.contentAPI.sanitize.output(user, schema, { auth });\n};\n\nconst validateQuery = async (query, ctx) => {\n const schema = strapi.getModel('plugin::users-permissions.user');\n const { auth } = ctx.state;\n\n return strapi.contentAPI.validate.query(query, schema, { auth });\n};\n\nconst sanitizeQuery = async (query, ctx) => {\n const schema = strapi.getModel('plugin::users-permissions.user');\n const { auth } = ctx.state;\n\n return strapi.contentAPI.sanitize.query(query, schema, { auth });\n};\n\nmodule.exports = {\n /**\n * Create a/an user record.\n * @return {Object}\n */\n async create(ctx) {\n const advanced = await strapi\n .store({ type: 'plugin', name: 'users-permissions', key: 'advanced' })\n .get();\n\n await validateCreateUserBody(ctx.request.body);\n\n const { email, username, role } = ctx.request.body;\n\n const userWithSameUsername = await strapi.db\n .query('plugin::users-permissions.user')\n .findOne({ where: { username } });\n\n if (userWithSameUsername) {\n if (!email) throw new ApplicationError('Username already taken');\n }\n\n if (advanced.unique_email) {\n const userWithSameEmail = await strapi.db\n .query('plugin::users-permissions.user')\n .findOne({ where: { email: email.toLowerCase() } });\n\n if (userWithSameEmail) {\n throw new ApplicationError('Email already taken');\n }\n }\n\n const user = {\n ...ctx.request.body,\n email: email.toLowerCase(),\n provider: 'local',\n };\n\n if (!role) {\n const defaultRole = await strapi.db\n .query('plugin::users-permissions.role')\n .findOne({ where: { type: advanced.default_role } });\n\n user.role = defaultRole.id;\n }\n\n try {\n const data = await getService('user').add(user);\n const sanitizedData = await sanitizeOutput(data, ctx);\n\n ctx.created(sanitizedData);\n } catch (error) {\n throw new ApplicationError(error.message);\n }\n },\n\n /**\n * Update a/an user record.\n * @return {Object}\n */\n async update(ctx) {\n const advancedConfigs = await strapi\n .store({ type: 'plugin', name: 'users-permissions', key: 'advanced' })\n .get();\n\n const { id } = ctx.params;\n const { email, username, password } = ctx.request.body;\n\n const user = await getService('user').fetch(id);\n if (!user) {\n throw new NotFoundError(`User not found`);\n }\n\n await validateUpdateUserBody(ctx.request.body);\n\n if (user.provider === 'local' && _.has(ctx.request.body, 'password') && !password) {\n throw new ValidationError('password.notNull');\n }\n\n if (_.has(ctx.request.body, 'username')) {\n const userWithSameUsername = await strapi.db\n .query('plugin::users-permissions.user')\n .findOne({ where: { username } });\n\n if (userWithSameUsername && _.toString(userWithSameUsername.id) !== _.toString(id)) {\n throw new ApplicationError('Username already taken');\n }\n }\n\n if (_.has(ctx.request.body, 'email') && advancedConfigs.unique_email) {\n const userWithSameEmail = await strapi.db\n .query('plugin::users-permissions.user')\n .findOne({ where: { email: email.toLowerCase() } });\n\n if (userWithSameEmail && _.toString(userWithSameEmail.id) !== _.toString(id)) {\n throw new ApplicationError('Email already taken');\n }\n ctx.request.body.email = ctx.request.body.email.toLowerCase();\n }\n\n const updateData = {\n ...ctx.request.body,\n };\n\n const data = await getService('user').edit(user.id, updateData);\n const sanitizedData = await sanitizeOutput(data, ctx);\n\n ctx.send(sanitizedData);\n },\n\n /**\n * Retrieve user records.\n * @return {Object|Array}\n */\n async find(ctx) {\n await validateQuery(ctx.query, ctx);\n const sanitizedQuery = await sanitizeQuery(ctx.query, ctx);\n const users = await getService('user').fetchAll(sanitizedQuery);\n\n ctx.body = await Promise.all(users.map((user) => sanitizeOutput(user, ctx)));\n },\n\n /**\n * Retrieve a user record.\n * @return {Object}\n */\n async findOne(ctx) {\n const { id } = ctx.params;\n await validateQuery(ctx.query, ctx);\n const sanitizedQuery = await sanitizeQuery(ctx.query, ctx);\n\n let data = await getService('user').fetch(id, sanitizedQuery);\n\n if (data) {\n data = await sanitizeOutput(data, ctx);\n }\n\n ctx.body = data;\n },\n\n /**\n * Retrieve user count.\n * @return {Number}\n */\n async count(ctx) {\n await validateQuery(ctx.query, ctx);\n const sanitizedQuery = await sanitizeQuery(ctx.query, ctx);\n\n ctx.body = await getService('user').count(sanitizedQuery);\n },\n\n /**\n * Destroy a/an user record.\n * @return {Object}\n */\n async destroy(ctx) {\n const { id } = ctx.params;\n\n const data = await getService('user').remove({ id });\n const sanitizedUser = await sanitizeOutput(data, ctx);\n\n ctx.send(sanitizedUser);\n },\n\n /**\n * Retrieve authenticated user.\n * @return {Object|Array}\n */\n async me(ctx) {\n const authUser = ctx.state.user;\n const { query } = ctx;\n\n if (!authUser) {\n return ctx.unauthorized();\n }\n\n await validateQuery(query, ctx);\n const sanitizedQuery = await sanitizeQuery(query, ctx);\n const user = await getService('user').fetch(authUser.id, sanitizedQuery);\n\n ctx.body = await sanitizeOutput(user, ctx);\n },\n};\n"],"names":["_","require$$0","utils","require$$1","getService","require$$2","validateCreateUserBody","validateUpdateUserBody","require$$3","ApplicationError","ValidationError","NotFoundError","errors","sanitizeOutput","user","ctx","schema","strapi","getModel","auth","state","contentAPI","sanitize","output","validateQuery","query","validate","sanitizeQuery","create","advanced","store","type","name","key","get","request","body","email","username","role","userWithSameUsername","db","findOne","where","unique_email","userWithSameEmail","toLowerCase","provider","defaultRole","default_role","id","data","add","sanitizedData","created","error","message","update","advancedConfigs","params","password","fetch","has","toString","updateData","edit","send","find","sanitizedQuery","users","fetchAll","Promise","all","map","count","destroy","remove","sanitizedUser","me","authUser","unauthorized"],"mappings":"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"}
@@ -0,0 +1,131 @@
1
+ 'use strict';
2
+
3
+ var require$$1 = require('@strapi/utils');
4
+
5
+ var auth;
6
+ var hasRequiredAuth;
7
+ function requireAuth() {
8
+ if (hasRequiredAuth) return auth;
9
+ hasRequiredAuth = 1;
10
+ const { yup, validateYupSchema } = require$$1;
11
+ const callbackSchema = yup.object({
12
+ identifier: yup.string().required(),
13
+ password: yup.string().required()
14
+ });
15
+ const createRegisterSchema = (config)=>yup.object({
16
+ email: yup.string().email().required(),
17
+ username: yup.string().required(),
18
+ password: yup.string().required().test(function(value) {
19
+ if (!value) return true;
20
+ const isValid = new TextEncoder().encode(value).length <= 72;
21
+ if (!isValid) {
22
+ return this.createError({
23
+ message: 'Password must be less than 73 bytes'
24
+ });
25
+ }
26
+ return true;
27
+ }).test(async function(value) {
28
+ if (typeof config?.validatePassword === 'function') {
29
+ try {
30
+ const isValid = await config.validatePassword(value);
31
+ if (!isValid) {
32
+ return this.createError({
33
+ message: 'Password validation failed.'
34
+ });
35
+ }
36
+ } catch (error) {
37
+ return this.createError({
38
+ message: error.message || 'An error occurred.'
39
+ });
40
+ }
41
+ }
42
+ return true;
43
+ })
44
+ });
45
+ const sendEmailConfirmationSchema = yup.object({
46
+ email: yup.string().email().required()
47
+ });
48
+ const validateEmailConfirmationSchema = yup.object({
49
+ confirmation: yup.string().required()
50
+ });
51
+ const forgotPasswordSchema = yup.object({
52
+ email: yup.string().email().required()
53
+ }).noUnknown();
54
+ const createResetPasswordSchema = (config)=>yup.object({
55
+ password: yup.string().required().test(function(value) {
56
+ if (!value) return true;
57
+ const isValid = new TextEncoder().encode(value).length <= 72;
58
+ if (!isValid) {
59
+ return this.createError({
60
+ message: 'Password must be less than 73 bytes'
61
+ });
62
+ }
63
+ return true;
64
+ }).test(async function(value) {
65
+ if (typeof config?.validatePassword === 'function') {
66
+ try {
67
+ const isValid = await config.validatePassword(value);
68
+ if (!isValid) {
69
+ return this.createError({
70
+ message: 'Password validation failed.'
71
+ });
72
+ }
73
+ } catch (error) {
74
+ return this.createError({
75
+ message: error.message || 'An error occurred.'
76
+ });
77
+ }
78
+ }
79
+ return true;
80
+ }),
81
+ passwordConfirmation: yup.string().required().oneOf([
82
+ yup.ref('password')
83
+ ], 'Passwords do not match'),
84
+ code: yup.string().required()
85
+ }).noUnknown();
86
+ const createChangePasswordSchema = (config)=>yup.object({
87
+ password: yup.string().required().test(function(value) {
88
+ if (!value) return true;
89
+ const isValid = new TextEncoder().encode(value).length <= 72;
90
+ if (!isValid) {
91
+ return this.createError({
92
+ message: 'Password must be less than 73 bytes'
93
+ });
94
+ }
95
+ return true;
96
+ }).test(async function(value) {
97
+ if (typeof config?.validatePassword === 'function') {
98
+ try {
99
+ const isValid = await config.validatePassword(value);
100
+ if (!isValid) {
101
+ return this.createError({
102
+ message: 'Password validation failed.'
103
+ });
104
+ }
105
+ } catch (error) {
106
+ return this.createError({
107
+ message: error.message || 'An error occurred.'
108
+ });
109
+ }
110
+ }
111
+ return true;
112
+ }),
113
+ passwordConfirmation: yup.string().required().oneOf([
114
+ yup.ref('password')
115
+ ], 'Passwords do not match'),
116
+ currentPassword: yup.string().required()
117
+ }).noUnknown();
118
+ auth = {
119
+ validateCallbackBody: validateYupSchema(callbackSchema),
120
+ validateRegisterBody: (payload, config)=>validateYupSchema(createRegisterSchema(config))(payload),
121
+ validateSendEmailConfirmationBody: validateYupSchema(sendEmailConfirmationSchema),
122
+ validateEmailConfirmationBody: validateYupSchema(validateEmailConfirmationSchema),
123
+ validateForgotPasswordBody: validateYupSchema(forgotPasswordSchema),
124
+ validateResetPasswordBody: (payload, config)=>validateYupSchema(createResetPasswordSchema(config))(payload),
125
+ validateChangePasswordBody: (payload, config)=>validateYupSchema(createChangePasswordSchema(config))(payload)
126
+ };
127
+ return auth;
128
+ }
129
+
130
+ exports.__require = requireAuth;
131
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sources":["../../../../server/controllers/validation/auth.js"],"sourcesContent":["'use strict';\n\nconst { yup, validateYupSchema } = require('@strapi/utils');\n\nconst callbackSchema = yup.object({\n identifier: yup.string().required(),\n password: yup.string().required(),\n});\n\nconst createRegisterSchema = (config) =>\n yup.object({\n email: yup.string().email().required(),\n username: yup.string().required(),\n password: yup\n .string()\n .required()\n .test(function (value) {\n if (!value) return true;\n const isValid = new TextEncoder().encode(value).length <= 72;\n if (!isValid) {\n return this.createError({ message: 'Password must be less than 73 bytes' });\n }\n return true;\n })\n .test(async function (value) {\n if (typeof config?.validatePassword === 'function') {\n try {\n const isValid = await config.validatePassword(value);\n if (!isValid) {\n return this.createError({ message: 'Password validation failed.' });\n }\n } catch (error) {\n return this.createError({ message: error.message || 'An error occurred.' });\n }\n }\n return true;\n }),\n });\n\nconst sendEmailConfirmationSchema = yup.object({\n email: yup.string().email().required(),\n});\n\nconst validateEmailConfirmationSchema = yup.object({\n confirmation: yup.string().required(),\n});\n\nconst forgotPasswordSchema = yup\n .object({\n email: yup.string().email().required(),\n })\n .noUnknown();\n\nconst createResetPasswordSchema = (config) =>\n yup\n .object({\n password: yup\n .string()\n .required()\n .test(function (value) {\n if (!value) return true;\n const isValid = new TextEncoder().encode(value).length <= 72;\n if (!isValid) {\n return this.createError({ message: 'Password must be less than 73 bytes' });\n }\n return true;\n })\n .test(async function (value) {\n if (typeof config?.validatePassword === 'function') {\n try {\n const isValid = await config.validatePassword(value);\n if (!isValid) {\n return this.createError({ message: 'Password validation failed.' });\n }\n } catch (error) {\n return this.createError({ message: error.message || 'An error occurred.' });\n }\n }\n return true;\n }),\n passwordConfirmation: yup\n .string()\n .required()\n .oneOf([yup.ref('password')], 'Passwords do not match'),\n\n code: yup.string().required(),\n })\n .noUnknown();\n\nconst createChangePasswordSchema = (config) =>\n yup\n .object({\n password: yup\n .string()\n .required()\n .test(function (value) {\n if (!value) return true;\n const isValid = new TextEncoder().encode(value).length <= 72;\n if (!isValid) {\n return this.createError({ message: 'Password must be less than 73 bytes' });\n }\n return true;\n })\n .test(async function (value) {\n if (typeof config?.validatePassword === 'function') {\n try {\n const isValid = await config.validatePassword(value);\n if (!isValid) {\n return this.createError({ message: 'Password validation failed.' });\n }\n } catch (error) {\n return this.createError({ message: error.message || 'An error occurred.' });\n }\n }\n return true;\n }),\n passwordConfirmation: yup\n .string()\n .required()\n .oneOf([yup.ref('password')], 'Passwords do not match'),\n currentPassword: yup.string().required(),\n })\n .noUnknown();\n\nmodule.exports = {\n validateCallbackBody: validateYupSchema(callbackSchema),\n validateRegisterBody: (payload, config) =>\n validateYupSchema(createRegisterSchema(config))(payload),\n validateSendEmailConfirmationBody: validateYupSchema(sendEmailConfirmationSchema),\n validateEmailConfirmationBody: validateYupSchema(validateEmailConfirmationSchema),\n validateForgotPasswordBody: validateYupSchema(forgotPasswordSchema),\n validateResetPasswordBody: (payload, config) =>\n validateYupSchema(createResetPasswordSchema(config))(payload),\n validateChangePasswordBody: (payload, config) =>\n validateYupSchema(createChangePasswordSchema(config))(payload),\n};\n"],"names":["yup","validateYupSchema","require$$0","callbackSchema","object","identifier","string","required","password","createRegisterSchema","config","email","username","test","value","isValid","TextEncoder","encode","length","createError","message","validatePassword","error","sendEmailConfirmationSchema","validateEmailConfirmationSchema","confirmation","forgotPasswordSchema","noUnknown","createResetPasswordSchema","passwordConfirmation","oneOf","ref","code","createChangePasswordSchema","currentPassword","auth","validateCallbackBody","validateRegisterBody","payload","validateSendEmailConfirmationBody","validateEmailConfirmationBody","validateForgotPasswordBody","validateResetPasswordBody","validateChangePasswordBody"],"mappings":";;;;;;;;;AAEA,IAAA,MAAM,EAAEA,GAAG,EAAEC,iBAAiB,EAAE,GAAGC,UAAAA;IAEnC,MAAMC,cAAAA,GAAiBH,GAAII,CAAAA,MAAM,CAAC;QAChCC,UAAYL,EAAAA,GAAAA,CAAIM,MAAM,EAAA,CAAGC,QAAQ,EAAA;QACjCC,QAAUR,EAAAA,GAAAA,CAAIM,MAAM,EAAA,CAAGC,QAAQ;AACjC,KAAA,CAAA;AAEA,IAAA,MAAME,oBAAuB,GAAA,CAACC,MAC5BV,GAAAA,GAAAA,CAAII,MAAM,CAAC;AACTO,YAAAA,KAAAA,EAAOX,GAAIM,CAAAA,MAAM,EAAGK,CAAAA,KAAK,GAAGJ,QAAQ,EAAA;YACpCK,QAAUZ,EAAAA,GAAAA,CAAIM,MAAM,EAAA,CAAGC,QAAQ,EAAA;YAC/BC,QAAUR,EAAAA,GAAAA,CACPM,MAAM,EACNC,CAAAA,QAAQ,GACRM,IAAI,CAAC,SAAUC,KAAK,EAAA;gBACnB,IAAI,CAACA,OAAO,OAAO,IAAA;AACnB,gBAAA,MAAMC,UAAU,IAAIC,WAAAA,EAAAA,CAAcC,MAAM,CAACH,KAAAA,CAAAA,CAAOI,MAAM,IAAI,EAAA;AAC1D,gBAAA,IAAI,CAACH,OAAS,EAAA;oBACZ,OAAO,IAAI,CAACI,WAAW,CAAC;wBAAEC,OAAS,EAAA;AAAuC,qBAAA,CAAA;AAC3E;gBACD,OAAO,IAAA;aAERP,CAAAA,CAAAA,IAAI,CAAC,eAAgBC,KAAK,EAAA;gBACzB,IAAI,OAAOJ,MAAQW,EAAAA,gBAAAA,KAAqB,UAAY,EAAA;oBAClD,IAAI;AACF,wBAAA,MAAMN,OAAU,GAAA,MAAML,MAAOW,CAAAA,gBAAgB,CAACP,KAAAA,CAAAA;AAC9C,wBAAA,IAAI,CAACC,OAAS,EAAA;4BACZ,OAAO,IAAI,CAACI,WAAW,CAAC;gCAAEC,OAAS,EAAA;AAA+B,6BAAA,CAAA;AACnE;AACF,qBAAA,CAAC,OAAOE,KAAO,EAAA;wBACd,OAAO,IAAI,CAACH,WAAW,CAAC;4BAAEC,OAASE,EAAAA,KAAAA,CAAMF,OAAO,IAAI;AAAoB,yBAAA,CAAA;AACzE;AACF;gBACD,OAAO,IAAA;AACf,aAAA;AACA,SAAA,CAAA;IAEA,MAAMG,2BAAAA,GAA8BvB,GAAII,CAAAA,MAAM,CAAC;AAC7CO,QAAAA,KAAAA,EAAOX,GAAIM,CAAAA,MAAM,EAAGK,CAAAA,KAAK,GAAGJ,QAAQ;AACtC,KAAA,CAAA;IAEA,MAAMiB,+BAAAA,GAAkCxB,GAAII,CAAAA,MAAM,CAAC;QACjDqB,YAAczB,EAAAA,GAAAA,CAAIM,MAAM,EAAA,CAAGC,QAAQ;AACrC,KAAA,CAAA;IAEA,MAAMmB,oBAAAA,GAAuB1B,GAC1BI,CAAAA,MAAM,CAAC;AACNO,QAAAA,KAAAA,EAAOX,GAAIM,CAAAA,MAAM,EAAGK,CAAAA,KAAK,GAAGJ,QAAQ;AACxC,KAAA,CAAA,CACGoB,SAAS,EAAA;AAEZ,IAAA,MAAMC,yBAA4B,GAAA,CAAClB,MACjCV,GAAAA,GAAAA,CACGI,MAAM,CAAC;YACNI,QAAUR,EAAAA,GAAAA,CACPM,MAAM,EACNC,CAAAA,QAAQ,GACRM,IAAI,CAAC,SAAUC,KAAK,EAAA;gBACnB,IAAI,CAACA,OAAO,OAAO,IAAA;AACnB,gBAAA,MAAMC,UAAU,IAAIC,WAAAA,EAAAA,CAAcC,MAAM,CAACH,KAAAA,CAAAA,CAAOI,MAAM,IAAI,EAAA;AAC1D,gBAAA,IAAI,CAACH,OAAS,EAAA;oBACZ,OAAO,IAAI,CAACI,WAAW,CAAC;wBAAEC,OAAS,EAAA;AAAuC,qBAAA,CAAA;AAC3E;gBACD,OAAO,IAAA;aAERP,CAAAA,CAAAA,IAAI,CAAC,eAAgBC,KAAK,EAAA;gBACzB,IAAI,OAAOJ,MAAQW,EAAAA,gBAAAA,KAAqB,UAAY,EAAA;oBAClD,IAAI;AACF,wBAAA,MAAMN,OAAU,GAAA,MAAML,MAAOW,CAAAA,gBAAgB,CAACP,KAAAA,CAAAA;AAC9C,wBAAA,IAAI,CAACC,OAAS,EAAA;4BACZ,OAAO,IAAI,CAACI,WAAW,CAAC;gCAAEC,OAAS,EAAA;AAA+B,6BAAA,CAAA;AACnE;AACF,qBAAA,CAAC,OAAOE,KAAO,EAAA;wBACd,OAAO,IAAI,CAACH,WAAW,CAAC;4BAAEC,OAASE,EAAAA,KAAAA,CAAMF,OAAO,IAAI;AAAoB,yBAAA,CAAA;AACzE;AACF;gBACD,OAAO,IAAA;AACjB,aAAA,CAAA;AACMS,YAAAA,oBAAAA,EAAsB7B,IACnBM,MAAM,EAAA,CACNC,QAAQ,EAAA,CACRuB,KAAK,CAAC;AAAC9B,gBAAAA,GAAAA,CAAI+B,GAAG,CAAC,UAAA;aAAY,EAAE,wBAAA,CAAA;YAEhCC,IAAMhC,EAAAA,GAAAA,CAAIM,MAAM,EAAA,CAAGC,QAAQ;AACjC,SAAA,CAAA,CACKoB,SAAS,EAAA;AAEd,IAAA,MAAMM,0BAA6B,GAAA,CAACvB,MAClCV,GAAAA,GAAAA,CACGI,MAAM,CAAC;YACNI,QAAUR,EAAAA,GAAAA,CACPM,MAAM,EACNC,CAAAA,QAAQ,GACRM,IAAI,CAAC,SAAUC,KAAK,EAAA;gBACnB,IAAI,CAACA,OAAO,OAAO,IAAA;AACnB,gBAAA,MAAMC,UAAU,IAAIC,WAAAA,EAAAA,CAAcC,MAAM,CAACH,KAAAA,CAAAA,CAAOI,MAAM,IAAI,EAAA;AAC1D,gBAAA,IAAI,CAACH,OAAS,EAAA;oBACZ,OAAO,IAAI,CAACI,WAAW,CAAC;wBAAEC,OAAS,EAAA;AAAuC,qBAAA,CAAA;AAC3E;gBACD,OAAO,IAAA;aAERP,CAAAA,CAAAA,IAAI,CAAC,eAAgBC,KAAK,EAAA;gBACzB,IAAI,OAAOJ,MAAQW,EAAAA,gBAAAA,KAAqB,UAAY,EAAA;oBAClD,IAAI;AACF,wBAAA,MAAMN,OAAU,GAAA,MAAML,MAAOW,CAAAA,gBAAgB,CAACP,KAAAA,CAAAA;AAC9C,wBAAA,IAAI,CAACC,OAAS,EAAA;4BACZ,OAAO,IAAI,CAACI,WAAW,CAAC;gCAAEC,OAAS,EAAA;AAA+B,6BAAA,CAAA;AACnE;AACF,qBAAA,CAAC,OAAOE,KAAO,EAAA;wBACd,OAAO,IAAI,CAACH,WAAW,CAAC;4BAAEC,OAASE,EAAAA,KAAAA,CAAMF,OAAO,IAAI;AAAoB,yBAAA,CAAA;AACzE;AACF;gBACD,OAAO,IAAA;AACjB,aAAA,CAAA;AACMS,YAAAA,oBAAAA,EAAsB7B,IACnBM,MAAM,EAAA,CACNC,QAAQ,EAAA,CACRuB,KAAK,CAAC;AAAC9B,gBAAAA,GAAAA,CAAI+B,GAAG,CAAC,UAAA;aAAY,EAAE,wBAAA,CAAA;YAChCG,eAAiBlC,EAAAA,GAAAA,CAAIM,MAAM,EAAA,CAAGC,QAAQ;AAC5C,SAAA,CAAA,CACKoB,SAAS,EAAA;IAEdQ,IAAiB,GAAA;AACfC,QAAAA,oBAAAA,EAAsBnC,iBAAkBE,CAAAA,cAAAA,CAAAA;AACxCkC,QAAAA,oBAAAA,EAAsB,CAACC,OAAAA,EAAS5B,MAC9BT,GAAAA,iBAAAA,CAAkBQ,qBAAqBC,MAAS4B,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA;AAClDC,QAAAA,iCAAAA,EAAmCtC,iBAAkBsB,CAAAA,2BAAAA,CAAAA;AACrDiB,QAAAA,6BAAAA,EAA+BvC,iBAAkBuB,CAAAA,+BAAAA,CAAAA;AACjDiB,QAAAA,0BAAAA,EAA4BxC,iBAAkByB,CAAAA,oBAAAA,CAAAA;AAC9CgB,QAAAA,yBAAAA,EAA2B,CAACJ,OAAAA,EAAS5B,MACnCT,GAAAA,iBAAAA,CAAkB2B,0BAA0BlB,MAAS4B,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA;AACvDK,QAAAA,0BAAAA,EAA4B,CAACL,OAAAA,EAAS5B,MACpCT,GAAAA,iBAAAA,CAAkBgC,2BAA2BvB,MAAS4B,CAAAA,CAAAA,CAAAA,OAAAA;AAC1D,KAAA;;;;;;"}
@@ -0,0 +1,129 @@
1
+ import require$$1 from '@strapi/utils';
2
+
3
+ var auth;
4
+ var hasRequiredAuth;
5
+ function requireAuth() {
6
+ if (hasRequiredAuth) return auth;
7
+ hasRequiredAuth = 1;
8
+ const { yup, validateYupSchema } = require$$1;
9
+ const callbackSchema = yup.object({
10
+ identifier: yup.string().required(),
11
+ password: yup.string().required()
12
+ });
13
+ const createRegisterSchema = (config)=>yup.object({
14
+ email: yup.string().email().required(),
15
+ username: yup.string().required(),
16
+ password: yup.string().required().test(function(value) {
17
+ if (!value) return true;
18
+ const isValid = new TextEncoder().encode(value).length <= 72;
19
+ if (!isValid) {
20
+ return this.createError({
21
+ message: 'Password must be less than 73 bytes'
22
+ });
23
+ }
24
+ return true;
25
+ }).test(async function(value) {
26
+ if (typeof config?.validatePassword === 'function') {
27
+ try {
28
+ const isValid = await config.validatePassword(value);
29
+ if (!isValid) {
30
+ return this.createError({
31
+ message: 'Password validation failed.'
32
+ });
33
+ }
34
+ } catch (error) {
35
+ return this.createError({
36
+ message: error.message || 'An error occurred.'
37
+ });
38
+ }
39
+ }
40
+ return true;
41
+ })
42
+ });
43
+ const sendEmailConfirmationSchema = yup.object({
44
+ email: yup.string().email().required()
45
+ });
46
+ const validateEmailConfirmationSchema = yup.object({
47
+ confirmation: yup.string().required()
48
+ });
49
+ const forgotPasswordSchema = yup.object({
50
+ email: yup.string().email().required()
51
+ }).noUnknown();
52
+ const createResetPasswordSchema = (config)=>yup.object({
53
+ password: yup.string().required().test(function(value) {
54
+ if (!value) return true;
55
+ const isValid = new TextEncoder().encode(value).length <= 72;
56
+ if (!isValid) {
57
+ return this.createError({
58
+ message: 'Password must be less than 73 bytes'
59
+ });
60
+ }
61
+ return true;
62
+ }).test(async function(value) {
63
+ if (typeof config?.validatePassword === 'function') {
64
+ try {
65
+ const isValid = await config.validatePassword(value);
66
+ if (!isValid) {
67
+ return this.createError({
68
+ message: 'Password validation failed.'
69
+ });
70
+ }
71
+ } catch (error) {
72
+ return this.createError({
73
+ message: error.message || 'An error occurred.'
74
+ });
75
+ }
76
+ }
77
+ return true;
78
+ }),
79
+ passwordConfirmation: yup.string().required().oneOf([
80
+ yup.ref('password')
81
+ ], 'Passwords do not match'),
82
+ code: yup.string().required()
83
+ }).noUnknown();
84
+ const createChangePasswordSchema = (config)=>yup.object({
85
+ password: yup.string().required().test(function(value) {
86
+ if (!value) return true;
87
+ const isValid = new TextEncoder().encode(value).length <= 72;
88
+ if (!isValid) {
89
+ return this.createError({
90
+ message: 'Password must be less than 73 bytes'
91
+ });
92
+ }
93
+ return true;
94
+ }).test(async function(value) {
95
+ if (typeof config?.validatePassword === 'function') {
96
+ try {
97
+ const isValid = await config.validatePassword(value);
98
+ if (!isValid) {
99
+ return this.createError({
100
+ message: 'Password validation failed.'
101
+ });
102
+ }
103
+ } catch (error) {
104
+ return this.createError({
105
+ message: error.message || 'An error occurred.'
106
+ });
107
+ }
108
+ }
109
+ return true;
110
+ }),
111
+ passwordConfirmation: yup.string().required().oneOf([
112
+ yup.ref('password')
113
+ ], 'Passwords do not match'),
114
+ currentPassword: yup.string().required()
115
+ }).noUnknown();
116
+ auth = {
117
+ validateCallbackBody: validateYupSchema(callbackSchema),
118
+ validateRegisterBody: (payload, config)=>validateYupSchema(createRegisterSchema(config))(payload),
119
+ validateSendEmailConfirmationBody: validateYupSchema(sendEmailConfirmationSchema),
120
+ validateEmailConfirmationBody: validateYupSchema(validateEmailConfirmationSchema),
121
+ validateForgotPasswordBody: validateYupSchema(forgotPasswordSchema),
122
+ validateResetPasswordBody: (payload, config)=>validateYupSchema(createResetPasswordSchema(config))(payload),
123
+ validateChangePasswordBody: (payload, config)=>validateYupSchema(createChangePasswordSchema(config))(payload)
124
+ };
125
+ return auth;
126
+ }
127
+
128
+ export { requireAuth as __require };
129
+ //# sourceMappingURL=auth.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.mjs","sources":["../../../../server/controllers/validation/auth.js"],"sourcesContent":["'use strict';\n\nconst { yup, validateYupSchema } = require('@strapi/utils');\n\nconst callbackSchema = yup.object({\n identifier: yup.string().required(),\n password: yup.string().required(),\n});\n\nconst createRegisterSchema = (config) =>\n yup.object({\n email: yup.string().email().required(),\n username: yup.string().required(),\n password: yup\n .string()\n .required()\n .test(function (value) {\n if (!value) return true;\n const isValid = new TextEncoder().encode(value).length <= 72;\n if (!isValid) {\n return this.createError({ message: 'Password must be less than 73 bytes' });\n }\n return true;\n })\n .test(async function (value) {\n if (typeof config?.validatePassword === 'function') {\n try {\n const isValid = await config.validatePassword(value);\n if (!isValid) {\n return this.createError({ message: 'Password validation failed.' });\n }\n } catch (error) {\n return this.createError({ message: error.message || 'An error occurred.' });\n }\n }\n return true;\n }),\n });\n\nconst sendEmailConfirmationSchema = yup.object({\n email: yup.string().email().required(),\n});\n\nconst validateEmailConfirmationSchema = yup.object({\n confirmation: yup.string().required(),\n});\n\nconst forgotPasswordSchema = yup\n .object({\n email: yup.string().email().required(),\n })\n .noUnknown();\n\nconst createResetPasswordSchema = (config) =>\n yup\n .object({\n password: yup\n .string()\n .required()\n .test(function (value) {\n if (!value) return true;\n const isValid = new TextEncoder().encode(value).length <= 72;\n if (!isValid) {\n return this.createError({ message: 'Password must be less than 73 bytes' });\n }\n return true;\n })\n .test(async function (value) {\n if (typeof config?.validatePassword === 'function') {\n try {\n const isValid = await config.validatePassword(value);\n if (!isValid) {\n return this.createError({ message: 'Password validation failed.' });\n }\n } catch (error) {\n return this.createError({ message: error.message || 'An error occurred.' });\n }\n }\n return true;\n }),\n passwordConfirmation: yup\n .string()\n .required()\n .oneOf([yup.ref('password')], 'Passwords do not match'),\n\n code: yup.string().required(),\n })\n .noUnknown();\n\nconst createChangePasswordSchema = (config) =>\n yup\n .object({\n password: yup\n .string()\n .required()\n .test(function (value) {\n if (!value) return true;\n const isValid = new TextEncoder().encode(value).length <= 72;\n if (!isValid) {\n return this.createError({ message: 'Password must be less than 73 bytes' });\n }\n return true;\n })\n .test(async function (value) {\n if (typeof config?.validatePassword === 'function') {\n try {\n const isValid = await config.validatePassword(value);\n if (!isValid) {\n return this.createError({ message: 'Password validation failed.' });\n }\n } catch (error) {\n return this.createError({ message: error.message || 'An error occurred.' });\n }\n }\n return true;\n }),\n passwordConfirmation: yup\n .string()\n .required()\n .oneOf([yup.ref('password')], 'Passwords do not match'),\n currentPassword: yup.string().required(),\n })\n .noUnknown();\n\nmodule.exports = {\n validateCallbackBody: validateYupSchema(callbackSchema),\n validateRegisterBody: (payload, config) =>\n validateYupSchema(createRegisterSchema(config))(payload),\n validateSendEmailConfirmationBody: validateYupSchema(sendEmailConfirmationSchema),\n validateEmailConfirmationBody: validateYupSchema(validateEmailConfirmationSchema),\n validateForgotPasswordBody: validateYupSchema(forgotPasswordSchema),\n validateResetPasswordBody: (payload, config) =>\n validateYupSchema(createResetPasswordSchema(config))(payload),\n validateChangePasswordBody: (payload, config) =>\n validateYupSchema(createChangePasswordSchema(config))(payload),\n};\n"],"names":["yup","validateYupSchema","require$$0","callbackSchema","object","identifier","string","required","password","createRegisterSchema","config","email","username","test","value","isValid","TextEncoder","encode","length","createError","message","validatePassword","error","sendEmailConfirmationSchema","validateEmailConfirmationSchema","confirmation","forgotPasswordSchema","noUnknown","createResetPasswordSchema","passwordConfirmation","oneOf","ref","code","createChangePasswordSchema","currentPassword","auth","validateCallbackBody","validateRegisterBody","payload","validateSendEmailConfirmationBody","validateEmailConfirmationBody","validateForgotPasswordBody","validateResetPasswordBody","validateChangePasswordBody"],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ 'use strict';
2
+
3
+ var require$$0 = require('lodash/fp');
4
+ var require$$1 = require('@strapi/utils');
5
+
6
+ var emailTemplate;
7
+ var hasRequiredEmailTemplate;
8
+ function requireEmailTemplate() {
9
+ if (hasRequiredEmailTemplate) return emailTemplate;
10
+ hasRequiredEmailTemplate = 1;
11
+ const { trim } = require$$0;
12
+ const { template: { createLooseInterpolationRegExp, createStrictInterpolationRegExp } } = require$$1;
13
+ const invalidPatternsRegexes = [
14
+ // Ignore "evaluation" patterns: <% ... %>
15
+ /<%[^=]([\s\S]*?)%>/m,
16
+ // Ignore basic string interpolations
17
+ /\${([^{}]*)}/m
18
+ ];
19
+ const authorizedKeys = [
20
+ 'URL',
21
+ 'ADMIN_URL',
22
+ 'SERVER_URL',
23
+ 'CODE',
24
+ 'USER',
25
+ 'USER.email',
26
+ 'USER.username',
27
+ 'TOKEN'
28
+ ];
29
+ const matchAll = (pattern, src)=>{
30
+ const matches = [];
31
+ let match;
32
+ const regexPatternWithGlobal = RegExp(pattern, 'g');
33
+ // eslint-disable-next-line no-cond-assign
34
+ while(match = regexPatternWithGlobal.exec(src)){
35
+ const [, group] = match;
36
+ matches.push(trim(group));
37
+ }
38
+ return matches;
39
+ };
40
+ const isValidEmailTemplate = (template)=>{
41
+ // Check for known invalid patterns
42
+ for (const reg of invalidPatternsRegexes){
43
+ if (reg.test(template)) {
44
+ return false;
45
+ }
46
+ }
47
+ const interpolation = {
48
+ // Strict interpolation pattern to match only valid groups
49
+ strict: createStrictInterpolationRegExp(authorizedKeys),
50
+ // Weak interpolation pattern to match as many group as possible.
51
+ loose: createLooseInterpolationRegExp()
52
+ };
53
+ // Compute both strict & loose matches
54
+ const strictMatches = matchAll(interpolation.strict, template);
55
+ const looseMatches = matchAll(interpolation.loose, template);
56
+ // If we have more matches with the loose RegExp than with the strict one,
57
+ // then it means that at least one of the interpolation group is invalid
58
+ // Note: In the future, if we wanted to give more details for error formatting
59
+ // purposes, we could return the difference between the two arrays
60
+ if (looseMatches.length > strictMatches.length) {
61
+ return false;
62
+ }
63
+ return true;
64
+ };
65
+ emailTemplate = {
66
+ isValidEmailTemplate
67
+ };
68
+ return emailTemplate;
69
+ }
70
+
71
+ exports.__require = requireEmailTemplate;
72
+ //# sourceMappingURL=email-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-template.js","sources":["../../../../server/controllers/validation/email-template.js"],"sourcesContent":["'use strict';\n\nconst { trim } = require('lodash/fp');\nconst {\n template: { createLooseInterpolationRegExp, createStrictInterpolationRegExp },\n} = require('@strapi/utils');\n\nconst invalidPatternsRegexes = [\n // Ignore \"evaluation\" patterns: <% ... %>\n /<%[^=]([\\s\\S]*?)%>/m,\n // Ignore basic string interpolations\n /\\${([^{}]*)}/m,\n];\n\nconst authorizedKeys = [\n 'URL',\n 'ADMIN_URL',\n 'SERVER_URL',\n 'CODE',\n 'USER',\n 'USER.email',\n 'USER.username',\n 'TOKEN',\n];\n\nconst matchAll = (pattern, src) => {\n const matches = [];\n let match;\n\n const regexPatternWithGlobal = RegExp(pattern, 'g');\n\n // eslint-disable-next-line no-cond-assign\n while ((match = regexPatternWithGlobal.exec(src))) {\n const [, group] = match;\n\n matches.push(trim(group));\n }\n\n return matches;\n};\n\nconst isValidEmailTemplate = (template) => {\n // Check for known invalid patterns\n for (const reg of invalidPatternsRegexes) {\n if (reg.test(template)) {\n return false;\n }\n }\n\n const interpolation = {\n // Strict interpolation pattern to match only valid groups\n strict: createStrictInterpolationRegExp(authorizedKeys),\n // Weak interpolation pattern to match as many group as possible.\n loose: createLooseInterpolationRegExp(),\n };\n\n // Compute both strict & loose matches\n const strictMatches = matchAll(interpolation.strict, template);\n const looseMatches = matchAll(interpolation.loose, template);\n\n // If we have more matches with the loose RegExp than with the strict one,\n // then it means that at least one of the interpolation group is invalid\n // Note: In the future, if we wanted to give more details for error formatting\n // purposes, we could return the difference between the two arrays\n if (looseMatches.length > strictMatches.length) {\n return false;\n }\n\n return true;\n};\n\nmodule.exports = {\n isValidEmailTemplate,\n};\n"],"names":["trim","require$$0","template","createLooseInterpolationRegExp","createStrictInterpolationRegExp","require$$1","invalidPatternsRegexes","authorizedKeys","matchAll","pattern","src","matches","match","regexPatternWithGlobal","RegExp","exec","group","push","isValidEmailTemplate","reg","test","interpolation","strict","loose","strictMatches","looseMatches","length","emailTemplate"],"mappings":";;;;;;;;;;IAEA,MAAM,EAAEA,IAAI,EAAE,GAAGC,UAAAA;IACjB,MAAM,EACJC,UAAU,EAAEC,8BAA8B,EAAEC,+BAA+B,EAAE,EAC9E,GAAGC,UAAAA;AAEJ,IAAA,MAAMC,sBAAyB,GAAA;;AAE7B,QAAA,qBAAA;;AAEA,QAAA;AACD,KAAA;AAED,IAAA,MAAMC,cAAiB,GAAA;AACrB,QAAA,KAAA;AACA,QAAA,WAAA;AACA,QAAA,YAAA;AACA,QAAA,MAAA;AACA,QAAA,MAAA;AACA,QAAA,YAAA;AACA,QAAA,eAAA;AACA,QAAA;AACD,KAAA;IAED,MAAMC,QAAAA,GAAW,CAACC,OAASC,EAAAA,GAAAA,GAAAA;AACzB,QAAA,MAAMC,UAAU,EAAE;QAClB,IAAIC,KAAAA;QAEJ,MAAMC,sBAAAA,GAAyBC,OAAOL,OAAS,EAAA,GAAA,CAAA;;AAG/C,QAAA,MAAQG,KAAQC,GAAAA,sBAAAA,CAAuBE,IAAI,CAACL,GAAO,CAAA,CAAA;YACjD,MAAM,GAAGM,MAAM,GAAGJ,KAAAA;YAElBD,OAAQM,CAAAA,IAAI,CAACjB,IAAKgB,CAAAA,KAAAA,CAAAA,CAAAA;AACnB;QAED,OAAOL,OAAAA;AACT,KAAA;AAEA,IAAA,MAAMO,uBAAuB,CAAChB,QAAAA,GAAAA;;QAE5B,KAAK,MAAMiB,OAAOb,sBAAwB,CAAA;YACxC,IAAIa,GAAAA,CAAIC,IAAI,CAAClB,QAAW,CAAA,EAAA;gBACtB,OAAO,KAAA;AACR;AACF;AAED,QAAA,MAAMmB,aAAgB,GAAA;;AAEpBC,YAAAA,MAAAA,EAAQlB,+BAAgCG,CAAAA,cAAAA,CAAAA;;YAExCgB,KAAOpB,EAAAA,8BAAAA;AACX,SAAA;;AAGE,QAAA,MAAMqB,aAAgBhB,GAAAA,QAAAA,CAASa,aAAcC,CAAAA,MAAM,EAAEpB,QAAAA,CAAAA;AACrD,QAAA,MAAMuB,YAAejB,GAAAA,QAAAA,CAASa,aAAcE,CAAAA,KAAK,EAAErB,QAAAA,CAAAA;;;;;AAMnD,QAAA,IAAIuB,YAAaC,CAAAA,MAAM,GAAGF,aAAAA,CAAcE,MAAM,EAAE;YAC9C,OAAO,KAAA;AACR;QAED,OAAO,IAAA;AACT,KAAA;IAEAC,aAAiB,GAAA;AACfT,QAAAA;AACF,KAAA;;;;;;"}
@@ -0,0 +1,70 @@
1
+ import require$$0 from 'lodash/fp';
2
+ import require$$1 from '@strapi/utils';
3
+
4
+ var emailTemplate;
5
+ var hasRequiredEmailTemplate;
6
+ function requireEmailTemplate() {
7
+ if (hasRequiredEmailTemplate) return emailTemplate;
8
+ hasRequiredEmailTemplate = 1;
9
+ const { trim } = require$$0;
10
+ const { template: { createLooseInterpolationRegExp, createStrictInterpolationRegExp } } = require$$1;
11
+ const invalidPatternsRegexes = [
12
+ // Ignore "evaluation" patterns: <% ... %>
13
+ /<%[^=]([\s\S]*?)%>/m,
14
+ // Ignore basic string interpolations
15
+ /\${([^{}]*)}/m
16
+ ];
17
+ const authorizedKeys = [
18
+ 'URL',
19
+ 'ADMIN_URL',
20
+ 'SERVER_URL',
21
+ 'CODE',
22
+ 'USER',
23
+ 'USER.email',
24
+ 'USER.username',
25
+ 'TOKEN'
26
+ ];
27
+ const matchAll = (pattern, src)=>{
28
+ const matches = [];
29
+ let match;
30
+ const regexPatternWithGlobal = RegExp(pattern, 'g');
31
+ // eslint-disable-next-line no-cond-assign
32
+ while(match = regexPatternWithGlobal.exec(src)){
33
+ const [, group] = match;
34
+ matches.push(trim(group));
35
+ }
36
+ return matches;
37
+ };
38
+ const isValidEmailTemplate = (template)=>{
39
+ // Check for known invalid patterns
40
+ for (const reg of invalidPatternsRegexes){
41
+ if (reg.test(template)) {
42
+ return false;
43
+ }
44
+ }
45
+ const interpolation = {
46
+ // Strict interpolation pattern to match only valid groups
47
+ strict: createStrictInterpolationRegExp(authorizedKeys),
48
+ // Weak interpolation pattern to match as many group as possible.
49
+ loose: createLooseInterpolationRegExp()
50
+ };
51
+ // Compute both strict & loose matches
52
+ const strictMatches = matchAll(interpolation.strict, template);
53
+ const looseMatches = matchAll(interpolation.loose, template);
54
+ // If we have more matches with the loose RegExp than with the strict one,
55
+ // then it means that at least one of the interpolation group is invalid
56
+ // Note: In the future, if we wanted to give more details for error formatting
57
+ // purposes, we could return the difference between the two arrays
58
+ if (looseMatches.length > strictMatches.length) {
59
+ return false;
60
+ }
61
+ return true;
62
+ };
63
+ emailTemplate = {
64
+ isValidEmailTemplate
65
+ };
66
+ return emailTemplate;
67
+ }
68
+
69
+ export { requireEmailTemplate as __require };
70
+ //# sourceMappingURL=email-template.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-template.mjs","sources":["../../../../server/controllers/validation/email-template.js"],"sourcesContent":["'use strict';\n\nconst { trim } = require('lodash/fp');\nconst {\n template: { createLooseInterpolationRegExp, createStrictInterpolationRegExp },\n} = require('@strapi/utils');\n\nconst invalidPatternsRegexes = [\n // Ignore \"evaluation\" patterns: <% ... %>\n /<%[^=]([\\s\\S]*?)%>/m,\n // Ignore basic string interpolations\n /\\${([^{}]*)}/m,\n];\n\nconst authorizedKeys = [\n 'URL',\n 'ADMIN_URL',\n 'SERVER_URL',\n 'CODE',\n 'USER',\n 'USER.email',\n 'USER.username',\n 'TOKEN',\n];\n\nconst matchAll = (pattern, src) => {\n const matches = [];\n let match;\n\n const regexPatternWithGlobal = RegExp(pattern, 'g');\n\n // eslint-disable-next-line no-cond-assign\n while ((match = regexPatternWithGlobal.exec(src))) {\n const [, group] = match;\n\n matches.push(trim(group));\n }\n\n return matches;\n};\n\nconst isValidEmailTemplate = (template) => {\n // Check for known invalid patterns\n for (const reg of invalidPatternsRegexes) {\n if (reg.test(template)) {\n return false;\n }\n }\n\n const interpolation = {\n // Strict interpolation pattern to match only valid groups\n strict: createStrictInterpolationRegExp(authorizedKeys),\n // Weak interpolation pattern to match as many group as possible.\n loose: createLooseInterpolationRegExp(),\n };\n\n // Compute both strict & loose matches\n const strictMatches = matchAll(interpolation.strict, template);\n const looseMatches = matchAll(interpolation.loose, template);\n\n // If we have more matches with the loose RegExp than with the strict one,\n // then it means that at least one of the interpolation group is invalid\n // Note: In the future, if we wanted to give more details for error formatting\n // purposes, we could return the difference between the two arrays\n if (looseMatches.length > strictMatches.length) {\n return false;\n }\n\n return true;\n};\n\nmodule.exports = {\n isValidEmailTemplate,\n};\n"],"names":["trim","require$$0","template","createLooseInterpolationRegExp","createStrictInterpolationRegExp","require$$1","invalidPatternsRegexes","authorizedKeys","matchAll","pattern","src","matches","match","regexPatternWithGlobal","RegExp","exec","group","push","isValidEmailTemplate","reg","test","interpolation","strict","loose","strictMatches","looseMatches","length","emailTemplate"],"mappings":";;;;;;;;IAEA,MAAM,EAAEA,IAAI,EAAE,GAAGC,UAAAA;IACjB,MAAM,EACJC,UAAU,EAAEC,8BAA8B,EAAEC,+BAA+B,EAAE,EAC9E,GAAGC,UAAAA;AAEJ,IAAA,MAAMC,sBAAyB,GAAA;;AAE7B,QAAA,qBAAA;;AAEA,QAAA;AACD,KAAA;AAED,IAAA,MAAMC,cAAiB,GAAA;AACrB,QAAA,KAAA;AACA,QAAA,WAAA;AACA,QAAA,YAAA;AACA,QAAA,MAAA;AACA,QAAA,MAAA;AACA,QAAA,YAAA;AACA,QAAA,eAAA;AACA,QAAA;AACD,KAAA;IAED,MAAMC,QAAAA,GAAW,CAACC,OAASC,EAAAA,GAAAA,GAAAA;AACzB,QAAA,MAAMC,UAAU,EAAE;QAClB,IAAIC,KAAAA;QAEJ,MAAMC,sBAAAA,GAAyBC,OAAOL,OAAS,EAAA,GAAA,CAAA;;AAG/C,QAAA,MAAQG,KAAQC,GAAAA,sBAAAA,CAAuBE,IAAI,CAACL,GAAO,CAAA,CAAA;YACjD,MAAM,GAAGM,MAAM,GAAGJ,KAAAA;YAElBD,OAAQM,CAAAA,IAAI,CAACjB,IAAKgB,CAAAA,KAAAA,CAAAA,CAAAA;AACnB;QAED,OAAOL,OAAAA;AACT,KAAA;AAEA,IAAA,MAAMO,uBAAuB,CAAChB,QAAAA,GAAAA;;QAE5B,KAAK,MAAMiB,OAAOb,sBAAwB,CAAA;YACxC,IAAIa,GAAAA,CAAIC,IAAI,CAAClB,QAAW,CAAA,EAAA;gBACtB,OAAO,KAAA;AACR;AACF;AAED,QAAA,MAAMmB,aAAgB,GAAA;;AAEpBC,YAAAA,MAAAA,EAAQlB,+BAAgCG,CAAAA,cAAAA,CAAAA;;YAExCgB,KAAOpB,EAAAA,8BAAAA;AACX,SAAA;;AAGE,QAAA,MAAMqB,aAAgBhB,GAAAA,QAAAA,CAASa,aAAcC,CAAAA,MAAM,EAAEpB,QAAAA,CAAAA;AACrD,QAAA,MAAMuB,YAAejB,GAAAA,QAAAA,CAASa,aAAcE,CAAAA,KAAK,EAAErB,QAAAA,CAAAA;;;;;AAMnD,QAAA,IAAIuB,YAAaC,CAAAA,MAAM,GAAGF,aAAAA,CAAcE,MAAM,EAAE;YAC9C,OAAO,KAAA;AACR;QAED,OAAO,IAAA;AACT,KAAA;IAEAC,aAAiB,GAAA;AACfT,QAAAA;AACF,KAAA;;;;;;"}
@@ -0,0 +1,49 @@
1
+ 'use strict';
2
+
3
+ var require$$1 = require('@strapi/utils');
4
+
5
+ var user;
6
+ var hasRequiredUser;
7
+ function requireUser() {
8
+ if (hasRequiredUser) return user;
9
+ hasRequiredUser = 1;
10
+ const { yup, validateYupSchema } = require$$1;
11
+ const deleteRoleSchema = yup.object().shape({
12
+ role: yup.strapiID().required()
13
+ });
14
+ const createUserBodySchema = yup.object().shape({
15
+ email: yup.string().email().required(),
16
+ username: yup.string().min(1).required(),
17
+ password: yup.string().min(1).required(),
18
+ role: yup.lazy((value)=>typeof value === 'object' ? yup.object().shape({
19
+ connect: yup.array().of(yup.object().shape({
20
+ id: yup.strapiID().required()
21
+ })).min(1, 'Users must have a role').required()
22
+ }).required() : yup.strapiID().required())
23
+ });
24
+ const updateUserBodySchema = yup.object().shape({
25
+ email: yup.string().email().min(1),
26
+ username: yup.string().min(1),
27
+ password: yup.string().min(1),
28
+ role: yup.lazy((value)=>typeof value === 'object' ? yup.object().shape({
29
+ connect: yup.array().of(yup.object().shape({
30
+ id: yup.strapiID().required()
31
+ })).required(),
32
+ disconnect: yup.array().test('CheckDisconnect', 'Cannot remove role', function test(disconnectValue) {
33
+ if (value.connect.length === 0 && disconnectValue.length > 0) {
34
+ return false;
35
+ }
36
+ return true;
37
+ }).required()
38
+ }) : yup.strapiID())
39
+ });
40
+ user = {
41
+ validateCreateUserBody: validateYupSchema(createUserBodySchema),
42
+ validateUpdateUserBody: validateYupSchema(updateUserBodySchema),
43
+ validateDeleteRoleBody: validateYupSchema(deleteRoleSchema)
44
+ };
45
+ return user;
46
+ }
47
+
48
+ exports.__require = requireUser;
49
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sources":["../../../../server/controllers/validation/user.js"],"sourcesContent":["'use strict';\n\nconst { yup, validateYupSchema } = require('@strapi/utils');\n\nconst deleteRoleSchema = yup.object().shape({\n role: yup.strapiID().required(),\n});\n\nconst createUserBodySchema = yup.object().shape({\n email: yup.string().email().required(),\n username: yup.string().min(1).required(),\n password: yup.string().min(1).required(),\n role: yup.lazy((value) =>\n typeof value === 'object'\n ? yup\n .object()\n .shape({\n connect: yup\n .array()\n .of(yup.object().shape({ id: yup.strapiID().required() }))\n .min(1, 'Users must have a role')\n .required(),\n })\n .required()\n : yup.strapiID().required()\n ),\n});\n\nconst updateUserBodySchema = yup.object().shape({\n email: yup.string().email().min(1),\n username: yup.string().min(1),\n password: yup.string().min(1),\n role: yup.lazy((value) =>\n typeof value === 'object'\n ? yup.object().shape({\n connect: yup\n .array()\n .of(yup.object().shape({ id: yup.strapiID().required() }))\n .required(),\n disconnect: yup\n .array()\n .test('CheckDisconnect', 'Cannot remove role', function test(disconnectValue) {\n if (value.connect.length === 0 && disconnectValue.length > 0) {\n return false;\n }\n\n return true;\n })\n .required(),\n })\n : yup.strapiID()\n ),\n});\n\nmodule.exports = {\n validateCreateUserBody: validateYupSchema(createUserBodySchema),\n validateUpdateUserBody: validateYupSchema(updateUserBodySchema),\n validateDeleteRoleBody: validateYupSchema(deleteRoleSchema),\n};\n"],"names":["yup","validateYupSchema","require$$0","deleteRoleSchema","object","shape","role","strapiID","required","createUserBodySchema","email","string","username","min","password","lazy","value","connect","array","of","id","updateUserBodySchema","disconnect","test","disconnectValue","length","user","validateCreateUserBody","validateUpdateUserBody","validateDeleteRoleBody"],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import require$$1 from '@strapi/utils';
2
+
3
+ var user;
4
+ var hasRequiredUser;
5
+ function requireUser() {
6
+ if (hasRequiredUser) return user;
7
+ hasRequiredUser = 1;
8
+ const { yup, validateYupSchema } = require$$1;
9
+ const deleteRoleSchema = yup.object().shape({
10
+ role: yup.strapiID().required()
11
+ });
12
+ const createUserBodySchema = yup.object().shape({
13
+ email: yup.string().email().required(),
14
+ username: yup.string().min(1).required(),
15
+ password: yup.string().min(1).required(),
16
+ role: yup.lazy((value)=>typeof value === 'object' ? yup.object().shape({
17
+ connect: yup.array().of(yup.object().shape({
18
+ id: yup.strapiID().required()
19
+ })).min(1, 'Users must have a role').required()
20
+ }).required() : yup.strapiID().required())
21
+ });
22
+ const updateUserBodySchema = yup.object().shape({
23
+ email: yup.string().email().min(1),
24
+ username: yup.string().min(1),
25
+ password: yup.string().min(1),
26
+ role: yup.lazy((value)=>typeof value === 'object' ? yup.object().shape({
27
+ connect: yup.array().of(yup.object().shape({
28
+ id: yup.strapiID().required()
29
+ })).required(),
30
+ disconnect: yup.array().test('CheckDisconnect', 'Cannot remove role', function test(disconnectValue) {
31
+ if (value.connect.length === 0 && disconnectValue.length > 0) {
32
+ return false;
33
+ }
34
+ return true;
35
+ }).required()
36
+ }) : yup.strapiID())
37
+ });
38
+ user = {
39
+ validateCreateUserBody: validateYupSchema(createUserBodySchema),
40
+ validateUpdateUserBody: validateYupSchema(updateUserBodySchema),
41
+ validateDeleteRoleBody: validateYupSchema(deleteRoleSchema)
42
+ };
43
+ return user;
44
+ }
45
+
46
+ export { requireUser as __require };
47
+ //# sourceMappingURL=user.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.mjs","sources":["../../../../server/controllers/validation/user.js"],"sourcesContent":["'use strict';\n\nconst { yup, validateYupSchema } = require('@strapi/utils');\n\nconst deleteRoleSchema = yup.object().shape({\n role: yup.strapiID().required(),\n});\n\nconst createUserBodySchema = yup.object().shape({\n email: yup.string().email().required(),\n username: yup.string().min(1).required(),\n password: yup.string().min(1).required(),\n role: yup.lazy((value) =>\n typeof value === 'object'\n ? yup\n .object()\n .shape({\n connect: yup\n .array()\n .of(yup.object().shape({ id: yup.strapiID().required() }))\n .min(1, 'Users must have a role')\n .required(),\n })\n .required()\n : yup.strapiID().required()\n ),\n});\n\nconst updateUserBodySchema = yup.object().shape({\n email: yup.string().email().min(1),\n username: yup.string().min(1),\n password: yup.string().min(1),\n role: yup.lazy((value) =>\n typeof value === 'object'\n ? yup.object().shape({\n connect: yup\n .array()\n .of(yup.object().shape({ id: yup.strapiID().required() }))\n .required(),\n disconnect: yup\n .array()\n .test('CheckDisconnect', 'Cannot remove role', function test(disconnectValue) {\n if (value.connect.length === 0 && disconnectValue.length > 0) {\n return false;\n }\n\n return true;\n })\n .required(),\n })\n : yup.strapiID()\n ),\n});\n\nmodule.exports = {\n validateCreateUserBody: validateYupSchema(createUserBodySchema),\n validateUpdateUserBody: validateYupSchema(updateUserBodySchema),\n validateDeleteRoleBody: validateYupSchema(deleteRoleSchema),\n};\n"],"names":["yup","validateYupSchema","require$$0","deleteRoleSchema","object","shape","role","strapiID","required","createUserBodySchema","email","string","username","min","password","lazy","value","connect","array","of","id","updateUserBodySchema","disconnect","test","disconnectValue","length","user","validateCreateUserBody","validateUpdateUserBody","validateDeleteRoleBody"],"mappings":"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"}