@strapi/plugin-users-permissions 0.0.0-next.e41415e8ff5f565ff959667d5c5ba4f20bee013c → 0.0.0-next.e5b87a54008c9de2b3286a4774635dcf69895d9b

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 (688) hide show
  1. package/.eslintignore +2 -2
  2. package/.eslintrc +17 -0
  3. package/LICENSE +18 -3
  4. package/admin/src/components/BoundRoute/{index.js → index.jsx} +7 -5
  5. package/admin/src/components/FormModal/Input/{index.js → index.jsx} +35 -33
  6. package/admin/src/components/FormModal/index.jsx +115 -0
  7. package/admin/src/components/Permissions/PermissionRow/{CheckboxWrapper.js → CheckboxWrapper.jsx} +4 -3
  8. package/admin/src/components/Permissions/PermissionRow/{SubCategory.js → SubCategory.jsx} +34 -15
  9. package/admin/src/components/Permissions/PermissionRow/{index.js → index.jsx} +4 -2
  10. package/admin/src/components/Permissions/index.jsx +47 -0
  11. package/admin/src/components/Permissions/reducer.js +1 -1
  12. package/admin/src/components/Policies/{index.js → index.jsx} +11 -7
  13. package/admin/src/components/UsersPermissions/{index.js → index.jsx} +23 -11
  14. package/admin/src/components/UsersPermissions/reducer.js +1 -1
  15. package/admin/src/{permissions.js → constants.js} +1 -3
  16. package/admin/src/contexts/UsersPermissionsContext/{index.js → index.jsx} +1 -0
  17. package/admin/src/index.js +27 -53
  18. package/admin/src/pages/AdvancedSettings/index.jsx +215 -0
  19. package/admin/src/pages/AdvancedSettings/utils/layout.js +20 -35
  20. package/admin/src/pages/AdvancedSettings/utils/schema.js +5 -2
  21. package/admin/src/pages/EmailTemplates/components/EmailForm.jsx +157 -0
  22. package/admin/src/pages/EmailTemplates/components/{EmailTable.js → EmailTable.jsx} +28 -23
  23. package/admin/src/pages/EmailTemplates/index.jsx +148 -0
  24. package/admin/src/pages/EmailTemplates/utils/schema.js +18 -6
  25. package/admin/src/pages/Providers/index.jsx +260 -0
  26. package/admin/src/pages/Providers/utils/forms.js +23 -11
  27. package/admin/src/pages/Roles/constants.js +7 -0
  28. package/admin/src/pages/Roles/hooks/usePlugins.js +78 -0
  29. package/admin/src/pages/Roles/index.jsx +24 -0
  30. package/admin/src/pages/Roles/pages/CreatePage.jsx +212 -0
  31. package/admin/src/pages/Roles/pages/EditPage.jsx +221 -0
  32. package/admin/src/pages/Roles/pages/ListPage/components/TableBody.jsx +119 -0
  33. package/admin/src/pages/Roles/pages/ListPage/index.jsx +265 -0
  34. package/admin/src/pluginId.js +2 -2
  35. package/admin/src/translations/de.json +27 -2
  36. package/admin/src/translations/en.json +2 -1
  37. package/admin/src/translations/uk.json +41 -4
  38. package/admin/src/translations/zh-Hans.json +80 -80
  39. package/admin/src/utils/formatPluginName.js +1 -1
  40. package/admin/src/utils/index.js +1 -2
  41. package/admin/src/utils/prefixPluginTranslations.js +13 -0
  42. package/dist/admin/components/BoundRoute/getMethodColor.js +49 -0
  43. package/dist/admin/components/BoundRoute/getMethodColor.js.map +1 -0
  44. package/dist/admin/components/BoundRoute/getMethodColor.mjs +47 -0
  45. package/dist/admin/components/BoundRoute/getMethodColor.mjs.map +1 -0
  46. package/dist/admin/components/BoundRoute/index.js +98 -0
  47. package/dist/admin/components/BoundRoute/index.js.map +1 -0
  48. package/dist/admin/components/BoundRoute/index.mjs +96 -0
  49. package/dist/admin/components/BoundRoute/index.mjs.map +1 -0
  50. package/dist/admin/components/FormModal/Input/index.js +123 -0
  51. package/dist/admin/components/FormModal/Input/index.js.map +1 -0
  52. package/dist/admin/components/FormModal/Input/index.mjs +121 -0
  53. package/dist/admin/components/FormModal/Input/index.mjs.map +1 -0
  54. package/dist/admin/components/FormModal/index.js +110 -0
  55. package/dist/admin/components/FormModal/index.js.map +1 -0
  56. package/dist/admin/components/FormModal/index.mjs +108 -0
  57. package/dist/admin/components/FormModal/index.mjs.map +1 -0
  58. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.js +33 -0
  59. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.js.map +1 -0
  60. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.mjs +31 -0
  61. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.mjs.map +1 -0
  62. package/dist/admin/components/Permissions/PermissionRow/SubCategory.js +158 -0
  63. package/dist/admin/components/Permissions/PermissionRow/SubCategory.js.map +1 -0
  64. package/dist/admin/components/Permissions/PermissionRow/SubCategory.mjs +156 -0
  65. package/dist/admin/components/Permissions/PermissionRow/SubCategory.mjs.map +1 -0
  66. package/dist/admin/components/Permissions/PermissionRow/index.js +50 -0
  67. package/dist/admin/components/Permissions/PermissionRow/index.js.map +1 -0
  68. package/dist/admin/components/Permissions/PermissionRow/index.mjs +48 -0
  69. package/dist/admin/components/Permissions/PermissionRow/index.mjs.map +1 -0
  70. package/dist/admin/components/Permissions/index.js +52 -0
  71. package/dist/admin/components/Permissions/index.js.map +1 -0
  72. package/dist/admin/components/Permissions/index.mjs +50 -0
  73. package/dist/admin/components/Permissions/index.mjs.map +1 -0
  74. package/dist/admin/components/Permissions/init.js +15 -0
  75. package/dist/admin/components/Permissions/init.js.map +1 -0
  76. package/dist/admin/components/Permissions/init.mjs +13 -0
  77. package/dist/admin/components/Permissions/init.mjs.map +1 -0
  78. package/dist/admin/components/Permissions/reducer.js +34 -0
  79. package/dist/admin/components/Permissions/reducer.js.map +1 -0
  80. package/dist/admin/components/Permissions/reducer.mjs +31 -0
  81. package/dist/admin/components/Permissions/reducer.mjs.map +1 -0
  82. package/dist/admin/components/Policies/index.js +68 -0
  83. package/dist/admin/components/Policies/index.js.map +1 -0
  84. package/dist/admin/components/Policies/index.mjs +66 -0
  85. package/dist/admin/components/Policies/index.mjs.map +1 -0
  86. package/dist/admin/components/UsersPermissions/index.js +116 -0
  87. package/dist/admin/components/UsersPermissions/index.js.map +1 -0
  88. package/dist/admin/components/UsersPermissions/index.mjs +114 -0
  89. package/dist/admin/components/UsersPermissions/index.mjs.map +1 -0
  90. package/dist/admin/components/UsersPermissions/init.js +13 -0
  91. package/dist/admin/components/UsersPermissions/init.js.map +1 -0
  92. package/dist/admin/components/UsersPermissions/init.mjs +11 -0
  93. package/dist/admin/components/UsersPermissions/init.mjs.map +1 -0
  94. package/dist/admin/components/UsersPermissions/reducer.js +73 -0
  95. package/dist/admin/components/UsersPermissions/reducer.js.map +1 -0
  96. package/dist/admin/components/UsersPermissions/reducer.mjs +68 -0
  97. package/dist/admin/components/UsersPermissions/reducer.mjs.map +1 -0
  98. package/dist/admin/constants.js +81 -0
  99. package/dist/admin/constants.js.map +1 -0
  100. package/dist/admin/constants.mjs +79 -0
  101. package/dist/admin/constants.mjs.map +1 -0
  102. package/dist/admin/contexts/UsersPermissionsContext/index.js +23 -0
  103. package/dist/admin/contexts/UsersPermissionsContext/index.js.map +1 -0
  104. package/dist/admin/contexts/UsersPermissionsContext/index.mjs +19 -0
  105. package/dist/admin/contexts/UsersPermissionsContext/index.mjs.map +1 -0
  106. package/dist/admin/index.js +125 -0
  107. package/dist/admin/index.js.map +1 -0
  108. package/dist/admin/index.mjs +121 -0
  109. package/dist/admin/index.mjs.map +1 -0
  110. package/dist/admin/package.json.js +14 -0
  111. package/dist/admin/package.json.js.map +1 -0
  112. package/dist/admin/package.json.mjs +11 -0
  113. package/dist/admin/package.json.mjs.map +1 -0
  114. package/dist/admin/pages/AdvancedSettings/index.js +195 -0
  115. package/dist/admin/pages/AdvancedSettings/index.js.map +1 -0
  116. package/dist/admin/pages/AdvancedSettings/index.mjs +192 -0
  117. package/dist/admin/pages/AdvancedSettings/index.mjs.map +1 -0
  118. package/dist/admin/pages/AdvancedSettings/utils/layout.js +83 -0
  119. package/dist/admin/pages/AdvancedSettings/utils/layout.js.map +1 -0
  120. package/dist/admin/pages/AdvancedSettings/utils/layout.mjs +81 -0
  121. package/dist/admin/pages/AdvancedSettings/utils/layout.mjs.map +1 -0
  122. package/dist/admin/pages/AdvancedSettings/utils/schema.js +40 -0
  123. package/dist/admin/pages/AdvancedSettings/utils/schema.js.map +1 -0
  124. package/dist/admin/pages/AdvancedSettings/utils/schema.mjs +19 -0
  125. package/dist/admin/pages/AdvancedSettings/utils/schema.mjs.map +1 -0
  126. package/dist/admin/pages/EmailTemplates/components/EmailForm.js +172 -0
  127. package/dist/admin/pages/EmailTemplates/components/EmailForm.js.map +1 -0
  128. package/dist/admin/pages/EmailTemplates/components/EmailForm.mjs +170 -0
  129. package/dist/admin/pages/EmailTemplates/components/EmailForm.mjs.map +1 -0
  130. package/dist/admin/pages/EmailTemplates/components/EmailTable.js +145 -0
  131. package/dist/admin/pages/EmailTemplates/components/EmailTable.js.map +1 -0
  132. package/dist/admin/pages/EmailTemplates/components/EmailTable.mjs +143 -0
  133. package/dist/admin/pages/EmailTemplates/components/EmailTable.mjs.map +1 -0
  134. package/dist/admin/pages/EmailTemplates/index.js +157 -0
  135. package/dist/admin/pages/EmailTemplates/index.js.map +1 -0
  136. package/dist/admin/pages/EmailTemplates/index.mjs +135 -0
  137. package/dist/admin/pages/EmailTemplates/index.mjs.map +1 -0
  138. package/dist/admin/pages/EmailTemplates/utils/schema.js +50 -0
  139. package/dist/admin/pages/EmailTemplates/utils/schema.js.map +1 -0
  140. package/dist/admin/pages/EmailTemplates/utils/schema.mjs +29 -0
  141. package/dist/admin/pages/EmailTemplates/utils/schema.mjs.map +1 -0
  142. package/dist/admin/pages/Providers/index.js +274 -0
  143. package/dist/admin/pages/Providers/index.js.map +1 -0
  144. package/dist/admin/pages/Providers/index.mjs +250 -0
  145. package/dist/admin/pages/Providers/index.mjs.map +1 -0
  146. package/dist/admin/pages/Providers/utils/forms.js +281 -0
  147. package/dist/admin/pages/Providers/utils/forms.js.map +1 -0
  148. package/dist/admin/pages/Providers/utils/forms.mjs +260 -0
  149. package/dist/admin/pages/Providers/utils/forms.mjs.map +1 -0
  150. package/dist/admin/pages/Roles/constants.js +31 -0
  151. package/dist/admin/pages/Roles/constants.js.map +1 -0
  152. package/dist/admin/pages/Roles/constants.mjs +10 -0
  153. package/dist/admin/pages/Roles/constants.mjs.map +1 -0
  154. package/dist/admin/pages/Roles/hooks/usePlugins.js +78 -0
  155. package/dist/admin/pages/Roles/hooks/usePlugins.js.map +1 -0
  156. package/dist/admin/pages/Roles/hooks/usePlugins.mjs +76 -0
  157. package/dist/admin/pages/Roles/hooks/usePlugins.mjs.map +1 -0
  158. package/dist/admin/pages/Roles/index.js +35 -0
  159. package/dist/admin/pages/Roles/index.js.map +1 -0
  160. package/dist/admin/pages/Roles/index.mjs +33 -0
  161. package/dist/admin/pages/Roles/index.mjs.map +1 -0
  162. package/dist/admin/pages/Roles/pages/CreatePage.js +239 -0
  163. package/dist/admin/pages/Roles/pages/CreatePage.js.map +1 -0
  164. package/dist/admin/pages/Roles/pages/CreatePage.mjs +217 -0
  165. package/dist/admin/pages/Roles/pages/CreatePage.mjs.map +1 -0
  166. package/dist/admin/pages/Roles/pages/EditPage.js +240 -0
  167. package/dist/admin/pages/Roles/pages/EditPage.js.map +1 -0
  168. package/dist/admin/pages/Roles/pages/EditPage.mjs +218 -0
  169. package/dist/admin/pages/Roles/pages/EditPage.mjs.map +1 -0
  170. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.js +125 -0
  171. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.js.map +1 -0
  172. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.mjs +123 -0
  173. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.mjs.map +1 -0
  174. package/dist/admin/pages/Roles/pages/ListPage/index.js +234 -0
  175. package/dist/admin/pages/Roles/pages/ListPage/index.js.map +1 -0
  176. package/dist/admin/pages/Roles/pages/ListPage/index.mjs +231 -0
  177. package/dist/admin/pages/Roles/pages/ListPage/index.mjs.map +1 -0
  178. package/dist/admin/pluginId.js +8 -0
  179. package/dist/admin/pluginId.js.map +1 -0
  180. package/dist/admin/pluginId.mjs +6 -0
  181. package/dist/admin/pluginId.mjs.map +1 -0
  182. package/dist/admin/translations/ar.json.js +45 -0
  183. package/dist/admin/translations/ar.json.js.map +1 -0
  184. package/dist/admin/translations/ar.json.mjs +43 -0
  185. package/dist/admin/translations/ar.json.mjs.map +1 -0
  186. package/dist/admin/translations/cs.json.js +51 -0
  187. package/dist/admin/translations/cs.json.js.map +1 -0
  188. package/dist/admin/translations/cs.json.mjs +49 -0
  189. package/dist/admin/translations/cs.json.mjs.map +1 -0
  190. package/dist/admin/translations/de.json.js +88 -0
  191. package/dist/admin/translations/de.json.js.map +1 -0
  192. package/dist/admin/translations/de.json.mjs +86 -0
  193. package/dist/admin/translations/de.json.mjs.map +1 -0
  194. package/dist/admin/translations/dk.json.js +87 -0
  195. package/dist/admin/translations/dk.json.js.map +1 -0
  196. package/dist/admin/translations/dk.json.mjs +85 -0
  197. package/dist/admin/translations/dk.json.mjs.map +1 -0
  198. package/dist/admin/translations/en.json.js +88 -0
  199. package/dist/admin/translations/en.json.js.map +1 -0
  200. package/dist/admin/translations/en.json.mjs +86 -0
  201. package/dist/admin/translations/en.json.mjs.map +1 -0
  202. package/dist/admin/translations/es.json.js +87 -0
  203. package/dist/admin/translations/es.json.js.map +1 -0
  204. package/dist/admin/translations/es.json.mjs +85 -0
  205. package/dist/admin/translations/es.json.mjs.map +1 -0
  206. package/dist/admin/translations/fr.json.js +51 -0
  207. package/dist/admin/translations/fr.json.js.map +1 -0
  208. package/dist/admin/translations/fr.json.mjs +49 -0
  209. package/dist/admin/translations/fr.json.mjs.map +1 -0
  210. package/dist/admin/translations/id.json.js +63 -0
  211. package/dist/admin/translations/id.json.js.map +1 -0
  212. package/dist/admin/translations/id.json.mjs +61 -0
  213. package/dist/admin/translations/id.json.mjs.map +1 -0
  214. package/dist/admin/translations/it.json.js +63 -0
  215. package/dist/admin/translations/it.json.js.map +1 -0
  216. package/dist/admin/translations/it.json.mjs +61 -0
  217. package/dist/admin/translations/it.json.mjs.map +1 -0
  218. package/dist/admin/translations/ja.json.js +49 -0
  219. package/dist/admin/translations/ja.json.js.map +1 -0
  220. package/dist/admin/translations/ja.json.mjs +47 -0
  221. package/dist/admin/translations/ja.json.mjs.map +1 -0
  222. package/dist/admin/translations/ko.json.js +87 -0
  223. package/dist/admin/translations/ko.json.js.map +1 -0
  224. package/dist/admin/translations/ko.json.mjs +85 -0
  225. package/dist/admin/translations/ko.json.mjs.map +1 -0
  226. package/dist/admin/translations/ms.json.js +50 -0
  227. package/dist/admin/translations/ms.json.js.map +1 -0
  228. package/dist/admin/translations/ms.json.mjs +48 -0
  229. package/dist/admin/translations/ms.json.mjs.map +1 -0
  230. package/dist/admin/translations/nl.json.js +49 -0
  231. package/dist/admin/translations/nl.json.js.map +1 -0
  232. package/dist/admin/translations/nl.json.mjs +47 -0
  233. package/dist/admin/translations/nl.json.mjs.map +1 -0
  234. package/dist/admin/translations/pl.json.js +87 -0
  235. package/dist/admin/translations/pl.json.js.map +1 -0
  236. package/dist/admin/translations/pl.json.mjs +85 -0
  237. package/dist/admin/translations/pl.json.mjs.map +1 -0
  238. package/dist/admin/translations/pt-BR.json.js +45 -0
  239. package/dist/admin/translations/pt-BR.json.js.map +1 -0
  240. package/dist/admin/translations/pt-BR.json.mjs +43 -0
  241. package/dist/admin/translations/pt-BR.json.mjs.map +1 -0
  242. package/dist/admin/translations/pt.json.js +49 -0
  243. package/dist/admin/translations/pt.json.js.map +1 -0
  244. package/dist/admin/translations/pt.json.mjs +47 -0
  245. package/dist/admin/translations/pt.json.mjs.map +1 -0
  246. package/dist/admin/translations/ru.json.js +87 -0
  247. package/dist/admin/translations/ru.json.js.map +1 -0
  248. package/dist/admin/translations/ru.json.mjs +85 -0
  249. package/dist/admin/translations/ru.json.mjs.map +1 -0
  250. package/dist/admin/translations/sk.json.js +51 -0
  251. package/dist/admin/translations/sk.json.js.map +1 -0
  252. package/dist/admin/translations/sk.json.mjs +49 -0
  253. package/dist/admin/translations/sk.json.mjs.map +1 -0
  254. package/dist/admin/translations/sv.json.js +87 -0
  255. package/dist/admin/translations/sv.json.js.map +1 -0
  256. package/dist/admin/translations/sv.json.mjs +85 -0
  257. package/dist/admin/translations/sv.json.mjs.map +1 -0
  258. package/dist/admin/translations/th.json.js +61 -0
  259. package/dist/admin/translations/th.json.js.map +1 -0
  260. package/dist/admin/translations/th.json.mjs +59 -0
  261. package/dist/admin/translations/th.json.mjs.map +1 -0
  262. package/dist/admin/translations/tr.json.js +86 -0
  263. package/dist/admin/translations/tr.json.js.map +1 -0
  264. package/dist/admin/translations/tr.json.mjs +84 -0
  265. package/dist/admin/translations/tr.json.mjs.map +1 -0
  266. package/dist/admin/translations/uk.json.js +87 -0
  267. package/dist/admin/translations/uk.json.js.map +1 -0
  268. package/dist/admin/translations/uk.json.mjs +85 -0
  269. package/dist/admin/translations/uk.json.mjs.map +1 -0
  270. package/dist/admin/translations/vi.json.js +51 -0
  271. package/dist/admin/translations/vi.json.js.map +1 -0
  272. package/dist/admin/translations/vi.json.mjs +49 -0
  273. package/dist/admin/translations/vi.json.mjs.map +1 -0
  274. package/dist/admin/translations/zh-Hans.json.js +87 -0
  275. package/dist/admin/translations/zh-Hans.json.js.map +1 -0
  276. package/dist/admin/translations/zh-Hans.json.mjs +85 -0
  277. package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
  278. package/dist/admin/translations/zh.json.js +87 -0
  279. package/dist/admin/translations/zh.json.js.map +1 -0
  280. package/dist/admin/translations/zh.json.mjs +85 -0
  281. package/dist/admin/translations/zh.json.mjs.map +1 -0
  282. package/dist/admin/utils/cleanPermissions.js +24 -0
  283. package/dist/admin/utils/cleanPermissions.js.map +1 -0
  284. package/dist/admin/utils/cleanPermissions.mjs +22 -0
  285. package/dist/admin/utils/cleanPermissions.mjs.map +1 -0
  286. package/dist/admin/utils/formatPluginName.js +29 -0
  287. package/dist/admin/utils/formatPluginName.js.map +1 -0
  288. package/dist/admin/utils/formatPluginName.mjs +27 -0
  289. package/dist/admin/utils/formatPluginName.mjs.map +1 -0
  290. package/dist/admin/utils/getTrad.js +8 -0
  291. package/dist/admin/utils/getTrad.js.map +1 -0
  292. package/dist/admin/utils/getTrad.mjs +6 -0
  293. package/dist/admin/utils/getTrad.mjs.map +1 -0
  294. package/dist/admin/utils/prefixPluginTranslations.js +11 -0
  295. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
  296. package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
  297. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
  298. package/dist/server/_virtual/_commonjsHelpers.js +8 -0
  299. package/dist/server/_virtual/_commonjsHelpers.js.map +1 -0
  300. package/dist/server/_virtual/_commonjsHelpers.mjs +6 -0
  301. package/dist/server/_virtual/_commonjsHelpers.mjs.map +1 -0
  302. package/dist/server/bootstrap/index.js +166 -0
  303. package/dist/server/bootstrap/index.js.map +1 -0
  304. package/dist/server/bootstrap/index.mjs +164 -0
  305. package/dist/server/bootstrap/index.mjs.map +1 -0
  306. package/dist/server/bootstrap/users-permissions-actions.js +98 -0
  307. package/dist/server/bootstrap/users-permissions-actions.js.map +1 -0
  308. package/dist/server/bootstrap/users-permissions-actions.mjs +96 -0
  309. package/dist/server/bootstrap/users-permissions-actions.mjs.map +1 -0
  310. package/dist/server/config.js +70 -0
  311. package/dist/server/config.js.map +1 -0
  312. package/dist/server/config.mjs +68 -0
  313. package/dist/server/config.mjs.map +1 -0
  314. package/dist/server/content-types/index.js +30 -0
  315. package/dist/server/content-types/index.js.map +1 -0
  316. package/dist/server/content-types/index.mjs +28 -0
  317. package/dist/server/content-types/index.mjs.map +1 -0
  318. package/dist/server/content-types/permission/index.js +44 -0
  319. package/dist/server/content-types/permission/index.js.map +1 -0
  320. package/dist/server/content-types/permission/index.mjs +42 -0
  321. package/dist/server/content-types/permission/index.mjs.map +1 -0
  322. package/dist/server/content-types/role/index.js +61 -0
  323. package/dist/server/content-types/role/index.js.map +1 -0
  324. package/dist/server/content-types/role/index.mjs +59 -0
  325. package/dist/server/content-types/role/index.mjs.map +1 -0
  326. package/dist/server/content-types/user/index.js +84 -0
  327. package/dist/server/content-types/user/index.js.map +1 -0
  328. package/dist/server/content-types/user/index.mjs +82 -0
  329. package/dist/server/content-types/user/index.mjs.map +1 -0
  330. package/dist/server/content-types/user/schema-config.js +25 -0
  331. package/dist/server/content-types/user/schema-config.js.map +1 -0
  332. package/dist/server/content-types/user/schema-config.mjs +23 -0
  333. package/dist/server/content-types/user/schema-config.mjs.map +1 -0
  334. package/dist/server/controllers/auth.js +630 -0
  335. package/dist/server/controllers/auth.js.map +1 -0
  336. package/dist/server/controllers/auth.mjs +628 -0
  337. package/dist/server/controllers/auth.mjs.map +1 -0
  338. package/dist/server/controllers/content-manager-user.js +168 -0
  339. package/dist/server/controllers/content-manager-user.js.map +1 -0
  340. package/dist/server/controllers/content-manager-user.mjs +166 -0
  341. package/dist/server/controllers/content-manager-user.mjs.map +1 -0
  342. package/dist/server/controllers/index.js +33 -0
  343. package/dist/server/controllers/index.js.map +1 -0
  344. package/dist/server/controllers/index.mjs +31 -0
  345. package/dist/server/controllers/index.mjs.map +1 -0
  346. package/dist/server/controllers/permissions.js +37 -0
  347. package/dist/server/controllers/permissions.js.map +1 -0
  348. package/dist/server/controllers/permissions.mjs +35 -0
  349. package/dist/server/controllers/permissions.mjs.map +1 -0
  350. package/dist/server/controllers/role.js +91 -0
  351. package/dist/server/controllers/role.js.map +1 -0
  352. package/dist/server/controllers/role.mjs +89 -0
  353. package/dist/server/controllers/role.mjs.map +1 -0
  354. package/dist/server/controllers/settings.js +107 -0
  355. package/dist/server/controllers/settings.js.map +1 -0
  356. package/dist/server/controllers/settings.mjs +105 -0
  357. package/dist/server/controllers/settings.mjs.map +1 -0
  358. package/dist/server/controllers/user.js +201 -0
  359. package/dist/server/controllers/user.js.map +1 -0
  360. package/dist/server/controllers/user.mjs +199 -0
  361. package/dist/server/controllers/user.mjs.map +1 -0
  362. package/dist/server/controllers/validation/auth.js +131 -0
  363. package/dist/server/controllers/validation/auth.js.map +1 -0
  364. package/dist/server/controllers/validation/auth.mjs +129 -0
  365. package/dist/server/controllers/validation/auth.mjs.map +1 -0
  366. package/dist/server/controllers/validation/email-template.js +72 -0
  367. package/dist/server/controllers/validation/email-template.js.map +1 -0
  368. package/dist/server/controllers/validation/email-template.mjs +70 -0
  369. package/dist/server/controllers/validation/email-template.mjs.map +1 -0
  370. package/dist/server/controllers/validation/user.js +54 -0
  371. package/dist/server/controllers/validation/user.js.map +1 -0
  372. package/dist/server/controllers/validation/user.mjs +52 -0
  373. package/dist/server/controllers/validation/user.mjs.map +1 -0
  374. package/dist/server/graphql/index.js +66 -0
  375. package/dist/server/graphql/index.js.map +1 -0
  376. package/dist/server/graphql/index.mjs +64 -0
  377. package/dist/server/graphql/index.mjs.map +1 -0
  378. package/dist/server/graphql/mutations/auth/change-password.js +40 -0
  379. package/dist/server/graphql/mutations/auth/change-password.js.map +1 -0
  380. package/dist/server/graphql/mutations/auth/change-password.mjs +38 -0
  381. package/dist/server/graphql/mutations/auth/change-password.mjs.map +1 -0
  382. package/dist/server/graphql/mutations/auth/email-confirmation.js +38 -0
  383. package/dist/server/graphql/mutations/auth/email-confirmation.js.map +1 -0
  384. package/dist/server/graphql/mutations/auth/email-confirmation.mjs +36 -0
  385. package/dist/server/graphql/mutations/auth/email-confirmation.mjs.map +1 -0
  386. package/dist/server/graphql/mutations/auth/forgot-password.js +37 -0
  387. package/dist/server/graphql/mutations/auth/forgot-password.js.map +1 -0
  388. package/dist/server/graphql/mutations/auth/forgot-password.mjs +35 -0
  389. package/dist/server/graphql/mutations/auth/forgot-password.mjs.map +1 -0
  390. package/dist/server/graphql/mutations/auth/login.js +40 -0
  391. package/dist/server/graphql/mutations/auth/login.js.map +1 -0
  392. package/dist/server/graphql/mutations/auth/login.mjs +38 -0
  393. package/dist/server/graphql/mutations/auth/login.mjs.map +1 -0
  394. package/dist/server/graphql/mutations/auth/register.js +38 -0
  395. package/dist/server/graphql/mutations/auth/register.js.map +1 -0
  396. package/dist/server/graphql/mutations/auth/register.mjs +36 -0
  397. package/dist/server/graphql/mutations/auth/register.mjs.map +1 -0
  398. package/dist/server/graphql/mutations/auth/reset-password.js +40 -0
  399. package/dist/server/graphql/mutations/auth/reset-password.js.map +1 -0
  400. package/dist/server/graphql/mutations/auth/reset-password.mjs +38 -0
  401. package/dist/server/graphql/mutations/auth/reset-password.mjs.map +1 -0
  402. package/dist/server/graphql/mutations/crud/role/create-role.js +37 -0
  403. package/dist/server/graphql/mutations/crud/role/create-role.js.map +1 -0
  404. package/dist/server/graphql/mutations/crud/role/create-role.mjs +35 -0
  405. package/dist/server/graphql/mutations/crud/role/create-role.mjs.map +1 -0
  406. package/dist/server/graphql/mutations/crud/role/delete-role.js +32 -0
  407. package/dist/server/graphql/mutations/crud/role/delete-role.js.map +1 -0
  408. package/dist/server/graphql/mutations/crud/role/delete-role.mjs +30 -0
  409. package/dist/server/graphql/mutations/crud/role/delete-role.mjs.map +1 -0
  410. package/dist/server/graphql/mutations/crud/role/update-role.js +39 -0
  411. package/dist/server/graphql/mutations/crud/role/update-role.js.map +1 -0
  412. package/dist/server/graphql/mutations/crud/role/update-role.mjs +37 -0
  413. package/dist/server/graphql/mutations/crud/role/update-role.mjs.map +1 -0
  414. package/dist/server/graphql/mutations/crud/user/create-user.js +46 -0
  415. package/dist/server/graphql/mutations/crud/user/create-user.js.map +1 -0
  416. package/dist/server/graphql/mutations/crud/user/create-user.mjs +44 -0
  417. package/dist/server/graphql/mutations/crud/user/create-user.mjs.map +1 -0
  418. package/dist/server/graphql/mutations/crud/user/delete-user.js +44 -0
  419. package/dist/server/graphql/mutations/crud/user/delete-user.js.map +1 -0
  420. package/dist/server/graphql/mutations/crud/user/delete-user.mjs +42 -0
  421. package/dist/server/graphql/mutations/crud/user/delete-user.mjs.map +1 -0
  422. package/dist/server/graphql/mutations/crud/user/update-user.js +49 -0
  423. package/dist/server/graphql/mutations/crud/user/update-user.js.map +1 -0
  424. package/dist/server/graphql/mutations/crud/user/update-user.mjs +47 -0
  425. package/dist/server/graphql/mutations/crud/user/update-user.mjs.map +1 -0
  426. package/dist/server/graphql/mutations/index.js +58 -0
  427. package/dist/server/graphql/mutations/index.js.map +1 -0
  428. package/dist/server/graphql/mutations/index.mjs +56 -0
  429. package/dist/server/graphql/mutations/index.mjs.map +1 -0
  430. package/dist/server/graphql/queries/index.js +25 -0
  431. package/dist/server/graphql/queries/index.js.map +1 -0
  432. package/dist/server/graphql/queries/index.mjs +23 -0
  433. package/dist/server/graphql/queries/index.mjs.map +1 -0
  434. package/dist/server/graphql/queries/me.js +23 -0
  435. package/dist/server/graphql/queries/me.js.map +1 -0
  436. package/dist/server/graphql/queries/me.mjs +21 -0
  437. package/dist/server/graphql/queries/me.mjs.map +1 -0
  438. package/dist/server/graphql/resolvers-configs.js +93 -0
  439. package/dist/server/graphql/resolvers-configs.js.map +1 -0
  440. package/dist/server/graphql/resolvers-configs.mjs +91 -0
  441. package/dist/server/graphql/resolvers-configs.mjs.map +1 -0
  442. package/dist/server/graphql/types/create-role-payload.js +20 -0
  443. package/dist/server/graphql/types/create-role-payload.js.map +1 -0
  444. package/dist/server/graphql/types/create-role-payload.mjs +18 -0
  445. package/dist/server/graphql/types/create-role-payload.mjs.map +1 -0
  446. package/dist/server/graphql/types/delete-role-payload.js +20 -0
  447. package/dist/server/graphql/types/delete-role-payload.js.map +1 -0
  448. package/dist/server/graphql/types/delete-role-payload.mjs +18 -0
  449. package/dist/server/graphql/types/delete-role-payload.mjs.map +1 -0
  450. package/dist/server/graphql/types/index.js +41 -0
  451. package/dist/server/graphql/types/index.js.map +1 -0
  452. package/dist/server/graphql/types/index.mjs +39 -0
  453. package/dist/server/graphql/types/index.mjs.map +1 -0
  454. package/dist/server/graphql/types/login-input.js +24 -0
  455. package/dist/server/graphql/types/login-input.js.map +1 -0
  456. package/dist/server/graphql/types/login-input.mjs +22 -0
  457. package/dist/server/graphql/types/login-input.mjs.map +1 -0
  458. package/dist/server/graphql/types/login-payload.js +23 -0
  459. package/dist/server/graphql/types/login-payload.js.map +1 -0
  460. package/dist/server/graphql/types/login-payload.mjs +21 -0
  461. package/dist/server/graphql/types/login-payload.mjs.map +1 -0
  462. package/dist/server/graphql/types/me-role.js +23 -0
  463. package/dist/server/graphql/types/me-role.js.map +1 -0
  464. package/dist/server/graphql/types/me-role.mjs +21 -0
  465. package/dist/server/graphql/types/me-role.mjs.map +1 -0
  466. package/dist/server/graphql/types/me.js +28 -0
  467. package/dist/server/graphql/types/me.js.map +1 -0
  468. package/dist/server/graphql/types/me.mjs +26 -0
  469. package/dist/server/graphql/types/me.mjs.map +1 -0
  470. package/dist/server/graphql/types/password-payload.js +20 -0
  471. package/dist/server/graphql/types/password-payload.js.map +1 -0
  472. package/dist/server/graphql/types/password-payload.mjs +18 -0
  473. package/dist/server/graphql/types/password-payload.mjs.map +1 -0
  474. package/dist/server/graphql/types/register-input.js +22 -0
  475. package/dist/server/graphql/types/register-input.js.map +1 -0
  476. package/dist/server/graphql/types/register-input.mjs +20 -0
  477. package/dist/server/graphql/types/register-input.mjs.map +1 -0
  478. package/dist/server/graphql/types/update-role-payload.js +20 -0
  479. package/dist/server/graphql/types/update-role-payload.js.map +1 -0
  480. package/dist/server/graphql/types/update-role-payload.mjs +18 -0
  481. package/dist/server/graphql/types/update-role-payload.mjs.map +1 -0
  482. package/dist/server/graphql/types/user-input.js +26 -0
  483. package/dist/server/graphql/types/user-input.js.map +1 -0
  484. package/dist/server/graphql/types/user-input.mjs +24 -0
  485. package/dist/server/graphql/types/user-input.mjs.map +1 -0
  486. package/dist/server/graphql/utils.js +32 -0
  487. package/dist/server/graphql/utils.js.map +1 -0
  488. package/dist/server/graphql/utils.mjs +30 -0
  489. package/dist/server/graphql/utils.mjs.map +1 -0
  490. package/dist/server/index.js +10 -0
  491. package/dist/server/index.js.map +1 -0
  492. package/dist/server/index.mjs +8 -0
  493. package/dist/server/index.mjs.map +1 -0
  494. package/dist/server/index2.js +39 -0
  495. package/dist/server/index2.js.map +1 -0
  496. package/dist/server/index2.mjs +37 -0
  497. package/dist/server/index2.mjs.map +1 -0
  498. package/dist/server/middlewares/index.js +18 -0
  499. package/dist/server/middlewares/index.js.map +1 -0
  500. package/dist/server/middlewares/index.mjs +16 -0
  501. package/dist/server/middlewares/index.mjs.map +1 -0
  502. package/dist/server/middlewares/rateLimit.js +51 -0
  503. package/dist/server/middlewares/rateLimit.js.map +1 -0
  504. package/dist/server/middlewares/rateLimit.mjs +49 -0
  505. package/dist/server/middlewares/rateLimit.mjs.map +1 -0
  506. package/dist/server/register.js +41 -0
  507. package/dist/server/register.js.map +1 -0
  508. package/dist/server/register.mjs +39 -0
  509. package/dist/server/register.mjs.map +1 -0
  510. package/dist/server/routes/admin/index.js +27 -0
  511. package/dist/server/routes/admin/index.js.map +1 -0
  512. package/dist/server/routes/admin/index.mjs +25 -0
  513. package/dist/server/routes/admin/index.mjs.map +1 -0
  514. package/dist/server/routes/admin/permissions.js +29 -0
  515. package/dist/server/routes/admin/permissions.js.map +1 -0
  516. package/dist/server/routes/admin/permissions.mjs +27 -0
  517. package/dist/server/routes/admin/permissions.mjs.map +1 -0
  518. package/dist/server/routes/admin/role.js +99 -0
  519. package/dist/server/routes/admin/role.js.map +1 -0
  520. package/dist/server/routes/admin/role.mjs +97 -0
  521. package/dist/server/routes/admin/role.mjs.map +1 -0
  522. package/dist/server/routes/admin/settings.js +116 -0
  523. package/dist/server/routes/admin/settings.js.map +1 -0
  524. package/dist/server/routes/admin/settings.mjs +114 -0
  525. package/dist/server/routes/admin/settings.mjs.map +1 -0
  526. package/dist/server/routes/content-api/auth.js +168 -0
  527. package/dist/server/routes/content-api/auth.js.map +1 -0
  528. package/dist/server/routes/content-api/auth.mjs +166 -0
  529. package/dist/server/routes/content-api/auth.mjs.map +1 -0
  530. package/dist/server/routes/content-api/index.js +32 -0
  531. package/dist/server/routes/content-api/index.js.map +1 -0
  532. package/dist/server/routes/content-api/index.mjs +30 -0
  533. package/dist/server/routes/content-api/index.mjs.map +1 -0
  534. package/dist/server/routes/content-api/permissions.js +26 -0
  535. package/dist/server/routes/content-api/permissions.js.map +1 -0
  536. package/dist/server/routes/content-api/permissions.mjs +24 -0
  537. package/dist/server/routes/content-api/permissions.mjs.map +1 -0
  538. package/dist/server/routes/content-api/role.js +73 -0
  539. package/dist/server/routes/content-api/role.js.map +1 -0
  540. package/dist/server/routes/content-api/role.mjs +71 -0
  541. package/dist/server/routes/content-api/role.mjs.map +1 -0
  542. package/dist/server/routes/content-api/user.js +132 -0
  543. package/dist/server/routes/content-api/user.js.map +1 -0
  544. package/dist/server/routes/content-api/user.mjs +130 -0
  545. package/dist/server/routes/content-api/user.mjs.map +1 -0
  546. package/dist/server/routes/content-api/validation.js +217 -0
  547. package/dist/server/routes/content-api/validation.js.map +1 -0
  548. package/dist/server/routes/content-api/validation.mjs +215 -0
  549. package/dist/server/routes/content-api/validation.mjs.map +1 -0
  550. package/dist/server/routes/index.js +19 -0
  551. package/dist/server/routes/index.js.map +1 -0
  552. package/dist/server/routes/index.mjs +17 -0
  553. package/dist/server/routes/index.mjs.map +1 -0
  554. package/dist/server/services/constants.js +19 -0
  555. package/dist/server/services/constants.js.map +1 -0
  556. package/dist/server/services/constants.mjs +17 -0
  557. package/dist/server/services/constants.mjs.map +1 -0
  558. package/dist/server/services/index.js +36 -0
  559. package/dist/server/services/index.js.map +1 -0
  560. package/dist/server/services/index.mjs +34 -0
  561. package/dist/server/services/index.mjs.map +1 -0
  562. package/dist/server/services/jwt.js +93 -0
  563. package/dist/server/services/jwt.js.map +1 -0
  564. package/dist/server/services/jwt.mjs +91 -0
  565. package/dist/server/services/jwt.mjs.map +1 -0
  566. package/dist/server/services/permission.js +52 -0
  567. package/dist/server/services/permission.js.map +1 -0
  568. package/dist/server/services/permission.mjs +50 -0
  569. package/dist/server/services/permission.mjs.map +1 -0
  570. package/dist/server/services/providers-registry.js +555 -0
  571. package/dist/server/services/providers-registry.js.map +1 -0
  572. package/dist/server/services/providers-registry.mjs +553 -0
  573. package/dist/server/services/providers-registry.mjs.map +1 -0
  574. package/dist/server/services/providers.js +111 -0
  575. package/dist/server/services/providers.js.map +1 -0
  576. package/dist/server/services/providers.mjs +109 -0
  577. package/dist/server/services/providers.mjs.map +1 -0
  578. package/dist/server/services/role.js +186 -0
  579. package/dist/server/services/role.js.map +1 -0
  580. package/dist/server/services/role.mjs +184 -0
  581. package/dist/server/services/role.mjs.map +1 -0
  582. package/dist/server/services/user.js +188 -0
  583. package/dist/server/services/user.js.map +1 -0
  584. package/dist/server/services/user.mjs +186 -0
  585. package/dist/server/services/user.mjs.map +1 -0
  586. package/dist/server/services/users-permissions.js +256 -0
  587. package/dist/server/services/users-permissions.js.map +1 -0
  588. package/dist/server/services/users-permissions.mjs +254 -0
  589. package/dist/server/services/users-permissions.mjs.map +1 -0
  590. package/dist/server/strategies/users-permissions.js +114 -0
  591. package/dist/server/strategies/users-permissions.js.map +1 -0
  592. package/dist/server/strategies/users-permissions.mjs +112 -0
  593. package/dist/server/strategies/users-permissions.mjs.map +1 -0
  594. package/dist/server/utils/index.js +22 -0
  595. package/dist/server/utils/index.js.map +1 -0
  596. package/dist/server/utils/index.mjs +20 -0
  597. package/dist/server/utils/index.mjs.map +1 -0
  598. package/dist/server/utils/sanitize/index.js +21 -0
  599. package/dist/server/utils/sanitize/index.js.map +1 -0
  600. package/dist/server/utils/sanitize/index.mjs +19 -0
  601. package/dist/server/utils/sanitize/index.mjs.map +1 -0
  602. package/dist/server/utils/sanitize/sanitizers.js +32 -0
  603. package/dist/server/utils/sanitize/sanitizers.js.map +1 -0
  604. package/dist/server/utils/sanitize/sanitizers.mjs +30 -0
  605. package/dist/server/utils/sanitize/sanitizers.mjs.map +1 -0
  606. package/dist/server/utils/sanitize/visitors/index.js +17 -0
  607. package/dist/server/utils/sanitize/visitors/index.js.map +1 -0
  608. package/dist/server/utils/sanitize/visitors/index.mjs +15 -0
  609. package/dist/server/utils/sanitize/visitors/index.mjs.map +1 -0
  610. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js +17 -0
  611. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js.map +1 -0
  612. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.mjs +15 -0
  613. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.mjs.map +1 -0
  614. package/documentation/content-api.yaml +1 -1
  615. package/jest.config.front.js +1 -0
  616. package/package.json +51 -32
  617. package/rollup.config.mjs +19 -0
  618. package/server/bootstrap/index.js +49 -15
  619. package/server/bootstrap/users-permissions-actions.js +6 -0
  620. package/server/config.js +51 -0
  621. package/server/content-types/user/index.js +0 -1
  622. package/server/controllers/auth.js +321 -47
  623. package/server/controllers/content-manager-user.js +31 -34
  624. package/server/controllers/role.js +17 -4
  625. package/server/controllers/user.js +18 -8
  626. package/server/controllers/validation/auth.js +104 -25
  627. package/server/controllers/validation/user.js +12 -1
  628. package/server/graphql/types/index.js +1 -0
  629. package/server/graphql/types/me.js +1 -0
  630. package/server/graphql/types/user-input.js +20 -0
  631. package/server/middlewares/rateLimit.js +41 -21
  632. package/server/register.js +2 -2
  633. package/server/routes/content-api/auth.js +119 -71
  634. package/server/routes/content-api/index.js +11 -4
  635. package/server/routes/content-api/permissions.js +14 -7
  636. package/server/routes/content-api/role.js +57 -27
  637. package/server/routes/content-api/user.js +108 -51
  638. package/server/routes/content-api/validation.js +250 -0
  639. package/server/services/constants.js +9 -0
  640. package/server/services/jwt.js +53 -5
  641. package/server/services/permission.js +3 -7
  642. package/server/services/providers-registry.js +469 -261
  643. package/server/services/providers.js +10 -5
  644. package/server/services/role.js +15 -13
  645. package/server/services/user.js +67 -19
  646. package/server/services/users-permissions.js +21 -15
  647. package/server/strategies/users-permissions.js +1 -8
  648. package/server/utils/index.d.ts +2 -1
  649. package/server/utils/sanitize/sanitizers.js +7 -3
  650. package/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js +2 -2
  651. package/.eslintrc.js +0 -14
  652. package/admin/src/components/FormModal/index.js +0 -123
  653. package/admin/src/components/Permissions/index.js +0 -54
  654. package/admin/src/hooks/index.js +0 -5
  655. package/admin/src/hooks/useFetchRole/index.js +0 -64
  656. package/admin/src/hooks/useFetchRole/reducer.js +0 -31
  657. package/admin/src/hooks/useForm/index.js +0 -67
  658. package/admin/src/hooks/useForm/reducer.js +0 -40
  659. package/admin/src/hooks/usePlugins/index.js +0 -67
  660. package/admin/src/hooks/usePlugins/init.js +0 -5
  661. package/admin/src/hooks/usePlugins/reducer.js +0 -34
  662. package/admin/src/hooks/useRolesList/index.js +0 -62
  663. package/admin/src/hooks/useRolesList/init.js +0 -5
  664. package/admin/src/hooks/useRolesList/reducer.js +0 -31
  665. package/admin/src/pages/AdvancedSettings/index.js +0 -243
  666. package/admin/src/pages/AdvancedSettings/utils/api.js +0 -17
  667. package/admin/src/pages/EmailTemplates/components/EmailForm.js +0 -175
  668. package/admin/src/pages/EmailTemplates/index.js +0 -160
  669. package/admin/src/pages/EmailTemplates/utils/api.js +0 -17
  670. package/admin/src/pages/Providers/index.js +0 -272
  671. package/admin/src/pages/Providers/reducer.js +0 -54
  672. package/admin/src/pages/Providers/utils/api.js +0 -25
  673. package/admin/src/pages/Providers/utils/createProvidersArray.js +0 -21
  674. package/admin/src/pages/Roles/CreatePage/index.js +0 -182
  675. package/admin/src/pages/Roles/CreatePage/utils/schema.js +0 -9
  676. package/admin/src/pages/Roles/EditPage/index.js +0 -194
  677. package/admin/src/pages/Roles/EditPage/utils/schema.js +0 -9
  678. package/admin/src/pages/Roles/ListPage/components/TableBody.js +0 -92
  679. package/admin/src/pages/Roles/ListPage/index.js +0 -241
  680. package/admin/src/pages/Roles/ListPage/utils/api.js +0 -31
  681. package/admin/src/pages/Roles/ProtectedCreatePage/index.js +0 -12
  682. package/admin/src/pages/Roles/ProtectedEditPage/index.js +0 -12
  683. package/admin/src/pages/Roles/ProtectedListPage/index.js +0 -15
  684. package/admin/src/pages/Roles/index.js +0 -27
  685. package/admin/src/utils/getRequestURL.js +0 -5
  686. package/server/bootstrap/grant-config.js +0 -131
  687. package/strapi-admin.js +0 -3
  688. package/strapi-server.js +0 -3
