@strapi/plugin-users-permissions 0.0.0-next.fd9757603c653ca239c45d6e28ab536d2dae0b39 → 0.0.0-next.fdac61dd05ca665168f51f655f1d165b55ec4231

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 (307) hide show
  1. package/.eslintignore +2 -1
  2. package/admin/src/components/BoundRoute/index.jsx +3 -3
  3. package/admin/src/components/FormModal/Input/index.jsx +33 -32
  4. package/admin/src/components/FormModal/index.jsx +58 -69
  5. package/admin/src/components/Permissions/PermissionRow/CheckboxWrapper.jsx +4 -3
  6. package/admin/src/components/Permissions/PermissionRow/SubCategory.jsx +13 -22
  7. package/admin/src/components/Permissions/index.jsx +27 -35
  8. package/admin/src/components/Permissions/reducer.js +1 -1
  9. package/admin/src/components/Policies/index.jsx +8 -6
  10. package/admin/src/components/UsersPermissions/index.jsx +15 -7
  11. package/admin/src/components/UsersPermissions/reducer.js +1 -1
  12. package/admin/src/index.js +17 -34
  13. package/admin/src/pages/AdvancedSettings/index.jsx +84 -129
  14. package/admin/src/pages/AdvancedSettings/utils/layout.js +20 -35
  15. package/admin/src/pages/AdvancedSettings/utils/schema.js +5 -2
  16. package/admin/src/pages/EmailTemplates/components/EmailForm.jsx +120 -140
  17. package/admin/src/pages/EmailTemplates/components/EmailTable.jsx +21 -18
  18. package/admin/src/pages/EmailTemplates/index.jsx +36 -62
  19. package/admin/src/pages/EmailTemplates/utils/schema.js +18 -6
  20. package/admin/src/pages/Providers/index.jsx +97 -112
  21. package/admin/src/pages/Providers/utils/forms.js +23 -11
  22. package/admin/src/pages/Roles/constants.js +3 -3
  23. package/admin/src/pages/Roles/hooks/usePlugins.js +4 -4
  24. package/admin/src/pages/Roles/index.jsx +10 -19
  25. package/admin/src/pages/Roles/pages/CreatePage.jsx +53 -58
  26. package/admin/src/pages/Roles/pages/EditPage.jsx +63 -68
  27. package/admin/src/pages/Roles/pages/ListPage/components/TableBody.jsx +28 -32
  28. package/admin/src/pages/Roles/pages/ListPage/index.jsx +79 -55
  29. package/admin/src/pluginId.js +2 -2
  30. package/admin/src/translations/en.json +1 -1
  31. package/admin/src/utils/prefixPluginTranslations.js +13 -0
  32. package/dist/admin/chunks/ar-BJwjobLp.js +45 -0
  33. package/dist/admin/chunks/ar-BJwjobLp.js.map +1 -0
  34. package/dist/admin/chunks/ar-G6bUGuUb.mjs +43 -0
  35. package/dist/admin/chunks/ar-G6bUGuUb.mjs.map +1 -0
  36. package/dist/admin/chunks/cs-Bu59JqhG.mjs +49 -0
  37. package/dist/admin/chunks/cs-Bu59JqhG.mjs.map +1 -0
  38. package/dist/admin/chunks/cs-uS_SIEo8.js +51 -0
  39. package/dist/admin/chunks/cs-uS_SIEo8.js.map +1 -0
  40. package/dist/admin/chunks/de-7MVMrqqI.js +63 -0
  41. package/dist/admin/chunks/de-7MVMrqqI.js.map +1 -0
  42. package/dist/admin/chunks/de-B81A69_5.mjs +61 -0
  43. package/dist/admin/chunks/de-B81A69_5.mjs.map +1 -0
  44. package/dist/admin/chunks/dk-BaelzvBE.mjs +85 -0
  45. package/dist/admin/chunks/dk-BaelzvBE.mjs.map +1 -0
  46. package/dist/admin/chunks/dk-DwCLGmy9.js +87 -0
  47. package/dist/admin/chunks/dk-DwCLGmy9.js.map +1 -0
  48. package/dist/admin/chunks/en-BhgCBe7M.mjs +85 -0
  49. package/dist/admin/chunks/en-BhgCBe7M.mjs.map +1 -0
  50. package/dist/admin/chunks/en-DwQjkHi_.js +87 -0
  51. package/dist/admin/chunks/en-DwQjkHi_.js.map +1 -0
  52. package/dist/admin/chunks/es-B0wXmvRj.mjs +85 -0
  53. package/dist/admin/chunks/es-B0wXmvRj.mjs.map +1 -0
  54. package/dist/admin/chunks/es-BOJOedG5.js +87 -0
  55. package/dist/admin/chunks/es-BOJOedG5.js.map +1 -0
  56. package/dist/admin/chunks/fr-BDNWCNs0.js +51 -0
  57. package/dist/admin/chunks/fr-BDNWCNs0.js.map +1 -0
  58. package/dist/admin/chunks/fr-CGYvGUXg.mjs +49 -0
  59. package/dist/admin/chunks/fr-CGYvGUXg.mjs.map +1 -0
  60. package/dist/admin/chunks/id-CNzbwFjA.mjs +61 -0
  61. package/dist/admin/chunks/id-CNzbwFjA.mjs.map +1 -0
  62. package/dist/admin/chunks/id-UqUPykHZ.js +63 -0
  63. package/dist/admin/chunks/id-UqUPykHZ.js.map +1 -0
  64. package/dist/admin/chunks/index-B-Z_z_qb.mjs +213 -0
  65. package/dist/admin/chunks/index-B-Z_z_qb.mjs.map +1 -0
  66. package/dist/admin/chunks/index-B2MJiSOD.mjs +279 -0
  67. package/dist/admin/chunks/index-B2MJiSOD.mjs.map +1 -0
  68. package/dist/admin/chunks/index-BPiDUOGt.js +471 -0
  69. package/dist/admin/chunks/index-BPiDUOGt.js.map +1 -0
  70. package/dist/admin/chunks/index-BtYUb_br.js +741 -0
  71. package/dist/admin/chunks/index-BtYUb_br.js.map +1 -0
  72. package/dist/admin/chunks/index-COXjHxFm.mjs +718 -0
  73. package/dist/admin/chunks/index-COXjHxFm.mjs.map +1 -0
  74. package/dist/admin/chunks/index-CkYplz_3.js +301 -0
  75. package/dist/admin/chunks/index-CkYplz_3.js.map +1 -0
  76. package/dist/admin/chunks/index-Cu2GvTiT.mjs +1516 -0
  77. package/dist/admin/chunks/index-Cu2GvTiT.mjs.map +1 -0
  78. package/dist/admin/chunks/index-D01zzG9y.js +1537 -0
  79. package/dist/admin/chunks/index-D01zzG9y.js.map +1 -0
  80. package/dist/admin/chunks/index-DAclA-0k.js +217 -0
  81. package/dist/admin/chunks/index-DAclA-0k.js.map +1 -0
  82. package/dist/admin/chunks/index-DVNIct2-.mjs +448 -0
  83. package/dist/admin/chunks/index-DVNIct2-.mjs.map +1 -0
  84. package/dist/admin/chunks/it-B2H2foTf.mjs +61 -0
  85. package/dist/admin/chunks/it-B2H2foTf.mjs.map +1 -0
  86. package/dist/admin/chunks/it-D5VuyoLU.js +63 -0
  87. package/dist/admin/chunks/it-D5VuyoLU.js.map +1 -0
  88. package/dist/admin/chunks/ja-C0z9d7L9.mjs +47 -0
  89. package/dist/admin/chunks/ja-C0z9d7L9.mjs.map +1 -0
  90. package/dist/admin/chunks/ja-MpqVsCgs.js +49 -0
  91. package/dist/admin/chunks/ja-MpqVsCgs.js.map +1 -0
  92. package/dist/admin/chunks/ko-Bm-grPSc.js +87 -0
  93. package/dist/admin/chunks/ko-Bm-grPSc.js.map +1 -0
  94. package/dist/admin/chunks/ko-CzUgzpeS.mjs +85 -0
  95. package/dist/admin/chunks/ko-CzUgzpeS.mjs.map +1 -0
  96. package/dist/admin/chunks/ms-CCacxjim.mjs +48 -0
  97. package/dist/admin/chunks/ms-CCacxjim.mjs.map +1 -0
  98. package/dist/admin/chunks/ms-D7eyBD5H.js +50 -0
  99. package/dist/admin/chunks/ms-D7eyBD5H.js.map +1 -0
  100. package/dist/admin/chunks/nl-BIOwAQtI.js +49 -0
  101. package/dist/admin/chunks/nl-BIOwAQtI.js.map +1 -0
  102. package/dist/admin/chunks/nl-DDC3nZW-.mjs +47 -0
  103. package/dist/admin/chunks/nl-DDC3nZW-.mjs.map +1 -0
  104. package/dist/admin/chunks/pl-D5BeNrg_.js +87 -0
  105. package/dist/admin/chunks/pl-D5BeNrg_.js.map +1 -0
  106. package/dist/admin/chunks/pl-XkS463rN.mjs +85 -0
  107. package/dist/admin/chunks/pl-XkS463rN.mjs.map +1 -0
  108. package/dist/admin/chunks/pt-BR-8cC7z8Km.mjs +43 -0
  109. package/dist/admin/chunks/pt-BR-8cC7z8Km.mjs.map +1 -0
  110. package/dist/admin/chunks/pt-BR-DxPBzQGx.js +45 -0
  111. package/dist/admin/chunks/pt-BR-DxPBzQGx.js.map +1 -0
  112. package/dist/admin/chunks/pt-DQpEvio8.mjs +47 -0
  113. package/dist/admin/chunks/pt-DQpEvio8.mjs.map +1 -0
  114. package/dist/admin/chunks/pt-kkCwzNvH.js +49 -0
  115. package/dist/admin/chunks/pt-kkCwzNvH.js.map +1 -0
  116. package/dist/admin/chunks/ru-BQ0gHmp3.js +87 -0
  117. package/dist/admin/chunks/ru-BQ0gHmp3.js.map +1 -0
  118. package/dist/admin/chunks/ru-nzL_7Mhg.mjs +85 -0
  119. package/dist/admin/chunks/ru-nzL_7Mhg.mjs.map +1 -0
  120. package/dist/admin/chunks/sk-Ddxc_tZA.mjs +49 -0
  121. package/dist/admin/chunks/sk-Ddxc_tZA.mjs.map +1 -0
  122. package/dist/admin/chunks/sk-nVwAPdYC.js +51 -0
  123. package/dist/admin/chunks/sk-nVwAPdYC.js.map +1 -0
  124. package/dist/admin/chunks/sv-BDfk2A-F.js +87 -0
  125. package/dist/admin/chunks/sv-BDfk2A-F.js.map +1 -0
  126. package/dist/admin/chunks/sv-By3RYpMG.mjs +85 -0
  127. package/dist/admin/chunks/sv-By3RYpMG.mjs.map +1 -0
  128. package/dist/admin/chunks/th-BtTtpHe2.js +61 -0
  129. package/dist/admin/chunks/th-BtTtpHe2.js.map +1 -0
  130. package/dist/admin/chunks/th-COl50vqb.mjs +59 -0
  131. package/dist/admin/chunks/th-COl50vqb.mjs.map +1 -0
  132. package/dist/admin/chunks/tr-80SJU6jg.mjs +84 -0
  133. package/dist/admin/chunks/tr-80SJU6jg.mjs.map +1 -0
  134. package/dist/admin/chunks/tr-Di-Nf7cT.js +86 -0
  135. package/dist/admin/chunks/tr-Di-Nf7cT.js.map +1 -0
  136. package/dist/admin/chunks/uk-CggQOx1l.js +50 -0
  137. package/dist/admin/chunks/uk-CggQOx1l.js.map +1 -0
  138. package/dist/admin/chunks/uk-D8JHuzch.mjs +48 -0
  139. package/dist/admin/chunks/uk-D8JHuzch.mjs.map +1 -0
  140. package/dist/admin/chunks/vi-69AF03Iv.mjs +49 -0
  141. package/dist/admin/chunks/vi-69AF03Iv.mjs.map +1 -0
  142. package/dist/admin/chunks/vi-D9cCsHsU.js +51 -0
  143. package/dist/admin/chunks/vi-D9cCsHsU.js.map +1 -0
  144. package/dist/admin/chunks/zh-BzSkqxo-.mjs +85 -0
  145. package/dist/admin/chunks/zh-BzSkqxo-.mjs.map +1 -0
  146. package/dist/admin/chunks/zh-BzWgJEzz.js +87 -0
  147. package/dist/admin/chunks/zh-BzWgJEzz.js.map +1 -0
  148. package/dist/admin/chunks/zh-Hans-CKqQbpsM.js +87 -0
  149. package/dist/admin/chunks/zh-Hans-CKqQbpsM.js.map +1 -0
  150. package/dist/admin/chunks/zh-Hans-DmDcSsp7.mjs +85 -0
  151. package/dist/admin/chunks/zh-Hans-DmDcSsp7.mjs.map +1 -0
  152. package/dist/admin/index.js +6 -3
  153. package/dist/admin/index.js.map +1 -1
  154. package/dist/admin/index.mjs +1 -5
  155. package/dist/admin/index.mjs.map +1 -1
  156. package/dist/server/index.js +4766 -0
  157. package/dist/server/index.js.map +1 -0
  158. package/dist/server/index.mjs +4764 -0
  159. package/dist/server/index.mjs.map +1 -0
  160. package/package.json +31 -32
  161. package/rollup.config.mjs +52 -0
  162. package/server/bootstrap/index.js +18 -51
  163. package/server/content-types/user/index.js +0 -1
  164. package/server/controllers/auth.js +41 -60
  165. package/server/controllers/content-manager-user.js +28 -30
  166. package/server/controllers/role.js +17 -4
  167. package/server/controllers/user.js +8 -9
  168. package/server/controllers/validation/auth.js +104 -25
  169. package/server/graphql/types/index.js +1 -0
  170. package/server/graphql/types/me.js +1 -0
  171. package/server/graphql/types/user-input.js +20 -0
  172. package/server/middlewares/rateLimit.js +1 -1
  173. package/server/register.js +2 -2
  174. package/server/services/jwt.js +3 -3
  175. package/server/services/permission.js +3 -7
  176. package/server/services/providers-registry.js +468 -279
  177. package/server/services/providers.js +10 -5
  178. package/server/services/role.js +15 -13
  179. package/server/services/user.js +56 -19
  180. package/server/services/users-permissions.js +15 -13
  181. package/server/utils/index.d.ts +2 -1
  182. package/server/utils/sanitize/sanitizers.js +7 -3
  183. package/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js +2 -2
  184. package/admin/src/pages/Roles/pages/ListPage/utils/api.js +0 -30
  185. package/dist/_chunks/ar-MvD8Ghac.mjs +0 -44
  186. package/dist/_chunks/ar-MvD8Ghac.mjs.map +0 -1
  187. package/dist/_chunks/ar-t5qTFaAD.js +0 -44
  188. package/dist/_chunks/ar-t5qTFaAD.js.map +0 -1
  189. package/dist/_chunks/cs-BMuXwxA1.mjs +0 -50
  190. package/dist/_chunks/cs-BMuXwxA1.mjs.map +0 -1
  191. package/dist/_chunks/cs-I8N4u-Sd.js +0 -50
  192. package/dist/_chunks/cs-I8N4u-Sd.js.map +0 -1
  193. package/dist/_chunks/de-YTjtq89K.js +0 -62
  194. package/dist/_chunks/de-YTjtq89K.js.map +0 -1
  195. package/dist/_chunks/de-zs2qqc0W.mjs +0 -62
  196. package/dist/_chunks/de-zs2qqc0W.mjs.map +0 -1
  197. package/dist/_chunks/dk-HctVBMsG.mjs +0 -86
  198. package/dist/_chunks/dk-HctVBMsG.mjs.map +0 -1
  199. package/dist/_chunks/dk-TF-dWjzl.js +0 -86
  200. package/dist/_chunks/dk-TF-dWjzl.js.map +0 -1
  201. package/dist/_chunks/en-CE3wEy_c.mjs +0 -86
  202. package/dist/_chunks/en-CE3wEy_c.mjs.map +0 -1
  203. package/dist/_chunks/en-m608rMZx.js +0 -86
  204. package/dist/_chunks/en-m608rMZx.js.map +0 -1
  205. package/dist/_chunks/es-9381tih_.mjs +0 -86
  206. package/dist/_chunks/es-9381tih_.mjs.map +0 -1
  207. package/dist/_chunks/es-XBQsB8_9.js +0 -86
  208. package/dist/_chunks/es-XBQsB8_9.js.map +0 -1
  209. package/dist/_chunks/fr-6cz3U-IF.js +0 -50
  210. package/dist/_chunks/fr-6cz3U-IF.js.map +0 -1
  211. package/dist/_chunks/fr-CMSc77If.mjs +0 -50
  212. package/dist/_chunks/fr-CMSc77If.mjs.map +0 -1
  213. package/dist/_chunks/id-RJ934rq-.js +0 -62
  214. package/dist/_chunks/id-RJ934rq-.js.map +0 -1
  215. package/dist/_chunks/id-SDuyIkZa.mjs +0 -62
  216. package/dist/_chunks/id-SDuyIkZa.mjs.map +0 -1
  217. package/dist/_chunks/index-7cDy9OFu.mjs +0 -301
  218. package/dist/_chunks/index-7cDy9OFu.mjs.map +0 -1
  219. package/dist/_chunks/index-F7bt_caK.mjs +0 -1159
  220. package/dist/_chunks/index-F7bt_caK.mjs.map +0 -1
  221. package/dist/_chunks/index-H1mhyWXP.mjs +0 -385
  222. package/dist/_chunks/index-H1mhyWXP.mjs.map +0 -1
  223. package/dist/_chunks/index-Uclk5uc0.mjs +0 -250
  224. package/dist/_chunks/index-Uclk5uc0.mjs.map +0 -1
  225. package/dist/_chunks/index-cNS7FpQt.js +0 -320
  226. package/dist/_chunks/index-cNS7FpQt.js.map +0 -1
  227. package/dist/_chunks/index-e4dnRonE.js +0 -407
  228. package/dist/_chunks/index-e4dnRonE.js.map +0 -1
  229. package/dist/_chunks/index-oFjO2L1S.mjs +0 -615
  230. package/dist/_chunks/index-oFjO2L1S.mjs.map +0 -1
  231. package/dist/_chunks/index-rU_BkerL.js +0 -1191
  232. package/dist/_chunks/index-rU_BkerL.js.map +0 -1
  233. package/dist/_chunks/index-sm9u2cPw.js +0 -638
  234. package/dist/_chunks/index-sm9u2cPw.js.map +0 -1
  235. package/dist/_chunks/index-vLWD-DRR.js +0 -249
  236. package/dist/_chunks/index-vLWD-DRR.js.map +0 -1
  237. package/dist/_chunks/it-YhZOlM2X.js +0 -62
  238. package/dist/_chunks/it-YhZOlM2X.js.map +0 -1
  239. package/dist/_chunks/it-bvH7DgQo.mjs +0 -62
  240. package/dist/_chunks/it-bvH7DgQo.mjs.map +0 -1
  241. package/dist/_chunks/ja-o_-JPvQv.mjs +0 -48
  242. package/dist/_chunks/ja-o_-JPvQv.mjs.map +0 -1
  243. package/dist/_chunks/ja-xssHUXFv.js +0 -48
  244. package/dist/_chunks/ja-xssHUXFv.js.map +0 -1
  245. package/dist/_chunks/ko-C3mHUSJa.js +0 -86
  246. package/dist/_chunks/ko-C3mHUSJa.js.map +0 -1
  247. package/dist/_chunks/ko-XJbPSez_.mjs +0 -86
  248. package/dist/_chunks/ko-XJbPSez_.mjs.map +0 -1
  249. package/dist/_chunks/ms-II5Ea73J.mjs +0 -49
  250. package/dist/_chunks/ms-II5Ea73J.mjs.map +0 -1
  251. package/dist/_chunks/ms-d0hfg65Z.js +0 -49
  252. package/dist/_chunks/ms-d0hfg65Z.js.map +0 -1
  253. package/dist/_chunks/nl-TA7TfK_5.js +0 -48
  254. package/dist/_chunks/nl-TA7TfK_5.js.map +0 -1
  255. package/dist/_chunks/nl-vEy6TN0K.mjs +0 -48
  256. package/dist/_chunks/nl-vEy6TN0K.mjs.map +0 -1
  257. package/dist/_chunks/pl-0pUL9hdA.js +0 -86
  258. package/dist/_chunks/pl-0pUL9hdA.js.map +0 -1
  259. package/dist/_chunks/pl-2VowaFGt.mjs +0 -86
  260. package/dist/_chunks/pl-2VowaFGt.mjs.map +0 -1
  261. package/dist/_chunks/pt-BR-WNOhafR4.js +0 -44
  262. package/dist/_chunks/pt-BR-WNOhafR4.js.map +0 -1
  263. package/dist/_chunks/pt-BR-sS1Xp3Jt.mjs +0 -44
  264. package/dist/_chunks/pt-BR-sS1Xp3Jt.mjs.map +0 -1
  265. package/dist/_chunks/pt-Rf9W51IO.mjs +0 -48
  266. package/dist/_chunks/pt-Rf9W51IO.mjs.map +0 -1
  267. package/dist/_chunks/pt-guNR9Gax.js +0 -48
  268. package/dist/_chunks/pt-guNR9Gax.js.map +0 -1
  269. package/dist/_chunks/ru-X3BMXDds.js +0 -86
  270. package/dist/_chunks/ru-X3BMXDds.js.map +0 -1
  271. package/dist/_chunks/ru-qKHnd5or.mjs +0 -86
  272. package/dist/_chunks/ru-qKHnd5or.mjs.map +0 -1
  273. package/dist/_chunks/sk-NWPw1oTN.js +0 -50
  274. package/dist/_chunks/sk-NWPw1oTN.js.map +0 -1
  275. package/dist/_chunks/sk-_Ryr-eTT.mjs +0 -50
  276. package/dist/_chunks/sk-_Ryr-eTT.mjs.map +0 -1
  277. package/dist/_chunks/sv-76NnbB__.js +0 -86
  278. package/dist/_chunks/sv-76NnbB__.js.map +0 -1
  279. package/dist/_chunks/sv-BqzScFXS.mjs +0 -86
  280. package/dist/_chunks/sv-BqzScFXS.mjs.map +0 -1
  281. package/dist/_chunks/th-WsknMEpq.mjs +0 -60
  282. package/dist/_chunks/th-WsknMEpq.mjs.map +0 -1
  283. package/dist/_chunks/th-cbppX21D.js +0 -60
  284. package/dist/_chunks/th-cbppX21D.js.map +0 -1
  285. package/dist/_chunks/tr-6mm_Fmz7.js +0 -85
  286. package/dist/_chunks/tr-6mm_Fmz7.js.map +0 -1
  287. package/dist/_chunks/tr-_DB1F1GW.mjs +0 -85
  288. package/dist/_chunks/tr-_DB1F1GW.mjs.map +0 -1
  289. package/dist/_chunks/uk-sI2I1ogF.js +0 -49
  290. package/dist/_chunks/uk-sI2I1ogF.js.map +0 -1
  291. package/dist/_chunks/uk-yxMSQAwI.mjs +0 -49
  292. package/dist/_chunks/uk-yxMSQAwI.mjs.map +0 -1
  293. package/dist/_chunks/vi-A3zJxaiI.js +0 -50
  294. package/dist/_chunks/vi-A3zJxaiI.js.map +0 -1
  295. package/dist/_chunks/vi-xY0zCW3d.mjs +0 -50
  296. package/dist/_chunks/vi-xY0zCW3d.mjs.map +0 -1
  297. package/dist/_chunks/zh-72SpmFXa.js +0 -86
  298. package/dist/_chunks/zh-72SpmFXa.js.map +0 -1
  299. package/dist/_chunks/zh-Hans-ArWWtyP4.js +0 -86
  300. package/dist/_chunks/zh-Hans-ArWWtyP4.js.map +0 -1
  301. package/dist/_chunks/zh-Hans-E84cu4kP.mjs +0 -86
  302. package/dist/_chunks/zh-Hans-E84cu4kP.mjs.map +0 -1
  303. package/dist/_chunks/zh-OFeldzbX.mjs +0 -86
  304. package/dist/_chunks/zh-OFeldzbX.mjs.map +0 -1
  305. package/packup.config.ts +0 -22
  306. package/server/bootstrap/grant-config.js +0 -140
  307. package/strapi-server.js +0 -3
@@ -0,0 +1,279 @@
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import 'react';
3
+ import { useNotifyAT, Button, Box, Flex, Typography, Grid } from '@strapi/design-system';
4
+ import { Check } from '@strapi/icons';
5
+ import { translatedErrors, Page, useNotification, useFetchClient, useAPIErrorHandler, useRBAC, Form, Layouts, InputRenderer } from '@strapi/strapi/admin';
6
+ import { useIntl } from 'react-intl';
7
+ import { useQueryClient, useQuery, useMutation } from 'react-query';
8
+ import { g as getTrad, P as PERMISSIONS } from './index-B-Z_z_qb.mjs';
9
+ import 'lodash/isEmpty';
10
+ import * as yup from 'yup';
11
+
12
+ const layout = [
13
+ {
14
+ label: {
15
+ id: getTrad('EditForm.inputToggle.label.email'),
16
+ defaultMessage: 'One account per email address'
17
+ },
18
+ hint: {
19
+ id: getTrad('EditForm.inputToggle.description.email'),
20
+ defaultMessage: 'Disallow the user to create multiple accounts using the same email address with different authentication providers.'
21
+ },
22
+ name: 'unique_email',
23
+ type: 'boolean',
24
+ size: 12
25
+ },
26
+ {
27
+ label: {
28
+ id: getTrad('EditForm.inputToggle.label.sign-up'),
29
+ defaultMessage: 'Enable sign-ups'
30
+ },
31
+ hint: {
32
+ id: getTrad('EditForm.inputToggle.description.sign-up'),
33
+ defaultMessage: 'When disabled (OFF), the registration process is forbidden. No one can subscribe anymore no matter the used provider.'
34
+ },
35
+ name: 'allow_register',
36
+ type: 'boolean',
37
+ size: 12
38
+ },
39
+ {
40
+ label: {
41
+ id: getTrad('EditForm.inputToggle.label.email-reset-password'),
42
+ defaultMessage: 'Reset password page'
43
+ },
44
+ hint: {
45
+ id: getTrad('EditForm.inputToggle.description.email-reset-password'),
46
+ defaultMessage: "URL of your application's reset password page."
47
+ },
48
+ placeholder: {
49
+ id: getTrad('EditForm.inputToggle.placeholder.email-reset-password'),
50
+ defaultMessage: 'ex: https://youtfrontend.com/reset-password'
51
+ },
52
+ name: 'email_reset_password',
53
+ type: 'string',
54
+ size: 12
55
+ },
56
+ {
57
+ label: {
58
+ id: getTrad('EditForm.inputToggle.label.email-confirmation'),
59
+ defaultMessage: 'Enable email confirmation'
60
+ },
61
+ hint: {
62
+ id: getTrad('EditForm.inputToggle.description.email-confirmation'),
63
+ defaultMessage: 'When enabled (ON), new registered users receive a confirmation email.'
64
+ },
65
+ name: 'email_confirmation',
66
+ type: 'boolean',
67
+ size: 12
68
+ },
69
+ {
70
+ label: {
71
+ id: getTrad('EditForm.inputToggle.label.email-confirmation-redirection'),
72
+ defaultMessage: 'Redirection url'
73
+ },
74
+ hint: {
75
+ id: getTrad('EditForm.inputToggle.description.email-confirmation-redirection'),
76
+ defaultMessage: 'After you confirmed your email, choose where you will be redirected.'
77
+ },
78
+ placeholder: {
79
+ id: getTrad('EditForm.inputToggle.placeholder.email-confirmation-redirection'),
80
+ defaultMessage: 'ex: https://youtfrontend.com/email-confirmation'
81
+ },
82
+ name: 'email_confirmation_redirection',
83
+ type: 'string',
84
+ size: 12
85
+ }
86
+ ];
87
+
88
+ // eslint-disable-next-line prefer-regex-literals
89
+ const URL_REGEX = new RegExp('(^$)|((.+:\\/\\/.*)(d*)\\/?(.*))');
90
+ const schema = yup.object().shape({
91
+ email_confirmation_redirection: yup.mixed().when('email_confirmation', {
92
+ is: true,
93
+ then: yup.string().matches(URL_REGEX).required(),
94
+ otherwise: yup.string().nullable()
95
+ }),
96
+ email_reset_password: yup.string(translatedErrors.string).matches(URL_REGEX, {
97
+ id: translatedErrors.regex.id,
98
+ defaultMessage: 'This is not a valid URL'
99
+ }).nullable()
100
+ });
101
+
102
+ const ProtectedAdvancedSettingsPage = ()=>/*#__PURE__*/ jsx(Page.Protect, {
103
+ permissions: PERMISSIONS.readAdvancedSettings,
104
+ children: /*#__PURE__*/ jsx(AdvancedSettingsPage, {})
105
+ });
106
+ const AdvancedSettingsPage = ()=>{
107
+ const { formatMessage } = useIntl();
108
+ const { toggleNotification } = useNotification();
109
+ const { notifyStatus } = useNotifyAT();
110
+ const queryClient = useQueryClient();
111
+ const { get, put } = useFetchClient();
112
+ const { formatAPIError } = useAPIErrorHandler();
113
+ const { isLoading: isLoadingForPermissions, allowedActions: { canUpdate } } = useRBAC({
114
+ update: PERMISSIONS.updateAdvancedSettings
115
+ });
116
+ const { isLoading: isLoadingData, data } = useQuery([
117
+ 'users-permissions',
118
+ 'advanced'
119
+ ], async ()=>{
120
+ const { data } = await get('/users-permissions/advanced');
121
+ return data;
122
+ }, {
123
+ onSuccess () {
124
+ notifyStatus(formatMessage({
125
+ id: getTrad('Form.advancedSettings.data.loaded'),
126
+ defaultMessage: 'Advanced settings data has been loaded'
127
+ }));
128
+ },
129
+ onError () {
130
+ toggleNotification({
131
+ type: 'danger',
132
+ message: formatMessage({
133
+ id: getTrad('notification.error'),
134
+ defaultMessage: 'An error occured'
135
+ })
136
+ });
137
+ }
138
+ });
139
+ const isLoading = isLoadingForPermissions || isLoadingData;
140
+ const submitMutation = useMutation((body)=>put('/users-permissions/advanced', body), {
141
+ async onSuccess () {
142
+ await queryClient.invalidateQueries([
143
+ 'users-permissions',
144
+ 'advanced'
145
+ ]);
146
+ toggleNotification({
147
+ type: 'success',
148
+ message: formatMessage({
149
+ id: getTrad('notification.success.saved'),
150
+ defaultMessage: 'Saved'
151
+ })
152
+ });
153
+ },
154
+ onError (error) {
155
+ toggleNotification({
156
+ type: 'danger',
157
+ message: formatAPIError(error)
158
+ });
159
+ },
160
+ refetchActive: true
161
+ });
162
+ const { isLoading: isSubmittingForm } = submitMutation;
163
+ const handleSubmit = async (body)=>{
164
+ submitMutation.mutate({
165
+ ...body,
166
+ email_confirmation_redirection: body.email_confirmation ? body.email_confirmation_redirection : ''
167
+ });
168
+ };
169
+ if (isLoading) {
170
+ return /*#__PURE__*/ jsx(Page.Loading, {});
171
+ }
172
+ return /*#__PURE__*/ jsxs(Page.Main, {
173
+ "aria-busy": isSubmittingForm,
174
+ children: [
175
+ /*#__PURE__*/ jsx(Page.Title, {
176
+ children: formatMessage({
177
+ id: 'Settings.PageTitle',
178
+ defaultMessage: 'Settings - {name}'
179
+ }, {
180
+ name: formatMessage({
181
+ id: getTrad('HeaderNav.link.advancedSettings'),
182
+ defaultMessage: 'Advanced Settings'
183
+ })
184
+ })
185
+ }),
186
+ /*#__PURE__*/ jsx(Form, {
187
+ onSubmit: handleSubmit,
188
+ initialValues: data.settings,
189
+ validationSchema: schema,
190
+ children: ({ values, isSubmitting, modified })=>{
191
+ return /*#__PURE__*/ jsxs(Fragment, {
192
+ children: [
193
+ /*#__PURE__*/ jsx(Layouts.Header, {
194
+ title: formatMessage({
195
+ id: getTrad('HeaderNav.link.advancedSettings'),
196
+ defaultMessage: 'Advanced Settings'
197
+ }),
198
+ primaryAction: /*#__PURE__*/ jsx(Button, {
199
+ loading: isSubmitting,
200
+ type: "submit",
201
+ disabled: !modified || !canUpdate,
202
+ startIcon: /*#__PURE__*/ jsx(Check, {}),
203
+ size: "S",
204
+ children: formatMessage({
205
+ id: 'global.save',
206
+ defaultMessage: 'Save'
207
+ })
208
+ })
209
+ }),
210
+ /*#__PURE__*/ jsx(Layouts.Content, {
211
+ children: /*#__PURE__*/ jsx(Box, {
212
+ background: "neutral0",
213
+ hasRadius: true,
214
+ shadow: "filterShadow",
215
+ paddingTop: 6,
216
+ paddingBottom: 6,
217
+ paddingLeft: 7,
218
+ paddingRight: 7,
219
+ children: /*#__PURE__*/ jsxs(Flex, {
220
+ direction: "column",
221
+ alignItems: "stretch",
222
+ gap: 4,
223
+ children: [
224
+ /*#__PURE__*/ jsx(Typography, {
225
+ variant: "delta",
226
+ tag: "h2",
227
+ children: formatMessage({
228
+ id: 'global.settings',
229
+ defaultMessage: 'Settings'
230
+ })
231
+ }),
232
+ /*#__PURE__*/ jsx(Grid.Root, {
233
+ gap: 6,
234
+ children: [
235
+ {
236
+ label: {
237
+ id: getTrad('EditForm.inputSelect.label.role'),
238
+ defaultMessage: 'Default role for authenticated users'
239
+ },
240
+ hint: {
241
+ id: getTrad('EditForm.inputSelect.description.role'),
242
+ defaultMessage: 'It will attach the new authenticated user to the selected role.'
243
+ },
244
+ options: data.roles.map((role)=>({
245
+ label: role.name,
246
+ value: role.type
247
+ })),
248
+ name: 'default_role',
249
+ size: 6,
250
+ type: 'enumeration'
251
+ },
252
+ ...layout
253
+ ].map(({ size, ...field })=>/*#__PURE__*/ jsx(Grid.Item, {
254
+ col: size,
255
+ direction: "column",
256
+ alignItems: "stretch",
257
+ children: /*#__PURE__*/ jsx(InputRenderer, {
258
+ ...field,
259
+ disabled: field.name === 'email_confirmation_redirection' && values.email_confirmation === false,
260
+ label: formatMessage(field.label),
261
+ hint: field.hint ? formatMessage(field.hint) : undefined,
262
+ placeholder: field.placeholder ? formatMessage(field.placeholder) : undefined
263
+ })
264
+ }, field.name))
265
+ })
266
+ ]
267
+ })
268
+ })
269
+ })
270
+ ]
271
+ });
272
+ }
273
+ })
274
+ ]
275
+ });
276
+ };
277
+
278
+ export { AdvancedSettingsPage, ProtectedAdvancedSettingsPage };
279
+ //# sourceMappingURL=index-B2MJiSOD.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-B2MJiSOD.mjs","sources":["../../../admin/src/pages/AdvancedSettings/utils/layout.js","../../../admin/src/pages/AdvancedSettings/utils/schema.js","../../../admin/src/pages/AdvancedSettings/index.jsx"],"sourcesContent":["import { getTrad } from '../../../utils';\n\nconst layout = [\n {\n label: {\n id: getTrad('EditForm.inputToggle.label.email'),\n defaultMessage: 'One account per email address',\n },\n hint: {\n id: getTrad('EditForm.inputToggle.description.email'),\n defaultMessage:\n 'Disallow the user to create multiple accounts using the same email address with different authentication providers.',\n },\n name: 'unique_email',\n type: 'boolean',\n size: 12,\n },\n {\n label: {\n id: getTrad('EditForm.inputToggle.label.sign-up'),\n defaultMessage: 'Enable sign-ups',\n },\n hint: {\n id: getTrad('EditForm.inputToggle.description.sign-up'),\n defaultMessage:\n 'When disabled (OFF), the registration process is forbidden. No one can subscribe anymore no matter the used provider.',\n },\n name: 'allow_register',\n type: 'boolean',\n size: 12,\n },\n {\n label: {\n id: getTrad('EditForm.inputToggle.label.email-reset-password'),\n defaultMessage: 'Reset password page',\n },\n hint: {\n id: getTrad('EditForm.inputToggle.description.email-reset-password'),\n defaultMessage: \"URL of your application's reset password page.\",\n },\n placeholder: {\n id: getTrad('EditForm.inputToggle.placeholder.email-reset-password'),\n defaultMessage: 'ex: https://youtfrontend.com/reset-password',\n },\n name: 'email_reset_password',\n type: 'string',\n size: 12,\n },\n {\n label: {\n id: getTrad('EditForm.inputToggle.label.email-confirmation'),\n defaultMessage: 'Enable email confirmation',\n },\n hint: {\n id: getTrad('EditForm.inputToggle.description.email-confirmation'),\n defaultMessage: 'When enabled (ON), new registered users receive a confirmation email.',\n },\n name: 'email_confirmation',\n type: 'boolean',\n size: 12,\n },\n {\n label: {\n id: getTrad('EditForm.inputToggle.label.email-confirmation-redirection'),\n defaultMessage: 'Redirection url',\n },\n hint: {\n id: getTrad('EditForm.inputToggle.description.email-confirmation-redirection'),\n defaultMessage: 'After you confirmed your email, choose where you will be redirected.',\n },\n placeholder: {\n id: getTrad('EditForm.inputToggle.placeholder.email-confirmation-redirection'),\n defaultMessage: 'ex: https://youtfrontend.com/email-confirmation',\n },\n name: 'email_confirmation_redirection',\n type: 'string',\n size: 12,\n },\n];\n\nexport default layout;\n","import { translatedErrors } from '@strapi/strapi/admin';\nimport * as yup from 'yup';\n\n// eslint-disable-next-line prefer-regex-literals\nconst URL_REGEX = new RegExp('(^$)|((.+:\\\\/\\\\/.*)(d*)\\\\/?(.*))');\n\nconst schema = yup.object().shape({\n email_confirmation_redirection: yup.mixed().when('email_confirmation', {\n is: true,\n then: yup.string().matches(URL_REGEX).required(),\n otherwise: yup.string().nullable(),\n }),\n email_reset_password: yup\n .string(translatedErrors.string)\n .matches(URL_REGEX, {\n id: translatedErrors.regex.id,\n defaultMessage: 'This is not a valid URL',\n })\n .nullable(),\n});\n\nexport default schema;\n","import * as React from 'react';\n\nimport { Box, Button, Flex, Grid, Typography, useNotifyAT } from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport {\n useAPIErrorHandler,\n Page,\n Form,\n InputRenderer,\n useNotification,\n useFetchClient,\n useRBAC,\n Layouts,\n} from '@strapi/strapi/admin';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { PERMISSIONS } from '../../constants';\nimport { getTrad } from '../../utils';\n\nimport layout from './utils/layout';\nimport schema from './utils/schema';\n\nconst ProtectedAdvancedSettingsPage = () => (\n <Page.Protect permissions={PERMISSIONS.readAdvancedSettings}>\n <AdvancedSettingsPage />\n </Page.Protect>\n);\n\nconst AdvancedSettingsPage = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { notifyStatus } = useNotifyAT();\n const queryClient = useQueryClient();\n const { get, put } = useFetchClient();\n const { formatAPIError } = useAPIErrorHandler();\n\n const {\n isLoading: isLoadingForPermissions,\n allowedActions: { canUpdate },\n } = useRBAC({ update: PERMISSIONS.updateAdvancedSettings });\n\n const { isLoading: isLoadingData, data } = useQuery(\n ['users-permissions', 'advanced'],\n async () => {\n const { data } = await get('/users-permissions/advanced');\n\n return data;\n },\n {\n onSuccess() {\n notifyStatus(\n formatMessage({\n id: getTrad('Form.advancedSettings.data.loaded'),\n defaultMessage: 'Advanced settings data has been loaded',\n })\n );\n },\n onError() {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: getTrad('notification.error'),\n defaultMessage: 'An error occured',\n }),\n });\n },\n }\n );\n\n const isLoading = isLoadingForPermissions || isLoadingData;\n\n const submitMutation = useMutation((body) => put('/users-permissions/advanced', body), {\n async onSuccess() {\n await queryClient.invalidateQueries(['users-permissions', 'advanced']);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTrad('notification.success.saved'),\n defaultMessage: 'Saved',\n }),\n });\n },\n onError(error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n },\n refetchActive: true,\n });\n\n const { isLoading: isSubmittingForm } = submitMutation;\n\n const handleSubmit = async (body) => {\n submitMutation.mutate({\n ...body,\n email_confirmation_redirection: body.email_confirmation\n ? body.email_confirmation_redirection\n : '',\n });\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main aria-busy={isSubmittingForm}>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: getTrad('HeaderNav.link.advancedSettings'),\n defaultMessage: 'Advanced Settings',\n }),\n }\n )}\n </Page.Title>\n <Form onSubmit={handleSubmit} initialValues={data.settings} validationSchema={schema}>\n {({ values, isSubmitting, modified }) => {\n return (\n <>\n <Layouts.Header\n title={formatMessage({\n id: getTrad('HeaderNav.link.advancedSettings'),\n defaultMessage: 'Advanced Settings',\n })}\n primaryAction={\n <Button\n loading={isSubmitting}\n type=\"submit\"\n disabled={!modified || !canUpdate}\n startIcon={<Check />}\n size=\"S\"\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n />\n <Layouts.Content>\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n </Typography>\n <Grid.Root gap={6}>\n {[\n {\n label: {\n id: getTrad('EditForm.inputSelect.label.role'),\n defaultMessage: 'Default role for authenticated users',\n },\n hint: {\n id: getTrad('EditForm.inputSelect.description.role'),\n defaultMessage:\n 'It will attach the new authenticated user to the selected role.',\n },\n options: data.roles.map((role) => ({\n label: role.name,\n value: role.type,\n })),\n name: 'default_role',\n size: 6,\n type: 'enumeration',\n },\n ...layout,\n ].map(({ size, ...field }) => (\n <Grid.Item\n key={field.name}\n col={size}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer\n {...field}\n disabled={\n field.name === 'email_confirmation_redirection' &&\n values.email_confirmation === false\n }\n label={formatMessage(field.label)}\n hint={field.hint ? formatMessage(field.hint) : undefined}\n placeholder={\n field.placeholder ? formatMessage(field.placeholder) : undefined\n }\n />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Flex>\n </Box>\n </Layouts.Content>\n </>\n );\n }}\n </Form>\n </Page.Main>\n );\n};\n\nexport { ProtectedAdvancedSettingsPage, AdvancedSettingsPage };\n"],"names":["layout","label","id","getTrad","defaultMessage","hint","name","type","size","placeholder","URL_REGEX","RegExp","schema","yup","object","shape","email_confirmation_redirection","mixed","when","is","then","string","matches","required","otherwise","nullable","email_reset_password","translatedErrors","regex","ProtectedAdvancedSettingsPage","_jsx","Page","Protect","permissions","PERMISSIONS","readAdvancedSettings","AdvancedSettingsPage","formatMessage","useIntl","toggleNotification","useNotification","notifyStatus","useNotifyAT","queryClient","useQueryClient","get","put","useFetchClient","formatAPIError","useAPIErrorHandler","isLoading","isLoadingForPermissions","allowedActions","canUpdate","useRBAC","update","updateAdvancedSettings","isLoadingData","data","useQuery","onSuccess","onError","message","submitMutation","useMutation","body","invalidateQueries","error","refetchActive","isSubmittingForm","handleSubmit","mutate","email_confirmation","Loading","_jsxs","Main","aria-busy","Title","Form","onSubmit","initialValues","settings","validationSchema","values","isSubmitting","modified","_Fragment","Layouts","Header","title","primaryAction","Button","loading","disabled","startIcon","Check","Content","Box","background","hasRadius","shadow","paddingTop","paddingBottom","paddingLeft","paddingRight","Flex","direction","alignItems","gap","Typography","variant","tag","Grid","Root","options","roles","map","role","value","field","Item","col","InputRenderer","undefined"],"mappings":"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"}