@@ -1,194 +0,0 @@
1
- import React, { useState, useRef } from 'react';
2
- import { Formik } from 'formik';
3
- import { useIntl } from 'react-intl';
4
- import { useRouteMatch } from 'react-router-dom';
5
- import {
6
- useFetchClient,
7
- useOverlayBlocker,
8
- SettingsPageTitle,
9
- LoadingIndicatorPage,
10
- Form,
11
- useNotification,
12
- Link,
13
- } from '@strapi/helper-plugin';
14
- import {
15
- ContentLayout,
16
- HeaderLayout,
17
- Main,
18
- Button,
19
- Flex,
20
- Box,
21
- TextInput,
22
- Textarea,
23
- Typography,
24
- GridItem,
25
- Grid,
26
- } from '@strapi/design-system';
27
- import { ArrowLeft, Check } from '@strapi/icons';
28
- import UsersPermissions from '../../../components/UsersPermissions';
29
- import getTrad from '../../../utils/getTrad';
30
- import pluginId from '../../../pluginId';
31
- import { usePlugins, useFetchRole } from '../../../hooks';
32
- import schema from './utils/schema';
33
-
34
- const EditPage = () => {
35
- const { formatMessage } = useIntl();
36
- const [isSubmitting, setIsSubmitting] = useState(false);
37
- const toggleNotification = useNotification();
38
- const { lockApp, unlockApp } = useOverlayBlocker();
39
- const {
40
- params: { id },
41
- } = useRouteMatch(`/settings/${pluginId}/roles/:id`);
42
- const { isLoading: isLoadingPlugins, routes } = usePlugins();
43
- const { role, onSubmitSucceeded, isLoading: isLoadingRole } = useFetchRole(id);
44
- const permissionsRef = useRef();
45
- const { put } = useFetchClient();
46
-
47
- const handleEditRoleSubmit = async (data) => {
48
- // Set loading state
49
- lockApp();
50
- setIsSubmitting(true);
51
- try {
52
- const permissions = permissionsRef.current.getPermissions();
53
- // Update role in Strapi
54
- await put(`/${pluginId}/roles/${id}`, { ...data, ...permissions, users: [] });
55
- // Notify success
56
- onSubmitSucceeded({ name: data.name, description: data.description });
57
- toggleNotification({
58
- type: 'success',
59
- message: {
60
- id: getTrad('Settings.roles.edited'),
61
- defaultMessage: 'Role edited',
62
- },
63
- });
64
- } catch (err) {
65
- console.error(err);
66
- toggleNotification({
67
- type: 'warning',
68
- message: {
69
- id: 'notification.error',
70
- defaultMessage: 'An error occurred',
71
- },
72
- });
73
- }
74
- // Unset loading state
75
- setIsSubmitting(false);
76
- unlockApp();
77
- };
78
-
79
- if (isLoadingRole) {
80
- return <LoadingIndicatorPage />;
81
- }
82
-
83
- return (
84
- <Main>
85
- <SettingsPageTitle name="Roles" />
86
- <Formik
87
- enableReinitialize
88
- initialValues={{ name: role.name, description: role.description }}
89
- onSubmit={handleEditRoleSubmit}
90
- validationSchema={schema}
91
- >
92
- {({ handleSubmit, values, handleChange, errors }) => (
93
- <Form noValidate onSubmit={handleSubmit}>
94
- <HeaderLayout
95
- primaryAction={
96
- !isLoadingPlugins && (
97
- <Button
98
- disabled={role.code === 'strapi-super-admin'}
99
- type="submit"
100
- loading={isSubmitting}
101
- startIcon={<Check />}
102
- >
103
- {formatMessage({
104
- id: 'global.save',
105
- defaultMessage: 'Save',
106
- })}
107
- </Button>
108
- )
109
- }
110
- title={role.name}
111
- subtitle={role.description}
112
- navigationAction={
113
- <Link startIcon={<ArrowLeft />} to="/settings/users-permissions/roles">
114
- {formatMessage({
115
- id: 'global.back',
116
- defaultMessage: 'Back',
117
- })}
118
- </Link>
119
- }
120
- />
121
- <ContentLayout>
122
- <Flex direction="column" alignItems="stretch" gap={7}>
123
- <Box
124
- background="neutral0"
125
- hasRadius
126
- shadow="filterShadow"
127
- paddingTop={6}
128
- paddingBottom={6}
129
- paddingLeft={7}
130
- paddingRight={7}
131
- >
132
- <Flex direction="column" alignItems="stretch" gap={4}>
133
- <Typography variant="delta" as="h2">
134
- {formatMessage({
135
- id: getTrad('EditPage.form.roles'),
136
- defaultMessage: 'Role details',
137
- })}
138
- </Typography>
139
- <Grid gap={4}>
140
- <GridItem col={6}>
141
- <TextInput
142
- name="name"
143
- value={values.name || ''}
144
- onChange={handleChange}
145
- label={formatMessage({
146
- id: 'global.name',
147
- defaultMessage: 'Name',
148
- })}
149
- error={
150
- errors.name
151
- ? formatMessage({ id: errors.name, defaultMessage: 'Invalid value' })
152
- : null
153
- }
154
- />
155
- </GridItem>
156
- <GridItem col={6}>
157
- <Textarea
158
- id="description"
159
- value={values.description || ''}
160
- onChange={handleChange}
161
- label={formatMessage({
162
- id: 'global.description',
163
- defaultMessage: 'Description',
164
- })}
165
- error={
166
- errors.description
167
- ? formatMessage({
168
- id: errors.description,
169
- defaultMessage: 'Invalid value',
170
- })
171
- : null
172
- }
173
- />
174
- </GridItem>
175
- </Grid>
176
- </Flex>
177
- </Box>
178
- {!isLoadingPlugins && (
179
- <UsersPermissions
180
- ref={permissionsRef}
181
- permissions={role.permissions}
182
- routes={routes}
183
- />
184
- )}
185
- </Flex>
186
- </ContentLayout>
187
- </Form>
188
- )}
189
- </Formik>
190
- </Main>
191
- );
192
- };
193
-
194
- export default EditPage;
@@ -1,9 +0,0 @@
1
- import * as yup from 'yup';
2
- import { translatedErrors } from '@strapi/helper-plugin';
3
-
4
- const schema = yup.object().shape({
5
- name: yup.string().required(translatedErrors.required),
6
- description: yup.string().required(translatedErrors.required),
7
- });
8
-
9
- export default schema;
@@ -1,92 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { IconButton, Typography, Flex, Tbody, Tr, Td } from '@strapi/design-system';
4
- import { Pencil, Trash } from '@strapi/icons';
5
- import { CheckPermissions, onRowClick, stopPropagation } from '@strapi/helper-plugin';
6
- import { useIntl } from 'react-intl';
7
- import { useHistory } from 'react-router-dom';
8
-
9
- import pluginId from '../../../../pluginId';
10
-
11
- const TableBody = ({ sortedRoles, canDelete, permissions, setRoleToDelete, onDelete }) => {
12
- const { formatMessage } = useIntl();
13
- const { push } = useHistory();
14
- const [showConfirmDelete, setShowConfirmDelete] = onDelete;
15
-
16
- const checkCanDeleteRole = (role) =>
17
- canDelete && !['public', 'authenticated'].includes(role.type);
18
-
19
- const handleClickDelete = (id) => {
20
- setRoleToDelete(id);
21
- setShowConfirmDelete(!showConfirmDelete);
22
- };
23
-
24
- const handleClickEdit = (id) => {
25
- push(`/settings/${pluginId}/roles/${id}`);
26
- };
27
-
28
- return (
29
- <Tbody>
30
- {sortedRoles?.map((role) => (
31
- <Tr key={role.name} {...onRowClick({ fn: () => handleClickEdit(role.id) })}>
32
- <Td width="20%">
33
- <Typography>{role.name}</Typography>
34
- </Td>
35
- <Td width="50%">
36
- <Typography>{role.description}</Typography>
37
- </Td>
38
- <Td width="30%">
39
- <Typography>
40
- {`${role.nb_users} ${formatMessage({
41
- id: 'global.users',
42
- defaultMessage: 'users',
43
- }).toLowerCase()}`}
44
- </Typography>
45
- </Td>
46
- <Td>
47
- <Flex justifyContent="end" {...stopPropagation}>
48
- <CheckPermissions permissions={permissions.updateRole}>
49
- <IconButton
50
- onClick={() => handleClickEdit(role.id)}
51
- noBorder
52
- icon={<Pencil />}
53
- label={formatMessage(
54
- { id: 'app.component.table.edit', defaultMessage: 'Edit {target}' },
55
- { target: `${role.name}` }
56
- )}
57
- />
58
- </CheckPermissions>
59
- {checkCanDeleteRole(role) && (
60
- <CheckPermissions permissions={permissions.deleteRole}>
61
- <IconButton
62
- onClick={() => handleClickDelete(role.id)}
63
- noBorder
64
- icon={<Trash />}
65
- label={formatMessage(
66
- { id: 'global.delete-target', defaultMessage: 'Delete {target}' },
67
- { target: `${role.name}` }
68
- )}
69
- />
70
- </CheckPermissions>
71
- )}
72
- </Flex>
73
- </Td>
74
- </Tr>
75
- ))}
76
- </Tbody>
77
- );
78
- };
79
-
80
- export default TableBody;
81
-
82
- TableBody.defaultProps = {
83
- canDelete: false,
84
- };
85
-
86
- TableBody.propTypes = {
87
- onDelete: PropTypes.array.isRequired,
88
- permissions: PropTypes.object.isRequired,
89
- setRoleToDelete: PropTypes.func.isRequired,
90
- sortedRoles: PropTypes.array.isRequired,
91
- canDelete: PropTypes.bool,
92
- };
@@ -1,241 +0,0 @@
1
- import React, { useMemo, useState } from 'react';
2
- import {
3
- Button,
4
- HeaderLayout,
5
- Layout,
6
- ContentLayout,
7
- ActionLayout,
8
- Main,
9
- Table,
10
- Tr,
11
- Thead,
12
- Th,
13
- Typography,
14
- useNotifyAT,
15
- VisuallyHidden,
16
- } from '@strapi/design-system';
17
- import { Plus } from '@strapi/icons';
18
- import {
19
- useTracking,
20
- SettingsPageTitle,
21
- CheckPermissions,
22
- useNotification,
23
- useRBAC,
24
- NoPermissions,
25
- LoadingIndicatorPage,
26
- SearchURLQuery,
27
- useFocusWhenNavigate,
28
- useQueryParams,
29
- EmptyStateLayout,
30
- ConfirmDialog,
31
- useFilter,
32
- useCollator,
33
- } from '@strapi/helper-plugin';
34
- import { useIntl } from 'react-intl';
35
- import { useHistory } from 'react-router-dom';
36
- import { useMutation, useQuery, useQueryClient } from 'react-query';
37
-
38
- import { fetchData, deleteData } from './utils/api';
39
- import { getTrad } from '../../../utils';
40
- import pluginId from '../../../pluginId';
41
- import permissions from '../../../permissions';
42
- import TableBody from './components/TableBody';
43
-
44
- const RoleListPage = () => {
45
- const { trackUsage } = useTracking();
46
- const { formatMessage, locale } = useIntl();
47
- const { push } = useHistory();
48
- const toggleNotification = useNotification();
49
- const { notifyStatus } = useNotifyAT();
50
- const [{ query }] = useQueryParams();
51
- const _q = query?._q || '';
52
- const [showConfirmDelete, setShowConfirmDelete] = useState(false);
53
- const [isConfirmButtonLoading, setIsConfirmButtonLoading] = useState(false);
54
- const [roleToDelete, setRoleToDelete] = useState();
55
- useFocusWhenNavigate();
56
-
57
- const queryClient = useQueryClient();
58
-
59
- const updatePermissions = useMemo(() => {
60
- return {
61
- create: permissions.createRole,
62
- read: permissions.readRoles,
63
- update: permissions.updateRole,
64
- delete: permissions.deleteRole,
65
- };
66
- }, []);
67
-
68
- const {
69
- isLoading: isLoadingForPermissions,
70
- allowedActions: { canRead, canDelete },
71
- } = useRBAC(updatePermissions);
72
-
73
- const {
74
- isLoading: isLoadingForData,
75
- data: { roles },
76
- isFetching,
77
- } = useQuery('get-roles', () => fetchData(toggleNotification, notifyStatus), {
78
- initialData: {},
79
- enabled: canRead,
80
- });
81
-
82
- const { includes } = useFilter(locale, {
83
- sensitivity: 'base',
84
- });
85
-
86
- /**
87
- * @type {Intl.Collator}
88
- */
89
- const formatter = useCollator(locale, {
90
- sensitivity: 'base',
91
- });
92
-
93
- const isLoading = isLoadingForData || isFetching;
94
-
95
- const handleNewRoleClick = () => {
96
- trackUsage('willCreateRole');
97
- push(`/settings/${pluginId}/roles/new`);
98
- };
99
-
100
- const handleShowConfirmDelete = () => {
101
- setShowConfirmDelete(!showConfirmDelete);
102
- };
103
-
104
- const emptyLayout = {
105
- roles: {
106
- id: getTrad('Roles.empty'),
107
- defaultMessage: "You don't have any roles yet.",
108
- },
109
- search: {
110
- id: getTrad('Roles.empty.search'),
111
- defaultMessage: 'No roles match the search.',
112
- },
113
- };
114
-
115
- const pageTitle = formatMessage({
116
- id: 'global.roles',
117
- defaultMessage: 'Roles',
118
- });
119
-
120
- const deleteMutation = useMutation((id) => deleteData(id, toggleNotification), {
121
- async onSuccess() {
122
- await queryClient.invalidateQueries('get-roles');
123
- },
124
- });
125
-
126
- const handleConfirmDelete = async () => {
127
- setIsConfirmButtonLoading(true);
128
- await deleteMutation.mutateAsync(roleToDelete);
129
- setShowConfirmDelete(!showConfirmDelete);
130
- setIsConfirmButtonLoading(false);
131
- };
132
-
133
- const sortedRoles = (roles || [])
134
- .filter((role) => includes(role.name, _q) || includes(role.description, _q))
135
- .sort(
136
- (a, b) => formatter.compare(a.name, b.name) || formatter.compare(a.description, b.description)
137
- );
138
-
139
- const emptyContent = _q && !sortedRoles.length ? 'search' : 'roles';
140
-
141
- const colCount = 4;
142
- const rowCount = (roles?.length || 0) + 1;
143
-
144
- return (
145
- <Layout>
146
- <SettingsPageTitle name={pageTitle} />
147
- <Main aria-busy={isLoading}>
148
- <HeaderLayout
149
- title={formatMessage({
150
- id: 'global.roles',
151
- defaultMessage: 'Roles',
152
- })}
153
- subtitle={formatMessage({
154
- id: 'Settings.roles.list.description',
155
- defaultMessage: 'List of roles',
156
- })}
157
- primaryAction={
158
- <CheckPermissions permissions={permissions.createRole}>
159
- <Button onClick={handleNewRoleClick} startIcon={<Plus />} size="S">
160
- {formatMessage({
161
- id: getTrad('List.button.roles'),
162
- defaultMessage: 'Add new role',
163
- })}
164
- </Button>
165
- </CheckPermissions>
166
- }
167
- />
168
-
169
- <ActionLayout
170
- startActions={
171
- <SearchURLQuery
172
- label={formatMessage({
173
- id: 'app.component.search.label',
174
- defaultMessage: 'Search',
175
- })}
176
- />
177
- }
178
- />
179
-
180
- <ContentLayout>
181
- {!canRead && <NoPermissions />}
182
- {(isLoading || isLoadingForPermissions) && <LoadingIndicatorPage />}
183
- {canRead && sortedRoles && sortedRoles?.length ? (
184
- <Table colCount={colCount} rowCount={rowCount}>
185
- <Thead>
186
- <Tr>
187
- <Th>
188
- <Typography variant="sigma" textColor="neutral600">
189
- {formatMessage({ id: 'global.name', defaultMessage: 'Name' })}
190
- </Typography>
191
- </Th>
192
- <Th>
193
- <Typography variant="sigma" textColor="neutral600">
194
- {formatMessage({
195
- id: 'global.description',
196
- defaultMessage: 'Description',
197
- })}
198
- </Typography>
199
- </Th>
200
- <Th>
201
- <Typography variant="sigma" textColor="neutral600">
202
- {formatMessage({
203
- id: 'global.users',
204
- defaultMessage: 'Users',
205
- })}
206
- </Typography>
207
- </Th>
208
- <Th>
209
- <VisuallyHidden>
210
- {formatMessage({
211
- id: 'global.actions',
212
- defaultMessage: 'Actions',
213
- })}
214
- </VisuallyHidden>
215
- </Th>
216
- </Tr>
217
- </Thead>
218
- <TableBody
219
- sortedRoles={sortedRoles}
220
- canDelete={canDelete}
221
- permissions={permissions}
222
- setRoleToDelete={setRoleToDelete}
223
- onDelete={[showConfirmDelete, setShowConfirmDelete]}
224
- />
225
- </Table>
226
- ) : (
227
- <EmptyStateLayout content={emptyLayout[emptyContent]} />
228
- )}
229
- </ContentLayout>
230
- <ConfirmDialog
231
- isConfirmButtonLoading={isConfirmButtonLoading}
232
- onConfirm={handleConfirmDelete}
233
- onToggleDialog={handleShowConfirmDelete}
234
- isOpen={showConfirmDelete}
235
- />
236
- </Main>
237
- </Layout>
238
- );
239
- };
240
-
241
- export default RoleListPage;
@@ -1,31 +0,0 @@
1
- import { getFetchClient } from '@strapi/helper-plugin';
2
- import { getRequestURL } from '../../../../utils';
3
-
4
- export const fetchData = async (toggleNotification, notifyStatus) => {
5
- try {
6
- const { get } = getFetchClient();
7
- const { data } = await get(getRequestURL('roles'));
8
- notifyStatus('The roles have loaded successfully');
9
-
10
- return data;
11
- } catch (err) {
12
- toggleNotification({
13
- type: 'warning',
14
- message: { id: 'notification.error' },
15
- });
16
-
17
- throw new Error('error');
18
- }
19
- };
20
-
21
- export const deleteData = async (id, toggleNotification) => {
22
- try {
23
- const { del } = getFetchClient();
24
- await del(`${getRequestURL('roles')}/${id}`);
25
- } catch (error) {
26
- toggleNotification({
27
- type: 'warning',
28
- message: { id: 'notification.error', defaultMessage: 'An error occured' },
29
- });
30
- }
31
- };
@@ -1,12 +0,0 @@
1
- import React from 'react';
2
- import { CheckPagePermissions } from '@strapi/helper-plugin';
3
- import pluginPermissions from '../../../permissions';
4
- import RolesCreatePage from '../CreatePage';
5
-
6
- const ProtectedRolesCreatePage = () => (
7
- <CheckPagePermissions permissions={pluginPermissions.createRole}>
8
- <RolesCreatePage />
9
- </CheckPagePermissions>
10
- );
11
-
12
- export default ProtectedRolesCreatePage;
@@ -1,12 +0,0 @@
1
- import React from 'react';
2
- import { CheckPagePermissions } from '@strapi/helper-plugin';
3
- import pluginPermissions from '../../../permissions';
4
- import RolesEditPage from '../EditPage';
5
-
6
- const ProtectedRolesEditPage = () => (
7
- <CheckPagePermissions permissions={pluginPermissions.updateRole}>
8
- <RolesEditPage />
9
- </CheckPagePermissions>
10
- );
11
-
12
- export default ProtectedRolesEditPage;
@@ -1,15 +0,0 @@
1
- import React from 'react';
2
- import { CheckPagePermissions } from '@strapi/helper-plugin';
3
- import pluginPermissions from '../../../permissions';
4
-
5
- import RolesListPage from '../ListPage';
6
-
7
- const ProtectedRolesListPage = () => {
8
- return (
9
- <CheckPagePermissions permissions={pluginPermissions.accessRoles}>
10
- <RolesListPage />
11
- </CheckPagePermissions>
12
- );
13
- };
14
-
15
- export default ProtectedRolesListPage;
@@ -1,27 +0,0 @@
1
- import React from 'react';
2
- import { Switch, Route } from 'react-router-dom';
3
- import { CheckPagePermissions, AnErrorOccurred } from '@strapi/helper-plugin';
4
- import pluginId from '../../pluginId';
5
- import pluginPermissions from '../../permissions';
6
- import ProtectedRolesListPage from './ProtectedListPage';
7
- import ProtectedRolesEditPage from './ProtectedEditPage';
8
- import ProtectedRolesCreatePage from './ProtectedCreatePage';
9
-
10
- const Roles = () => {
11
- return (
12
- <CheckPagePermissions permissions={pluginPermissions.accessRoles}>
13
- <Switch>
14
- <Route
15
- path={`/settings/${pluginId}/roles/new`}
16
- component={ProtectedRolesCreatePage}
17
- exact
18
- />
19
- <Route path={`/settings/${pluginId}/roles/:id`} component={ProtectedRolesEditPage} exact />
20
- <Route path={`/settings/${pluginId}/roles`} component={ProtectedRolesListPage} exact />
21
- <Route path="" component={AnErrorOccurred} />
22
- </Switch>
23
- </CheckPagePermissions>
24
- );
25
- };
26
-
27
- export default Roles;
@@ -1,5 +0,0 @@
1
- import pluginId from '../pluginId';
2
-
3
- const getRequestURL = (endPoint) => `/${pluginId}/${endPoint}`;
4
-
5
- export default getRequestURL;