@strapi/plugin-users-permissions 5.12.1 → 5.12.3

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 (634) hide show
  1. package/dist/admin/components/BoundRoute/getMethodColor.js +49 -0
  2. package/dist/admin/components/BoundRoute/getMethodColor.js.map +1 -0
  3. package/dist/admin/components/BoundRoute/getMethodColor.mjs +47 -0
  4. package/dist/admin/components/BoundRoute/getMethodColor.mjs.map +1 -0
  5. package/dist/admin/components/BoundRoute/index.js +98 -0
  6. package/dist/admin/components/BoundRoute/index.js.map +1 -0
  7. package/dist/admin/components/BoundRoute/index.mjs +96 -0
  8. package/dist/admin/components/BoundRoute/index.mjs.map +1 -0
  9. package/dist/admin/components/FormModal/Input/index.js +123 -0
  10. package/dist/admin/components/FormModal/Input/index.js.map +1 -0
  11. package/dist/admin/components/FormModal/Input/index.mjs +121 -0
  12. package/dist/admin/components/FormModal/Input/index.mjs.map +1 -0
  13. package/dist/admin/components/FormModal/index.js +110 -0
  14. package/dist/admin/components/FormModal/index.js.map +1 -0
  15. package/dist/admin/components/FormModal/index.mjs +108 -0
  16. package/dist/admin/components/FormModal/index.mjs.map +1 -0
  17. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.js +33 -0
  18. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.js.map +1 -0
  19. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.mjs +31 -0
  20. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.mjs.map +1 -0
  21. package/dist/admin/components/Permissions/PermissionRow/SubCategory.js +156 -0
  22. package/dist/admin/components/Permissions/PermissionRow/SubCategory.js.map +1 -0
  23. package/dist/admin/components/Permissions/PermissionRow/SubCategory.mjs +154 -0
  24. package/dist/admin/components/Permissions/PermissionRow/SubCategory.mjs.map +1 -0
  25. package/dist/admin/components/Permissions/PermissionRow/index.js +50 -0
  26. package/dist/admin/components/Permissions/PermissionRow/index.js.map +1 -0
  27. package/dist/admin/components/Permissions/PermissionRow/index.mjs +48 -0
  28. package/dist/admin/components/Permissions/PermissionRow/index.mjs.map +1 -0
  29. package/dist/admin/components/Permissions/index.js +52 -0
  30. package/dist/admin/components/Permissions/index.js.map +1 -0
  31. package/dist/admin/components/Permissions/index.mjs +50 -0
  32. package/dist/admin/components/Permissions/index.mjs.map +1 -0
  33. package/dist/admin/components/Permissions/init.js +15 -0
  34. package/dist/admin/components/Permissions/init.js.map +1 -0
  35. package/dist/admin/components/Permissions/init.mjs +13 -0
  36. package/dist/admin/components/Permissions/init.mjs.map +1 -0
  37. package/dist/admin/components/Permissions/reducer.js +34 -0
  38. package/dist/admin/components/Permissions/reducer.js.map +1 -0
  39. package/dist/admin/components/Permissions/reducer.mjs +31 -0
  40. package/dist/admin/components/Permissions/reducer.mjs.map +1 -0
  41. package/dist/admin/components/Policies/index.js +67 -0
  42. package/dist/admin/components/Policies/index.js.map +1 -0
  43. package/dist/admin/components/Policies/index.mjs +65 -0
  44. package/dist/admin/components/Policies/index.mjs.map +1 -0
  45. package/dist/admin/components/UsersPermissions/index.js +115 -0
  46. package/dist/admin/components/UsersPermissions/index.js.map +1 -0
  47. package/dist/admin/components/UsersPermissions/index.mjs +113 -0
  48. package/dist/admin/components/UsersPermissions/index.mjs.map +1 -0
  49. package/dist/admin/components/UsersPermissions/init.js +13 -0
  50. package/dist/admin/components/UsersPermissions/init.js.map +1 -0
  51. package/dist/admin/components/UsersPermissions/init.mjs +11 -0
  52. package/dist/admin/components/UsersPermissions/init.mjs.map +1 -0
  53. package/dist/admin/components/UsersPermissions/reducer.js +73 -0
  54. package/dist/admin/components/UsersPermissions/reducer.js.map +1 -0
  55. package/dist/admin/components/UsersPermissions/reducer.mjs +68 -0
  56. package/dist/admin/components/UsersPermissions/reducer.mjs.map +1 -0
  57. package/dist/admin/constants.js +81 -0
  58. package/dist/admin/constants.js.map +1 -0
  59. package/dist/admin/constants.mjs +79 -0
  60. package/dist/admin/constants.mjs.map +1 -0
  61. package/dist/admin/contexts/UsersPermissionsContext/index.js +23 -0
  62. package/dist/admin/contexts/UsersPermissionsContext/index.js.map +1 -0
  63. package/dist/admin/contexts/UsersPermissionsContext/index.mjs +19 -0
  64. package/dist/admin/contexts/UsersPermissionsContext/index.mjs.map +1 -0
  65. package/dist/admin/index.js +119 -2
  66. package/dist/admin/index.js.map +1 -1
  67. package/dist/admin/index.mjs +120 -1
  68. package/dist/admin/index.mjs.map +1 -1
  69. package/dist/admin/package.json.js +14 -0
  70. package/dist/admin/package.json.js.map +1 -0
  71. package/dist/admin/package.json.mjs +11 -0
  72. package/dist/admin/package.json.mjs.map +1 -0
  73. package/dist/admin/{chunks/index-DFnYIqrB.js → pages/AdvancedSettings/index.js} +14 -121
  74. package/dist/admin/pages/AdvancedSettings/index.js.map +1 -0
  75. package/dist/admin/{chunks/index-Cy-tPfRk.mjs → pages/AdvancedSettings/index.mjs} +6 -94
  76. package/dist/admin/pages/AdvancedSettings/index.mjs.map +1 -0
  77. package/dist/admin/pages/AdvancedSettings/utils/layout.js +83 -0
  78. package/dist/admin/pages/AdvancedSettings/utils/layout.js.map +1 -0
  79. package/dist/admin/pages/AdvancedSettings/utils/layout.mjs +81 -0
  80. package/dist/admin/pages/AdvancedSettings/utils/layout.mjs.map +1 -0
  81. package/dist/admin/pages/AdvancedSettings/utils/schema.js +40 -0
  82. package/dist/admin/pages/AdvancedSettings/utils/schema.js.map +1 -0
  83. package/dist/admin/pages/AdvancedSettings/utils/schema.mjs +19 -0
  84. package/dist/admin/pages/AdvancedSettings/utils/schema.mjs.map +1 -0
  85. package/dist/admin/pages/EmailTemplates/components/EmailForm.js +171 -0
  86. package/dist/admin/pages/EmailTemplates/components/EmailForm.js.map +1 -0
  87. package/dist/admin/pages/EmailTemplates/components/EmailForm.mjs +169 -0
  88. package/dist/admin/pages/EmailTemplates/components/EmailForm.mjs.map +1 -0
  89. package/dist/admin/pages/EmailTemplates/components/EmailTable.js +145 -0
  90. package/dist/admin/pages/EmailTemplates/components/EmailTable.js.map +1 -0
  91. package/dist/admin/pages/EmailTemplates/components/EmailTable.mjs +143 -0
  92. package/dist/admin/pages/EmailTemplates/components/EmailTable.mjs.map +1 -0
  93. package/dist/admin/pages/EmailTemplates/index.js +157 -0
  94. package/dist/admin/pages/EmailTemplates/index.js.map +1 -0
  95. package/dist/admin/pages/EmailTemplates/index.mjs +135 -0
  96. package/dist/admin/pages/EmailTemplates/index.mjs.map +1 -0
  97. package/dist/admin/pages/EmailTemplates/utils/schema.js +50 -0
  98. package/dist/admin/pages/EmailTemplates/utils/schema.js.map +1 -0
  99. package/dist/admin/pages/EmailTemplates/utils/schema.mjs +29 -0
  100. package/dist/admin/pages/EmailTemplates/utils/schema.mjs.map +1 -0
  101. package/dist/admin/pages/Providers/index.js +278 -0
  102. package/dist/admin/pages/Providers/index.js.map +1 -0
  103. package/dist/admin/pages/Providers/index.mjs +254 -0
  104. package/dist/admin/pages/Providers/index.mjs.map +1 -0
  105. package/dist/admin/pages/Providers/utils/forms.js +281 -0
  106. package/dist/admin/pages/Providers/utils/forms.js.map +1 -0
  107. package/dist/admin/pages/Providers/utils/forms.mjs +260 -0
  108. package/dist/admin/pages/Providers/utils/forms.mjs.map +1 -0
  109. package/dist/admin/pages/Roles/constants.js +31 -0
  110. package/dist/admin/pages/Roles/constants.js.map +1 -0
  111. package/dist/admin/pages/Roles/constants.mjs +10 -0
  112. package/dist/admin/pages/Roles/constants.mjs.map +1 -0
  113. package/dist/admin/pages/Roles/hooks/usePlugins.js +78 -0
  114. package/dist/admin/pages/Roles/hooks/usePlugins.js.map +1 -0
  115. package/dist/admin/pages/Roles/hooks/usePlugins.mjs +76 -0
  116. package/dist/admin/pages/Roles/hooks/usePlugins.mjs.map +1 -0
  117. package/dist/admin/pages/Roles/index.js +35 -0
  118. package/dist/admin/pages/Roles/index.js.map +1 -0
  119. package/dist/admin/pages/Roles/index.mjs +33 -0
  120. package/dist/admin/pages/Roles/index.mjs.map +1 -0
  121. package/dist/admin/pages/Roles/pages/CreatePage.js +225 -0
  122. package/dist/admin/pages/Roles/pages/CreatePage.js.map +1 -0
  123. package/dist/admin/pages/Roles/pages/CreatePage.mjs +203 -0
  124. package/dist/admin/pages/Roles/pages/CreatePage.mjs.map +1 -0
  125. package/dist/admin/pages/Roles/pages/EditPage.js +229 -0
  126. package/dist/admin/pages/Roles/pages/EditPage.js.map +1 -0
  127. package/dist/admin/pages/Roles/pages/EditPage.mjs +207 -0
  128. package/dist/admin/pages/Roles/pages/EditPage.mjs.map +1 -0
  129. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.js +125 -0
  130. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.js.map +1 -0
  131. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.mjs +123 -0
  132. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.mjs.map +1 -0
  133. package/dist/admin/pages/Roles/pages/ListPage/index.js +237 -0
  134. package/dist/admin/pages/Roles/pages/ListPage/index.js.map +1 -0
  135. package/dist/admin/pages/Roles/pages/ListPage/index.mjs +234 -0
  136. package/dist/admin/pages/Roles/pages/ListPage/index.mjs.map +1 -0
  137. package/dist/admin/pluginId.js +8 -0
  138. package/dist/admin/pluginId.js.map +1 -0
  139. package/dist/admin/pluginId.mjs +6 -0
  140. package/dist/admin/pluginId.mjs.map +1 -0
  141. package/dist/admin/{chunks/ar-BJwjobLp.js → translations/ar.json.js} +2 -2
  142. package/dist/admin/translations/ar.json.js.map +1 -0
  143. package/dist/admin/{chunks/ar-G6bUGuUb.mjs → translations/ar.json.mjs} +1 -1
  144. package/dist/admin/translations/ar.json.mjs.map +1 -0
  145. package/dist/admin/{chunks/cs-uS_SIEo8.js → translations/cs.json.js} +2 -2
  146. package/dist/admin/translations/cs.json.js.map +1 -0
  147. package/dist/admin/{chunks/cs-Bu59JqhG.mjs → translations/cs.json.mjs} +1 -1
  148. package/dist/admin/translations/cs.json.mjs.map +1 -0
  149. package/dist/admin/{chunks/de-7MVMrqqI.js → translations/de.json.js} +2 -2
  150. package/dist/admin/translations/de.json.js.map +1 -0
  151. package/dist/admin/{chunks/de-B81A69_5.mjs → translations/de.json.mjs} +1 -1
  152. package/dist/admin/translations/de.json.mjs.map +1 -0
  153. package/dist/admin/{chunks/dk-DwCLGmy9.js → translations/dk.json.js} +2 -2
  154. package/dist/admin/translations/dk.json.js.map +1 -0
  155. package/dist/admin/{chunks/dk-BaelzvBE.mjs → translations/dk.json.mjs} +1 -1
  156. package/dist/admin/translations/dk.json.mjs.map +1 -0
  157. package/dist/admin/{chunks/en-DwQjkHi_.js → translations/en.json.js} +2 -2
  158. package/dist/admin/translations/en.json.js.map +1 -0
  159. package/dist/admin/{chunks/en-BhgCBe7M.mjs → translations/en.json.mjs} +1 -1
  160. package/dist/admin/translations/en.json.mjs.map +1 -0
  161. package/dist/admin/{chunks/es-BOJOedG5.js → translations/es.json.js} +2 -2
  162. package/dist/admin/translations/es.json.js.map +1 -0
  163. package/dist/admin/{chunks/es-B0wXmvRj.mjs → translations/es.json.mjs} +1 -1
  164. package/dist/admin/translations/es.json.mjs.map +1 -0
  165. package/dist/admin/{chunks/fr-BDNWCNs0.js → translations/fr.json.js} +2 -2
  166. package/dist/admin/translations/fr.json.js.map +1 -0
  167. package/dist/admin/{chunks/fr-CGYvGUXg.mjs → translations/fr.json.mjs} +1 -1
  168. package/dist/admin/translations/fr.json.mjs.map +1 -0
  169. package/dist/admin/{chunks/id-UqUPykHZ.js → translations/id.json.js} +2 -2
  170. package/dist/admin/translations/id.json.js.map +1 -0
  171. package/dist/admin/{chunks/id-CNzbwFjA.mjs → translations/id.json.mjs} +1 -1
  172. package/dist/admin/translations/id.json.mjs.map +1 -0
  173. package/dist/admin/{chunks/it-D5VuyoLU.js → translations/it.json.js} +2 -2
  174. package/dist/admin/translations/it.json.js.map +1 -0
  175. package/dist/admin/{chunks/it-B2H2foTf.mjs → translations/it.json.mjs} +1 -1
  176. package/dist/admin/translations/it.json.mjs.map +1 -0
  177. package/dist/admin/{chunks/ja-MpqVsCgs.js → translations/ja.json.js} +2 -2
  178. package/dist/admin/translations/ja.json.js.map +1 -0
  179. package/dist/admin/{chunks/ja-C0z9d7L9.mjs → translations/ja.json.mjs} +1 -1
  180. package/dist/admin/translations/ja.json.mjs.map +1 -0
  181. package/dist/admin/{chunks/ko-Bm-grPSc.js → translations/ko.json.js} +2 -2
  182. package/dist/admin/translations/ko.json.js.map +1 -0
  183. package/dist/admin/{chunks/ko-CzUgzpeS.mjs → translations/ko.json.mjs} +1 -1
  184. package/dist/admin/translations/ko.json.mjs.map +1 -0
  185. package/dist/admin/{chunks/ms-D7eyBD5H.js → translations/ms.json.js} +2 -2
  186. package/dist/admin/translations/ms.json.js.map +1 -0
  187. package/dist/admin/{chunks/ms-CCacxjim.mjs → translations/ms.json.mjs} +1 -1
  188. package/dist/admin/translations/ms.json.mjs.map +1 -0
  189. package/dist/admin/{chunks/nl-BIOwAQtI.js → translations/nl.json.js} +2 -2
  190. package/dist/admin/translations/nl.json.js.map +1 -0
  191. package/dist/admin/{chunks/nl-DDC3nZW-.mjs → translations/nl.json.mjs} +1 -1
  192. package/dist/admin/translations/nl.json.mjs.map +1 -0
  193. package/dist/admin/{chunks/pl-D5BeNrg_.js → translations/pl.json.js} +2 -2
  194. package/dist/admin/translations/pl.json.js.map +1 -0
  195. package/dist/admin/{chunks/pl-XkS463rN.mjs → translations/pl.json.mjs} +1 -1
  196. package/dist/admin/translations/pl.json.mjs.map +1 -0
  197. package/dist/admin/{chunks/pt-BR-DxPBzQGx.js → translations/pt-BR.json.js} +2 -2
  198. package/dist/admin/translations/pt-BR.json.js.map +1 -0
  199. package/dist/admin/{chunks/pt-BR-8cC7z8Km.mjs → translations/pt-BR.json.mjs} +1 -1
  200. package/dist/admin/translations/pt-BR.json.mjs.map +1 -0
  201. package/dist/admin/{chunks/pt-kkCwzNvH.js → translations/pt.json.js} +2 -2
  202. package/dist/admin/translations/pt.json.js.map +1 -0
  203. package/dist/admin/{chunks/pt-DQpEvio8.mjs → translations/pt.json.mjs} +1 -1
  204. package/dist/admin/translations/pt.json.mjs.map +1 -0
  205. package/dist/admin/{chunks/ru-BQ0gHmp3.js → translations/ru.json.js} +2 -2
  206. package/dist/admin/translations/ru.json.js.map +1 -0
  207. package/dist/admin/{chunks/ru-nzL_7Mhg.mjs → translations/ru.json.mjs} +1 -1
  208. package/dist/admin/translations/ru.json.mjs.map +1 -0
  209. package/dist/admin/{chunks/sk-nVwAPdYC.js → translations/sk.json.js} +2 -2
  210. package/dist/admin/translations/sk.json.js.map +1 -0
  211. package/dist/admin/{chunks/sk-Ddxc_tZA.mjs → translations/sk.json.mjs} +1 -1
  212. package/dist/admin/translations/sk.json.mjs.map +1 -0
  213. package/dist/admin/{chunks/sv-BDfk2A-F.js → translations/sv.json.js} +2 -2
  214. package/dist/admin/translations/sv.json.js.map +1 -0
  215. package/dist/admin/{chunks/sv-By3RYpMG.mjs → translations/sv.json.mjs} +1 -1
  216. package/dist/admin/translations/sv.json.mjs.map +1 -0
  217. package/dist/admin/{chunks/th-BtTtpHe2.js → translations/th.json.js} +2 -2
  218. package/dist/admin/translations/th.json.js.map +1 -0
  219. package/dist/admin/{chunks/th-COl50vqb.mjs → translations/th.json.mjs} +1 -1
  220. package/dist/admin/translations/th.json.mjs.map +1 -0
  221. package/dist/admin/{chunks/tr-Di-Nf7cT.js → translations/tr.json.js} +2 -2
  222. package/dist/admin/translations/tr.json.js.map +1 -0
  223. package/dist/admin/{chunks/tr-80SJU6jg.mjs → translations/tr.json.mjs} +1 -1
  224. package/dist/admin/translations/tr.json.mjs.map +1 -0
  225. package/dist/admin/{chunks/uk-r5zXTAS7.js → translations/uk.json.js} +2 -2
  226. package/dist/admin/translations/uk.json.js.map +1 -0
  227. package/dist/admin/{chunks/uk-DnrIlPwG.mjs → translations/uk.json.mjs} +1 -1
  228. package/dist/admin/translations/uk.json.mjs.map +1 -0
  229. package/dist/admin/{chunks/vi-D9cCsHsU.js → translations/vi.json.js} +2 -2
  230. package/dist/admin/translations/vi.json.js.map +1 -0
  231. package/dist/admin/{chunks/vi-69AF03Iv.mjs → translations/vi.json.mjs} +1 -1
  232. package/dist/admin/translations/vi.json.mjs.map +1 -0
  233. package/dist/admin/{chunks/zh-Hans-CKqQbpsM.js → translations/zh-Hans.json.js} +2 -2
  234. package/dist/admin/translations/zh-Hans.json.js.map +1 -0
  235. package/dist/admin/{chunks/zh-Hans-DmDcSsp7.mjs → translations/zh-Hans.json.mjs} +1 -1
  236. package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
  237. package/dist/admin/{chunks/zh-BzWgJEzz.js → translations/zh.json.js} +2 -2
  238. package/dist/admin/translations/zh.json.js.map +1 -0
  239. package/dist/admin/{chunks/zh-BzSkqxo-.mjs → translations/zh.json.mjs} +1 -1
  240. package/dist/admin/translations/zh.json.mjs.map +1 -0
  241. package/dist/admin/utils/cleanPermissions.js +24 -0
  242. package/dist/admin/utils/cleanPermissions.js.map +1 -0
  243. package/dist/admin/utils/cleanPermissions.mjs +22 -0
  244. package/dist/admin/utils/cleanPermissions.mjs.map +1 -0
  245. package/dist/admin/utils/formatPluginName.js +29 -0
  246. package/dist/admin/utils/formatPluginName.js.map +1 -0
  247. package/dist/admin/utils/formatPluginName.mjs +27 -0
  248. package/dist/admin/utils/formatPluginName.mjs.map +1 -0
  249. package/dist/admin/utils/getTrad.js +8 -0
  250. package/dist/admin/utils/getTrad.js.map +1 -0
  251. package/dist/admin/utils/getTrad.mjs +6 -0
  252. package/dist/admin/utils/getTrad.mjs.map +1 -0
  253. package/dist/admin/utils/prefixPluginTranslations.js +11 -0
  254. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
  255. package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
  256. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
  257. package/dist/server/_virtual/_commonjsHelpers.js +8 -0
  258. package/dist/server/_virtual/_commonjsHelpers.js.map +1 -0
  259. package/dist/server/_virtual/_commonjsHelpers.mjs +6 -0
  260. package/dist/server/_virtual/_commonjsHelpers.mjs.map +1 -0
  261. package/dist/server/bootstrap/index.js +145 -0
  262. package/dist/server/bootstrap/index.js.map +1 -0
  263. package/dist/server/bootstrap/index.mjs +143 -0
  264. package/dist/server/bootstrap/index.mjs.map +1 -0
  265. package/dist/server/bootstrap/users-permissions-actions.js +98 -0
  266. package/dist/server/bootstrap/users-permissions-actions.js.map +1 -0
  267. package/dist/server/bootstrap/users-permissions-actions.mjs +96 -0
  268. package/dist/server/bootstrap/users-permissions-actions.mjs.map +1 -0
  269. package/dist/server/config.js +54 -0
  270. package/dist/server/config.js.map +1 -0
  271. package/dist/server/config.mjs +52 -0
  272. package/dist/server/config.mjs.map +1 -0
  273. package/dist/server/content-types/index.js +30 -0
  274. package/dist/server/content-types/index.js.map +1 -0
  275. package/dist/server/content-types/index.mjs +28 -0
  276. package/dist/server/content-types/index.mjs.map +1 -0
  277. package/dist/server/content-types/permission/index.js +44 -0
  278. package/dist/server/content-types/permission/index.js.map +1 -0
  279. package/dist/server/content-types/permission/index.mjs +42 -0
  280. package/dist/server/content-types/permission/index.mjs.map +1 -0
  281. package/dist/server/content-types/role/index.js +61 -0
  282. package/dist/server/content-types/role/index.js.map +1 -0
  283. package/dist/server/content-types/role/index.mjs +59 -0
  284. package/dist/server/content-types/role/index.mjs.map +1 -0
  285. package/dist/server/content-types/user/index.js +84 -0
  286. package/dist/server/content-types/user/index.js.map +1 -0
  287. package/dist/server/content-types/user/index.mjs +82 -0
  288. package/dist/server/content-types/user/index.mjs.map +1 -0
  289. package/dist/server/content-types/user/schema-config.js +25 -0
  290. package/dist/server/content-types/user/schema-config.js.map +1 -0
  291. package/dist/server/content-types/user/schema-config.mjs +23 -0
  292. package/dist/server/content-types/user/schema-config.mjs.map +1 -0
  293. package/dist/server/controllers/auth.js +429 -0
  294. package/dist/server/controllers/auth.js.map +1 -0
  295. package/dist/server/controllers/auth.mjs +427 -0
  296. package/dist/server/controllers/auth.mjs.map +1 -0
  297. package/dist/server/controllers/content-manager-user.js +168 -0
  298. package/dist/server/controllers/content-manager-user.js.map +1 -0
  299. package/dist/server/controllers/content-manager-user.mjs +166 -0
  300. package/dist/server/controllers/content-manager-user.mjs.map +1 -0
  301. package/dist/server/controllers/index.js +33 -0
  302. package/dist/server/controllers/index.js.map +1 -0
  303. package/dist/server/controllers/index.mjs +31 -0
  304. package/dist/server/controllers/index.mjs.map +1 -0
  305. package/dist/server/controllers/permissions.js +37 -0
  306. package/dist/server/controllers/permissions.js.map +1 -0
  307. package/dist/server/controllers/permissions.mjs +35 -0
  308. package/dist/server/controllers/permissions.mjs.map +1 -0
  309. package/dist/server/controllers/role.js +91 -0
  310. package/dist/server/controllers/role.js.map +1 -0
  311. package/dist/server/controllers/role.mjs +89 -0
  312. package/dist/server/controllers/role.mjs.map +1 -0
  313. package/dist/server/controllers/settings.js +107 -0
  314. package/dist/server/controllers/settings.js.map +1 -0
  315. package/dist/server/controllers/settings.mjs +105 -0
  316. package/dist/server/controllers/settings.mjs.map +1 -0
  317. package/dist/server/controllers/user.js +201 -0
  318. package/dist/server/controllers/user.js.map +1 -0
  319. package/dist/server/controllers/user.mjs +199 -0
  320. package/dist/server/controllers/user.mjs.map +1 -0
  321. package/dist/server/controllers/validation/auth.js +131 -0
  322. package/dist/server/controllers/validation/auth.js.map +1 -0
  323. package/dist/server/controllers/validation/auth.mjs +129 -0
  324. package/dist/server/controllers/validation/auth.mjs.map +1 -0
  325. package/dist/server/controllers/validation/email-template.js +72 -0
  326. package/dist/server/controllers/validation/email-template.js.map +1 -0
  327. package/dist/server/controllers/validation/email-template.mjs +70 -0
  328. package/dist/server/controllers/validation/email-template.mjs.map +1 -0
  329. package/dist/server/controllers/validation/user.js +49 -0
  330. package/dist/server/controllers/validation/user.js.map +1 -0
  331. package/dist/server/controllers/validation/user.mjs +47 -0
  332. package/dist/server/controllers/validation/user.mjs.map +1 -0
  333. package/dist/server/graphql/index.js +66 -0
  334. package/dist/server/graphql/index.js.map +1 -0
  335. package/dist/server/graphql/index.mjs +64 -0
  336. package/dist/server/graphql/index.mjs.map +1 -0
  337. package/dist/server/graphql/mutations/auth/change-password.js +40 -0
  338. package/dist/server/graphql/mutations/auth/change-password.js.map +1 -0
  339. package/dist/server/graphql/mutations/auth/change-password.mjs +38 -0
  340. package/dist/server/graphql/mutations/auth/change-password.mjs.map +1 -0
  341. package/dist/server/graphql/mutations/auth/email-confirmation.js +38 -0
  342. package/dist/server/graphql/mutations/auth/email-confirmation.js.map +1 -0
  343. package/dist/server/graphql/mutations/auth/email-confirmation.mjs +36 -0
  344. package/dist/server/graphql/mutations/auth/email-confirmation.mjs.map +1 -0
  345. package/dist/server/graphql/mutations/auth/forgot-password.js +37 -0
  346. package/dist/server/graphql/mutations/auth/forgot-password.js.map +1 -0
  347. package/dist/server/graphql/mutations/auth/forgot-password.mjs +35 -0
  348. package/dist/server/graphql/mutations/auth/forgot-password.mjs.map +1 -0
  349. package/dist/server/graphql/mutations/auth/login.js +40 -0
  350. package/dist/server/graphql/mutations/auth/login.js.map +1 -0
  351. package/dist/server/graphql/mutations/auth/login.mjs +38 -0
  352. package/dist/server/graphql/mutations/auth/login.mjs.map +1 -0
  353. package/dist/server/graphql/mutations/auth/register.js +38 -0
  354. package/dist/server/graphql/mutations/auth/register.js.map +1 -0
  355. package/dist/server/graphql/mutations/auth/register.mjs +36 -0
  356. package/dist/server/graphql/mutations/auth/register.mjs.map +1 -0
  357. package/dist/server/graphql/mutations/auth/reset-password.js +40 -0
  358. package/dist/server/graphql/mutations/auth/reset-password.js.map +1 -0
  359. package/dist/server/graphql/mutations/auth/reset-password.mjs +38 -0
  360. package/dist/server/graphql/mutations/auth/reset-password.mjs.map +1 -0
  361. package/dist/server/graphql/mutations/crud/role/create-role.js +37 -0
  362. package/dist/server/graphql/mutations/crud/role/create-role.js.map +1 -0
  363. package/dist/server/graphql/mutations/crud/role/create-role.mjs +35 -0
  364. package/dist/server/graphql/mutations/crud/role/create-role.mjs.map +1 -0
  365. package/dist/server/graphql/mutations/crud/role/delete-role.js +32 -0
  366. package/dist/server/graphql/mutations/crud/role/delete-role.js.map +1 -0
  367. package/dist/server/graphql/mutations/crud/role/delete-role.mjs +30 -0
  368. package/dist/server/graphql/mutations/crud/role/delete-role.mjs.map +1 -0
  369. package/dist/server/graphql/mutations/crud/role/update-role.js +39 -0
  370. package/dist/server/graphql/mutations/crud/role/update-role.js.map +1 -0
  371. package/dist/server/graphql/mutations/crud/role/update-role.mjs +37 -0
  372. package/dist/server/graphql/mutations/crud/role/update-role.mjs.map +1 -0
  373. package/dist/server/graphql/mutations/crud/user/create-user.js +46 -0
  374. package/dist/server/graphql/mutations/crud/user/create-user.js.map +1 -0
  375. package/dist/server/graphql/mutations/crud/user/create-user.mjs +44 -0
  376. package/dist/server/graphql/mutations/crud/user/create-user.mjs.map +1 -0
  377. package/dist/server/graphql/mutations/crud/user/delete-user.js +44 -0
  378. package/dist/server/graphql/mutations/crud/user/delete-user.js.map +1 -0
  379. package/dist/server/graphql/mutations/crud/user/delete-user.mjs +42 -0
  380. package/dist/server/graphql/mutations/crud/user/delete-user.mjs.map +1 -0
  381. package/dist/server/graphql/mutations/crud/user/update-user.js +49 -0
  382. package/dist/server/graphql/mutations/crud/user/update-user.js.map +1 -0
  383. package/dist/server/graphql/mutations/crud/user/update-user.mjs +47 -0
  384. package/dist/server/graphql/mutations/crud/user/update-user.mjs.map +1 -0
  385. package/dist/server/graphql/mutations/index.js +58 -0
  386. package/dist/server/graphql/mutations/index.js.map +1 -0
  387. package/dist/server/graphql/mutations/index.mjs +56 -0
  388. package/dist/server/graphql/mutations/index.mjs.map +1 -0
  389. package/dist/server/graphql/queries/index.js +25 -0
  390. package/dist/server/graphql/queries/index.js.map +1 -0
  391. package/dist/server/graphql/queries/index.mjs +23 -0
  392. package/dist/server/graphql/queries/index.mjs.map +1 -0
  393. package/dist/server/graphql/queries/me.js +23 -0
  394. package/dist/server/graphql/queries/me.js.map +1 -0
  395. package/dist/server/graphql/queries/me.mjs +21 -0
  396. package/dist/server/graphql/queries/me.mjs.map +1 -0
  397. package/dist/server/graphql/resolvers-configs.js +93 -0
  398. package/dist/server/graphql/resolvers-configs.js.map +1 -0
  399. package/dist/server/graphql/resolvers-configs.mjs +91 -0
  400. package/dist/server/graphql/resolvers-configs.mjs.map +1 -0
  401. package/dist/server/graphql/types/create-role-payload.js +20 -0
  402. package/dist/server/graphql/types/create-role-payload.js.map +1 -0
  403. package/dist/server/graphql/types/create-role-payload.mjs +18 -0
  404. package/dist/server/graphql/types/create-role-payload.mjs.map +1 -0
  405. package/dist/server/graphql/types/delete-role-payload.js +20 -0
  406. package/dist/server/graphql/types/delete-role-payload.js.map +1 -0
  407. package/dist/server/graphql/types/delete-role-payload.mjs +18 -0
  408. package/dist/server/graphql/types/delete-role-payload.mjs.map +1 -0
  409. package/dist/server/graphql/types/index.js +41 -0
  410. package/dist/server/graphql/types/index.js.map +1 -0
  411. package/dist/server/graphql/types/index.mjs +39 -0
  412. package/dist/server/graphql/types/index.mjs.map +1 -0
  413. package/dist/server/graphql/types/login-input.js +24 -0
  414. package/dist/server/graphql/types/login-input.js.map +1 -0
  415. package/dist/server/graphql/types/login-input.mjs +22 -0
  416. package/dist/server/graphql/types/login-input.mjs.map +1 -0
  417. package/dist/server/graphql/types/login-payload.js +23 -0
  418. package/dist/server/graphql/types/login-payload.js.map +1 -0
  419. package/dist/server/graphql/types/login-payload.mjs +21 -0
  420. package/dist/server/graphql/types/login-payload.mjs.map +1 -0
  421. package/dist/server/graphql/types/me-role.js +23 -0
  422. package/dist/server/graphql/types/me-role.js.map +1 -0
  423. package/dist/server/graphql/types/me-role.mjs +21 -0
  424. package/dist/server/graphql/types/me-role.mjs.map +1 -0
  425. package/dist/server/graphql/types/me.js +28 -0
  426. package/dist/server/graphql/types/me.js.map +1 -0
  427. package/dist/server/graphql/types/me.mjs +26 -0
  428. package/dist/server/graphql/types/me.mjs.map +1 -0
  429. package/dist/server/graphql/types/password-payload.js +20 -0
  430. package/dist/server/graphql/types/password-payload.js.map +1 -0
  431. package/dist/server/graphql/types/password-payload.mjs +18 -0
  432. package/dist/server/graphql/types/password-payload.mjs.map +1 -0
  433. package/dist/server/graphql/types/register-input.js +22 -0
  434. package/dist/server/graphql/types/register-input.js.map +1 -0
  435. package/dist/server/graphql/types/register-input.mjs +20 -0
  436. package/dist/server/graphql/types/register-input.mjs.map +1 -0
  437. package/dist/server/graphql/types/update-role-payload.js +20 -0
  438. package/dist/server/graphql/types/update-role-payload.js.map +1 -0
  439. package/dist/server/graphql/types/update-role-payload.mjs +18 -0
  440. package/dist/server/graphql/types/update-role-payload.mjs.map +1 -0
  441. package/dist/server/graphql/types/user-input.js +26 -0
  442. package/dist/server/graphql/types/user-input.js.map +1 -0
  443. package/dist/server/graphql/types/user-input.mjs +24 -0
  444. package/dist/server/graphql/types/user-input.mjs.map +1 -0
  445. package/dist/server/graphql/utils.js +32 -0
  446. package/dist/server/graphql/utils.js.map +1 -0
  447. package/dist/server/graphql/utils.mjs +30 -0
  448. package/dist/server/graphql/utils.mjs.map +1 -0
  449. package/dist/server/index.js +4 -4760
  450. package/dist/server/index.js.map +1 -1
  451. package/dist/server/index.mjs +2 -4758
  452. package/dist/server/index.mjs.map +1 -1
  453. package/dist/server/index2.js +39 -0
  454. package/dist/server/index2.js.map +1 -0
  455. package/dist/server/index2.mjs +37 -0
  456. package/dist/server/index2.mjs.map +1 -0
  457. package/dist/server/middlewares/index.js +18 -0
  458. package/dist/server/middlewares/index.js.map +1 -0
  459. package/dist/server/middlewares/index.mjs +16 -0
  460. package/dist/server/middlewares/index.mjs.map +1 -0
  461. package/dist/server/middlewares/rateLimit.js +51 -0
  462. package/dist/server/middlewares/rateLimit.js.map +1 -0
  463. package/dist/server/middlewares/rateLimit.mjs +49 -0
  464. package/dist/server/middlewares/rateLimit.mjs.map +1 -0
  465. package/dist/server/register.js +41 -0
  466. package/dist/server/register.js.map +1 -0
  467. package/dist/server/register.mjs +39 -0
  468. package/dist/server/register.mjs.map +1 -0
  469. package/dist/server/routes/admin/index.js +27 -0
  470. package/dist/server/routes/admin/index.js.map +1 -0
  471. package/dist/server/routes/admin/index.mjs +25 -0
  472. package/dist/server/routes/admin/index.mjs.map +1 -0
  473. package/dist/server/routes/admin/permissions.js +29 -0
  474. package/dist/server/routes/admin/permissions.js.map +1 -0
  475. package/dist/server/routes/admin/permissions.mjs +27 -0
  476. package/dist/server/routes/admin/permissions.mjs.map +1 -0
  477. package/dist/server/routes/admin/role.js +99 -0
  478. package/dist/server/routes/admin/role.js.map +1 -0
  479. package/dist/server/routes/admin/role.mjs +97 -0
  480. package/dist/server/routes/admin/role.mjs.map +1 -0
  481. package/dist/server/routes/admin/settings.js +116 -0
  482. package/dist/server/routes/admin/settings.js.map +1 -0
  483. package/dist/server/routes/admin/settings.mjs +114 -0
  484. package/dist/server/routes/admin/settings.mjs.map +1 -0
  485. package/dist/server/routes/content-api/auth.js +104 -0
  486. package/dist/server/routes/content-api/auth.js.map +1 -0
  487. package/dist/server/routes/content-api/auth.mjs +102 -0
  488. package/dist/server/routes/content-api/auth.mjs.map +1 -0
  489. package/dist/server/routes/content-api/index.js +30 -0
  490. package/dist/server/routes/content-api/index.js.map +1 -0
  491. package/dist/server/routes/content-api/index.mjs +28 -0
  492. package/dist/server/routes/content-api/index.mjs.map +1 -0
  493. package/dist/server/routes/content-api/permissions.js +19 -0
  494. package/dist/server/routes/content-api/permissions.js.map +1 -0
  495. package/dist/server/routes/content-api/permissions.mjs +17 -0
  496. package/dist/server/routes/content-api/permissions.mjs.map +1 -0
  497. package/dist/server/routes/content-api/role.js +39 -0
  498. package/dist/server/routes/content-api/role.js.map +1 -0
  499. package/dist/server/routes/content-api/role.mjs +37 -0
  500. package/dist/server/routes/content-api/role.mjs.map +1 -0
  501. package/dist/server/routes/content-api/user.js +70 -0
  502. package/dist/server/routes/content-api/user.js.map +1 -0
  503. package/dist/server/routes/content-api/user.mjs +68 -0
  504. package/dist/server/routes/content-api/user.mjs.map +1 -0
  505. package/dist/server/routes/index.js +19 -0
  506. package/dist/server/routes/index.js.map +1 -0
  507. package/dist/server/routes/index.mjs +17 -0
  508. package/dist/server/routes/index.mjs.map +1 -0
  509. package/dist/server/services/index.js +36 -0
  510. package/dist/server/services/index.js.map +1 -0
  511. package/dist/server/services/index.mjs +34 -0
  512. package/dist/server/services/index.mjs.map +1 -0
  513. package/dist/server/services/jwt.js +50 -0
  514. package/dist/server/services/jwt.js.map +1 -0
  515. package/dist/server/services/jwt.mjs +48 -0
  516. package/dist/server/services/jwt.mjs.map +1 -0
  517. package/dist/server/services/permission.js +52 -0
  518. package/dist/server/services/permission.js.map +1 -0
  519. package/dist/server/services/permission.mjs +50 -0
  520. package/dist/server/services/permission.mjs.map +1 -0
  521. package/dist/server/services/providers-registry.js +555 -0
  522. package/dist/server/services/providers-registry.js.map +1 -0
  523. package/dist/server/services/providers-registry.mjs +553 -0
  524. package/dist/server/services/providers-registry.mjs.map +1 -0
  525. package/dist/server/services/providers.js +111 -0
  526. package/dist/server/services/providers.js.map +1 -0
  527. package/dist/server/services/providers.mjs +109 -0
  528. package/dist/server/services/providers.mjs.map +1 -0
  529. package/dist/server/services/role.js +186 -0
  530. package/dist/server/services/role.js.map +1 -0
  531. package/dist/server/services/role.mjs +184 -0
  532. package/dist/server/services/role.mjs.map +1 -0
  533. package/dist/server/services/user.js +179 -0
  534. package/dist/server/services/user.js.map +1 -0
  535. package/dist/server/services/user.mjs +177 -0
  536. package/dist/server/services/user.mjs.map +1 -0
  537. package/dist/server/services/users-permissions.js +247 -0
  538. package/dist/server/services/users-permissions.js.map +1 -0
  539. package/dist/server/services/users-permissions.mjs +245 -0
  540. package/dist/server/services/users-permissions.mjs.map +1 -0
  541. package/dist/server/strategies/users-permissions.js +114 -0
  542. package/dist/server/strategies/users-permissions.js.map +1 -0
  543. package/dist/server/strategies/users-permissions.mjs +112 -0
  544. package/dist/server/strategies/users-permissions.mjs.map +1 -0
  545. package/dist/server/utils/index.js +22 -0
  546. package/dist/server/utils/index.js.map +1 -0
  547. package/dist/server/utils/index.mjs +20 -0
  548. package/dist/server/utils/index.mjs.map +1 -0
  549. package/dist/server/utils/sanitize/index.js +21 -0
  550. package/dist/server/utils/sanitize/index.js.map +1 -0
  551. package/dist/server/utils/sanitize/index.mjs +19 -0
  552. package/dist/server/utils/sanitize/index.mjs.map +1 -0
  553. package/dist/server/utils/sanitize/sanitizers.js +32 -0
  554. package/dist/server/utils/sanitize/sanitizers.js.map +1 -0
  555. package/dist/server/utils/sanitize/sanitizers.mjs +30 -0
  556. package/dist/server/utils/sanitize/sanitizers.mjs.map +1 -0
  557. package/dist/server/utils/sanitize/visitors/index.js +17 -0
  558. package/dist/server/utils/sanitize/visitors/index.js.map +1 -0
  559. package/dist/server/utils/sanitize/visitors/index.mjs +15 -0
  560. package/dist/server/utils/sanitize/visitors/index.mjs.map +1 -0
  561. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js +17 -0
  562. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js.map +1 -0
  563. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.mjs +15 -0
  564. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.mjs.map +1 -0
  565. package/package.json +3 -3
  566. package/rollup.config.mjs +15 -48
  567. package/dist/admin/chunks/ar-BJwjobLp.js.map +0 -1
  568. package/dist/admin/chunks/ar-G6bUGuUb.mjs.map +0 -1
  569. package/dist/admin/chunks/cs-Bu59JqhG.mjs.map +0 -1
  570. package/dist/admin/chunks/cs-uS_SIEo8.js.map +0 -1
  571. package/dist/admin/chunks/de-7MVMrqqI.js.map +0 -1
  572. package/dist/admin/chunks/de-B81A69_5.mjs.map +0 -1
  573. package/dist/admin/chunks/dk-BaelzvBE.mjs.map +0 -1
  574. package/dist/admin/chunks/dk-DwCLGmy9.js.map +0 -1
  575. package/dist/admin/chunks/en-BhgCBe7M.mjs.map +0 -1
  576. package/dist/admin/chunks/en-DwQjkHi_.js.map +0 -1
  577. package/dist/admin/chunks/es-B0wXmvRj.mjs.map +0 -1
  578. package/dist/admin/chunks/es-BOJOedG5.js.map +0 -1
  579. package/dist/admin/chunks/fr-BDNWCNs0.js.map +0 -1
  580. package/dist/admin/chunks/fr-CGYvGUXg.mjs.map +0 -1
  581. package/dist/admin/chunks/id-CNzbwFjA.mjs.map +0 -1
  582. package/dist/admin/chunks/id-UqUPykHZ.js.map +0 -1
  583. package/dist/admin/chunks/index--_o6btSC.js +0 -471
  584. package/dist/admin/chunks/index--_o6btSC.js.map +0 -1
  585. package/dist/admin/chunks/index-BBjNJt_G.mjs +0 -448
  586. package/dist/admin/chunks/index-BBjNJt_G.mjs.map +0 -1
  587. package/dist/admin/chunks/index-BgAfLcWs.mjs +0 -1516
  588. package/dist/admin/chunks/index-BgAfLcWs.mjs.map +0 -1
  589. package/dist/admin/chunks/index-CHTUC0LM.mjs +0 -718
  590. package/dist/admin/chunks/index-CHTUC0LM.mjs.map +0 -1
  591. package/dist/admin/chunks/index-CY5JZ38k.mjs +0 -213
  592. package/dist/admin/chunks/index-CY5JZ38k.mjs.map +0 -1
  593. package/dist/admin/chunks/index-Cu1VuLS3.js +0 -741
  594. package/dist/admin/chunks/index-Cu1VuLS3.js.map +0 -1
  595. package/dist/admin/chunks/index-Cy-tPfRk.mjs.map +0 -1
  596. package/dist/admin/chunks/index-DD-Z6c1S.js +0 -217
  597. package/dist/admin/chunks/index-DD-Z6c1S.js.map +0 -1
  598. package/dist/admin/chunks/index-DFnYIqrB.js.map +0 -1
  599. package/dist/admin/chunks/index-DvubCYNe.js +0 -1537
  600. package/dist/admin/chunks/index-DvubCYNe.js.map +0 -1
  601. package/dist/admin/chunks/it-B2H2foTf.mjs.map +0 -1
  602. package/dist/admin/chunks/it-D5VuyoLU.js.map +0 -1
  603. package/dist/admin/chunks/ja-C0z9d7L9.mjs.map +0 -1
  604. package/dist/admin/chunks/ja-MpqVsCgs.js.map +0 -1
  605. package/dist/admin/chunks/ko-Bm-grPSc.js.map +0 -1
  606. package/dist/admin/chunks/ko-CzUgzpeS.mjs.map +0 -1
  607. package/dist/admin/chunks/ms-CCacxjim.mjs.map +0 -1
  608. package/dist/admin/chunks/ms-D7eyBD5H.js.map +0 -1
  609. package/dist/admin/chunks/nl-BIOwAQtI.js.map +0 -1
  610. package/dist/admin/chunks/nl-DDC3nZW-.mjs.map +0 -1
  611. package/dist/admin/chunks/pl-D5BeNrg_.js.map +0 -1
  612. package/dist/admin/chunks/pl-XkS463rN.mjs.map +0 -1
  613. package/dist/admin/chunks/pt-BR-8cC7z8Km.mjs.map +0 -1
  614. package/dist/admin/chunks/pt-BR-DxPBzQGx.js.map +0 -1
  615. package/dist/admin/chunks/pt-DQpEvio8.mjs.map +0 -1
  616. package/dist/admin/chunks/pt-kkCwzNvH.js.map +0 -1
  617. package/dist/admin/chunks/ru-BQ0gHmp3.js.map +0 -1
  618. package/dist/admin/chunks/ru-nzL_7Mhg.mjs.map +0 -1
  619. package/dist/admin/chunks/sk-Ddxc_tZA.mjs.map +0 -1
  620. package/dist/admin/chunks/sk-nVwAPdYC.js.map +0 -1
  621. package/dist/admin/chunks/sv-BDfk2A-F.js.map +0 -1
  622. package/dist/admin/chunks/sv-By3RYpMG.mjs.map +0 -1
  623. package/dist/admin/chunks/th-BtTtpHe2.js.map +0 -1
  624. package/dist/admin/chunks/th-COl50vqb.mjs.map +0 -1
  625. package/dist/admin/chunks/tr-80SJU6jg.mjs.map +0 -1
  626. package/dist/admin/chunks/tr-Di-Nf7cT.js.map +0 -1
  627. package/dist/admin/chunks/uk-DnrIlPwG.mjs.map +0 -1
  628. package/dist/admin/chunks/uk-r5zXTAS7.js.map +0 -1
  629. package/dist/admin/chunks/vi-69AF03Iv.mjs.map +0 -1
  630. package/dist/admin/chunks/vi-D9cCsHsU.js.map +0 -1
  631. package/dist/admin/chunks/zh-BzSkqxo-.mjs.map +0 -1
  632. package/dist/admin/chunks/zh-BzWgJEzz.js.map +0 -1
  633. package/dist/admin/chunks/zh-Hans-CKqQbpsM.js.map +0 -1
  634. package/dist/admin/chunks/zh-Hans-DmDcSsp7.mjs.map +0 -1
@@ -1,1537 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var React = require('react');
5
- var admin = require('@strapi/strapi/admin');
6
- var reactRouterDom = require('react-router-dom');
7
- var index = require('./index-DD-Z6c1S.js');
8
- var designSystem = require('@strapi/design-system');
9
- var icons = require('@strapi/icons');
10
- var formik = require('formik');
11
- var reactIntl = require('react-intl');
12
- var reactQuery = require('react-query');
13
- var PropTypes = require('prop-types');
14
- var upperFirst = require('lodash/upperFirst');
15
- var sortBy = require('lodash/sortBy');
16
- var get = require('lodash/get');
17
- var styledComponents = require('styled-components');
18
- var immer = require('immer');
19
- var isEmpty = require('lodash/isEmpty');
20
- var without = require('lodash/without');
21
- var map = require('lodash/map');
22
- var tail = require('lodash/tail');
23
- var set = require('lodash/set');
24
- var take = require('lodash/take');
25
- var yup = require('yup');
26
-
27
- function _interopNamespaceDefault(e) {
28
- var n = Object.create(null);
29
- if (e) {
30
- Object.keys(e).forEach(function (k) {
31
- if (k !== 'default') {
32
- var d = Object.getOwnPropertyDescriptor(e, k);
33
- Object.defineProperty(n, k, d.get ? d : {
34
- enumerable: true,
35
- get: function () { return e[k]; }
36
- });
37
- }
38
- });
39
- }
40
- n.default = e;
41
- return Object.freeze(n);
42
- }
43
-
44
- var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
45
- var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
46
-
47
- const UsersPermissions$2 = /*#__PURE__*/ React.createContext({});
48
- const UsersPermissionsProvider = ({ children, value })=>{
49
- return /*#__PURE__*/ jsxRuntime.jsx(UsersPermissions$2.Provider, {
50
- value: value,
51
- children: children
52
- });
53
- };
54
- const useUsersPermissions = ()=>React.useContext(UsersPermissions$2);
55
- UsersPermissionsProvider.propTypes = {
56
- children: PropTypes.node.isRequired,
57
- value: PropTypes.object.isRequired
58
- };
59
-
60
- function formatPluginName(pluginSlug) {
61
- switch(pluginSlug){
62
- case 'application':
63
- return 'Application';
64
- case 'plugin::content-manager':
65
- return 'Content manager';
66
- case 'plugin::content-type-builder':
67
- return 'Content types builder';
68
- case 'plugin::documentation':
69
- return 'Documentation';
70
- case 'plugin::email':
71
- return 'Email';
72
- case 'plugin::i18n':
73
- return 'i18n';
74
- case 'plugin::upload':
75
- return 'Upload';
76
- case 'plugin::users-permissions':
77
- return 'Users-permissions';
78
- default:
79
- return upperFirst(pluginSlug.replace('api::', '').replace('plugin::', ''));
80
- }
81
- }
82
-
83
- const init$1 = (initialState, permissions)=>{
84
- const collapses = Object.keys(permissions).sort().map((name)=>({
85
- name,
86
- isOpen: false
87
- }));
88
- return {
89
- ...initialState,
90
- collapses
91
- };
92
- };
93
-
94
- const activeCheckboxWrapperStyles = styledComponents.css`
95
- background: ${(props)=>props.theme.colors.primary100};
96
-
97
- #cog {
98
- opacity: 1;
99
- }
100
- `;
101
- const CheckboxWrapper = styledComponents.styled(designSystem.Box)`
102
- display: flex;
103
- justify-content: space-between;
104
- align-items: center;
105
-
106
- #cog {
107
- opacity: 0;
108
- path {
109
- fill: ${(props)=>props.theme.colors.primary600};
110
- }
111
- }
112
-
113
- /* Show active style both on hover and when the action is selected */
114
- ${(props)=>props.isActive && activeCheckboxWrapperStyles}
115
- &:hover {
116
- ${activeCheckboxWrapperStyles}
117
- }
118
- `;
119
-
120
- const Border = styledComponents.styled.div`
121
- flex: 1;
122
- align-self: center;
123
- border-top: 1px solid ${({ theme })=>theme.colors.neutral150};
124
- `;
125
- const SubCategory = ({ subCategory })=>{
126
- const { formatMessage } = reactIntl.useIntl();
127
- const { onChange, onChangeSelectAll, onSelectedAction, selectedAction, modifiedData } = useUsersPermissions();
128
- const currentScopedModifiedData = React.useMemo(()=>{
129
- return get(modifiedData, subCategory.name, {});
130
- }, [
131
- modifiedData,
132
- subCategory
133
- ]);
134
- const hasAllActionsSelected = React.useMemo(()=>{
135
- return Object.values(currentScopedModifiedData).every((action)=>action.enabled === true);
136
- }, [
137
- currentScopedModifiedData
138
- ]);
139
- const hasSomeActionsSelected = React.useMemo(()=>{
140
- return Object.values(currentScopedModifiedData).some((action)=>action.enabled === true) && !hasAllActionsSelected;
141
- }, [
142
- currentScopedModifiedData,
143
- hasAllActionsSelected
144
- ]);
145
- const handleChangeSelectAll = React.useCallback(({ target: { name } })=>{
146
- onChangeSelectAll({
147
- target: {
148
- name,
149
- value: !hasAllActionsSelected
150
- }
151
- });
152
- }, [
153
- hasAllActionsSelected,
154
- onChangeSelectAll
155
- ]);
156
- const isActionSelected = React.useCallback((actionName)=>{
157
- return selectedAction === actionName;
158
- }, [
159
- selectedAction
160
- ]);
161
- return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Box, {
162
- children: [
163
- /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
164
- justifyContent: "space-between",
165
- alignItems: "center",
166
- children: [
167
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
168
- paddingRight: 4,
169
- children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
170
- variant: "sigma",
171
- textColor: "neutral600",
172
- children: subCategory.label
173
- })
174
- }),
175
- /*#__PURE__*/ jsxRuntime.jsx(Border, {}),
176
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
177
- paddingLeft: 4,
178
- children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Checkbox, {
179
- name: subCategory.name,
180
- checked: hasSomeActionsSelected ? 'indeterminate' : hasAllActionsSelected,
181
- onCheckedChange: (value)=>handleChangeSelectAll({
182
- target: {
183
- name: subCategory.name,
184
- value
185
- }
186
- }),
187
- children: formatMessage({
188
- id: 'app.utils.select-all',
189
- defaultMessage: 'Select all'
190
- })
191
- })
192
- })
193
- ]
194
- }),
195
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
196
- paddingTop: 6,
197
- paddingBottom: 6,
198
- children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Root, {
199
- gap: 2,
200
- style: {
201
- flex: 1
202
- },
203
- children: subCategory.actions.map((action)=>{
204
- const name = `${action.name}.enabled`;
205
- return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
206
- col: 6,
207
- direction: "column",
208
- alignItems: "stretch",
209
- children: /*#__PURE__*/ jsxRuntime.jsxs(CheckboxWrapper, {
210
- isActive: isActionSelected(action.name),
211
- padding: 2,
212
- hasRadius: true,
213
- children: [
214
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Checkbox, {
215
- checked: get(modifiedData, name, false),
216
- name: name,
217
- onCheckedChange: (value)=>onChange({
218
- target: {
219
- name,
220
- value
221
- }
222
- }),
223
- children: action.label
224
- }),
225
- /*#__PURE__*/ jsxRuntime.jsxs("button", {
226
- type: "button",
227
- onClick: ()=>onSelectedAction(action.name),
228
- style: {
229
- display: 'inline-flex',
230
- alignItems: 'center'
231
- },
232
- children: [
233
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.VisuallyHidden, {
234
- tag: "span",
235
- children: formatMessage({
236
- id: 'app.utils.show-bound-route',
237
- defaultMessage: 'Show bound route for {route}'
238
- }, {
239
- route: action.name
240
- })
241
- }),
242
- /*#__PURE__*/ jsxRuntime.jsx(icons.Cog, {
243
- id: "cog",
244
- cursor: "pointer"
245
- })
246
- ]
247
- })
248
- ]
249
- })
250
- }, action.name);
251
- })
252
- })
253
- })
254
- ]
255
- });
256
- };
257
- SubCategory.propTypes = {
258
- subCategory: PropTypes.object.isRequired
259
- };
260
-
261
- const PermissionRow = ({ name, permissions })=>{
262
- const subCategories = React.useMemo(()=>{
263
- return sortBy(Object.values(permissions.controllers).reduce((acc, curr, index)=>{
264
- const currentName = `${name}.controllers.${Object.keys(permissions.controllers)[index]}`;
265
- const actions = sortBy(Object.keys(curr).reduce((acc, current)=>{
266
- return [
267
- ...acc,
268
- {
269
- ...curr[current],
270
- label: current,
271
- name: `${currentName}.${current}`
272
- }
273
- ];
274
- }, []), 'label');
275
- return [
276
- ...acc,
277
- {
278
- actions,
279
- label: Object.keys(permissions.controllers)[index],
280
- name: currentName
281
- }
282
- ];
283
- }, []), 'label');
284
- }, [
285
- name,
286
- permissions
287
- ]);
288
- return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
289
- padding: 6,
290
- children: subCategories.map((subCategory)=>/*#__PURE__*/ jsxRuntime.jsx(SubCategory, {
291
- subCategory: subCategory
292
- }, subCategory.name))
293
- });
294
- };
295
- PermissionRow.propTypes = {
296
- name: PropTypes.string.isRequired,
297
- permissions: PropTypes.object.isRequired
298
- };
299
-
300
- const initialState$1 = {
301
- collapses: []
302
- };
303
- const reducer$1 = (state, action)=>// eslint-disable-next-line consistent-return
304
- immer.produce(state, (draftState)=>{
305
- switch(action.type){
306
- case 'TOGGLE_COLLAPSE':
307
- {
308
- draftState.collapses = state.collapses.map((collapse, index)=>{
309
- if (index === action.index) {
310
- return {
311
- ...collapse,
312
- isOpen: !collapse.isOpen
313
- };
314
- }
315
- return {
316
- ...collapse,
317
- isOpen: false
318
- };
319
- });
320
- break;
321
- }
322
- default:
323
- return draftState;
324
- }
325
- });
326
-
327
- const Permissions = ()=>{
328
- const { modifiedData } = useUsersPermissions();
329
- const { formatMessage } = reactIntl.useIntl();
330
- const [{ collapses }] = React.useReducer(reducer$1, initialState$1, (state)=>init$1(state, modifiedData));
331
- return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Accordion.Root, {
332
- size: "M",
333
- children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
334
- direction: "column",
335
- alignItems: "stretch",
336
- gap: 1,
337
- children: collapses.map((collapse, index)=>/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Accordion.Item, {
338
- value: collapse.name,
339
- children: [
340
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Accordion.Header, {
341
- variant: index % 2 === 0 ? 'secondary' : undefined,
342
- children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Accordion.Trigger, {
343
- caretPosition: "right",
344
- description: formatMessage({
345
- id: 'users-permissions.Plugin.permissions.plugins.description',
346
- defaultMessage: 'Define all allowed actions for the {name} plugin.'
347
- }, {
348
- name: collapse.name
349
- }),
350
- children: formatPluginName(collapse.name)
351
- })
352
- }),
353
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Accordion.Content, {
354
- children: /*#__PURE__*/ jsxRuntime.jsx(PermissionRow, {
355
- permissions: modifiedData[collapse.name],
356
- name: collapse.name
357
- })
358
- })
359
- ]
360
- }, collapse.name))
361
- })
362
- });
363
- };
364
-
365
- const getMethodColor = (verb)=>{
366
- switch(verb){
367
- case 'POST':
368
- {
369
- return {
370
- text: 'success600',
371
- border: 'success200',
372
- background: 'success100'
373
- };
374
- }
375
- case 'GET':
376
- {
377
- return {
378
- text: 'secondary600',
379
- border: 'secondary200',
380
- background: 'secondary100'
381
- };
382
- }
383
- case 'PUT':
384
- {
385
- return {
386
- text: 'warning600',
387
- border: 'warning200',
388
- background: 'warning100'
389
- };
390
- }
391
- case 'DELETE':
392
- {
393
- return {
394
- text: 'danger600',
395
- border: 'danger200',
396
- background: 'danger100'
397
- };
398
- }
399
- default:
400
- {
401
- return {
402
- text: 'neutral600',
403
- border: 'neutral200',
404
- background: 'neutral100'
405
- };
406
- }
407
- }
408
- };
409
-
410
- const MethodBox = styledComponents.styled(designSystem.Box)`
411
- margin: -1px;
412
- border-radius: ${({ theme })=>theme.spaces[1]} 0 0 ${({ theme })=>theme.spaces[1]};
413
- `;
414
- function BoundRoute({ route }) {
415
- const { formatMessage } = reactIntl.useIntl();
416
- const { method, handler: title, path } = route;
417
- const formattedRoute = path ? tail(path.split('/')) : [];
418
- const [controller = '', action = ''] = title ? title.split('.') : [];
419
- const colors = getMethodColor(route.method);
420
- return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
421
- direction: "column",
422
- alignItems: "stretch",
423
- gap: 2,
424
- children: [
425
- /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Typography, {
426
- variant: "delta",
427
- tag: "h3",
428
- children: [
429
- formatMessage({
430
- id: 'users-permissions.BoundRoute.title',
431
- defaultMessage: 'Bound route to'
432
- }),
433
- " ",
434
- /*#__PURE__*/ jsxRuntime.jsx("span", {
435
- children: controller
436
- }),
437
- /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Typography, {
438
- variant: "delta",
439
- textColor: "primary600",
440
- children: [
441
- ".",
442
- action
443
- ]
444
- })
445
- ]
446
- }),
447
- /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
448
- hasRadius: true,
449
- background: "neutral0",
450
- borderColor: "neutral200",
451
- gap: 0,
452
- children: [
453
- /*#__PURE__*/ jsxRuntime.jsx(MethodBox, {
454
- background: colors.background,
455
- borderColor: colors.border,
456
- padding: 2,
457
- children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
458
- fontWeight: "bold",
459
- textColor: colors.text,
460
- children: method
461
- })
462
- }),
463
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
464
- paddingLeft: 2,
465
- paddingRight: 2,
466
- children: map(formattedRoute, (value)=>/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Typography, {
467
- textColor: value.includes(':') ? 'neutral600' : 'neutral900',
468
- children: [
469
- "/",
470
- value
471
- ]
472
- }, value))
473
- })
474
- ]
475
- })
476
- ]
477
- });
478
- }
479
- BoundRoute.defaultProps = {
480
- route: {
481
- handler: 'Nocontroller.error',
482
- method: 'GET',
483
- path: '/there-is-no-path'
484
- }
485
- };
486
- BoundRoute.propTypes = {
487
- route: PropTypes.shape({
488
- handler: PropTypes.string,
489
- method: PropTypes.string,
490
- path: PropTypes.string
491
- })
492
- };
493
-
494
- const Policies = ()=>{
495
- const { formatMessage } = reactIntl.useIntl();
496
- const { selectedAction, routes } = useUsersPermissions();
497
- const path = without(selectedAction.split('.'), 'controllers');
498
- const controllerRoutes = get(routes, path[0]);
499
- const pathResolved = path.slice(1).join('.');
500
- const displayedRoutes = isEmpty(controllerRoutes) ? [] : controllerRoutes.filter((o)=>o.handler.endsWith(pathResolved));
501
- return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
502
- col: 5,
503
- background: "neutral150",
504
- paddingTop: 6,
505
- paddingBottom: 6,
506
- paddingLeft: 7,
507
- paddingRight: 7,
508
- style: {
509
- minHeight: '100%'
510
- },
511
- direction: "column",
512
- alignItems: "stretch",
513
- children: selectedAction ? /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
514
- direction: "column",
515
- alignItems: "stretch",
516
- gap: 2,
517
- children: displayedRoutes.map((route, key)=>// eslint-disable-next-line react/no-array-index-key
518
- /*#__PURE__*/ jsxRuntime.jsx(BoundRoute, {
519
- route: route
520
- }, key))
521
- }) : /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
522
- direction: "column",
523
- alignItems: "stretch",
524
- gap: 2,
525
- children: [
526
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
527
- variant: "delta",
528
- tag: "h3",
529
- children: formatMessage({
530
- id: 'users-permissions.Policies.header.title',
531
- defaultMessage: 'Advanced settings'
532
- })
533
- }),
534
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
535
- tag: "p",
536
- textColor: "neutral600",
537
- children: formatMessage({
538
- id: 'users-permissions.Policies.header.hint',
539
- defaultMessage: "Select the application's actions or the plugin's actions and click on the cog icon to display the bound route"
540
- })
541
- })
542
- ]
543
- })
544
- });
545
- };
546
-
547
- const init = (state, permissions, routes)=>{
548
- return {
549
- ...state,
550
- initialData: permissions,
551
- modifiedData: permissions,
552
- routes
553
- };
554
- };
555
-
556
- const initialState = {
557
- initialData: {},
558
- modifiedData: {},
559
- routes: {},
560
- selectedAction: '',
561
- policies: []
562
- };
563
- const reducer = (state, action)=>immer.produce(state, (draftState)=>{
564
- switch(action.type){
565
- case 'ON_CHANGE':
566
- {
567
- const keysLength = action.keys.length;
568
- const isChangingCheckbox = action.keys[keysLength - 1] === 'enabled';
569
- if (action.value && isChangingCheckbox) {
570
- const selectedAction = take(action.keys, keysLength - 1).join('.');
571
- draftState.selectedAction = selectedAction;
572
- }
573
- set(draftState, [
574
- 'modifiedData',
575
- ...action.keys
576
- ], action.value);
577
- break;
578
- }
579
- case 'ON_CHANGE_SELECT_ALL':
580
- {
581
- const pathToValue = [
582
- 'modifiedData',
583
- ...action.keys
584
- ];
585
- const oldValues = get(state, pathToValue, {});
586
- const updatedValues = Object.keys(oldValues).reduce((acc, current)=>{
587
- acc[current] = {
588
- ...oldValues[current],
589
- enabled: action.value
590
- };
591
- return acc;
592
- }, {});
593
- set(draftState, pathToValue, updatedValues);
594
- break;
595
- }
596
- case 'ON_RESET':
597
- {
598
- draftState.modifiedData = state.initialData;
599
- break;
600
- }
601
- case 'ON_SUBMIT_SUCCEEDED':
602
- {
603
- draftState.initialData = state.modifiedData;
604
- break;
605
- }
606
- case 'SELECT_ACTION':
607
- {
608
- const { actionToSelect } = action;
609
- draftState.selectedAction = actionToSelect === state.selectedAction ? '' : actionToSelect;
610
- break;
611
- }
612
- default:
613
- return draftState;
614
- }
615
- });
616
-
617
- const UsersPermissions = /*#__PURE__*/ React.forwardRef(({ permissions, routes }, ref)=>{
618
- const { formatMessage } = reactIntl.useIntl();
619
- const [state, dispatch] = React.useReducer(reducer, initialState, (state)=>init(state, permissions, routes));
620
- React.useImperativeHandle(ref, ()=>({
621
- getPermissions () {
622
- return {
623
- permissions: state.modifiedData
624
- };
625
- },
626
- resetForm () {
627
- dispatch({
628
- type: 'ON_RESET'
629
- });
630
- },
631
- setFormAfterSubmit () {
632
- dispatch({
633
- type: 'ON_SUBMIT_SUCCEEDED'
634
- });
635
- }
636
- }));
637
- const handleChange = ({ target: { name, value } })=>dispatch({
638
- type: 'ON_CHANGE',
639
- keys: name.split('.'),
640
- value: value === 'empty__string_value' ? '' : value
641
- });
642
- const handleChangeSelectAll = ({ target: { name, value } })=>dispatch({
643
- type: 'ON_CHANGE_SELECT_ALL',
644
- keys: name.split('.'),
645
- value
646
- });
647
- const handleSelectedAction = (actionToSelect)=>dispatch({
648
- type: 'SELECT_ACTION',
649
- actionToSelect
650
- });
651
- const providerValue = {
652
- ...state,
653
- onChange: handleChange,
654
- onChangeSelectAll: handleChangeSelectAll,
655
- onSelectedAction: handleSelectedAction
656
- };
657
- return /*#__PURE__*/ jsxRuntime.jsx(UsersPermissionsProvider, {
658
- value: providerValue,
659
- children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Grid.Root, {
660
- gap: 0,
661
- shadow: "filterShadow",
662
- hasRadius: true,
663
- background: "neutral0",
664
- children: [
665
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
666
- col: 7,
667
- paddingTop: 6,
668
- paddingBottom: 6,
669
- paddingLeft: 7,
670
- paddingRight: 7,
671
- direction: "column",
672
- alignItems: "stretch",
673
- children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
674
- direction: "column",
675
- alignItems: "stretch",
676
- gap: 6,
677
- children: [
678
- /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
679
- direction: "column",
680
- alignItems: "stretch",
681
- gap: 2,
682
- children: [
683
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
684
- variant: "delta",
685
- tag: "h2",
686
- children: formatMessage({
687
- id: index.getTrad('Plugins.header.title'),
688
- defaultMessage: 'Permissions'
689
- })
690
- }),
691
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
692
- tag: "p",
693
- textColor: "neutral600",
694
- children: formatMessage({
695
- id: index.getTrad('Plugins.header.description'),
696
- defaultMessage: 'Only actions bound by a route are listed below.'
697
- })
698
- })
699
- ]
700
- }),
701
- /*#__PURE__*/ jsxRuntime.jsx(Permissions, {})
702
- ]
703
- })
704
- }),
705
- /*#__PURE__*/ jsxRuntime.jsx(Policies, {})
706
- ]
707
- })
708
- });
709
- });
710
- UsersPermissions.propTypes = {
711
- permissions: PropTypes.object.isRequired,
712
- routes: PropTypes.object.isRequired
713
- };
714
- var UsersPermissions$1 = /*#__PURE__*/ React.memo(UsersPermissions);
715
-
716
- const createRoleSchema = yup__namespace.object().shape({
717
- name: yup__namespace.string().required(admin.translatedErrors.required.id),
718
- description: yup__namespace.string().required(admin.translatedErrors.required.id)
719
- });
720
-
721
- const cleanPermissions = (permissions)=>Object.keys(permissions).reduce((acc, current)=>{
722
- const currentPermission = permissions[current].controllers;
723
- const cleanedControllers = Object.keys(currentPermission).reduce((acc2, curr)=>{
724
- if (isEmpty(currentPermission[curr])) {
725
- return acc2;
726
- }
727
- acc2[curr] = currentPermission[curr];
728
- return acc2;
729
- }, {});
730
- if (isEmpty(cleanedControllers)) {
731
- return acc;
732
- }
733
- acc[current] = {
734
- controllers: cleanedControllers
735
- };
736
- return acc;
737
- }, {});
738
-
739
- const usePlugins = ()=>{
740
- const { toggleNotification } = admin.useNotification();
741
- const { get } = admin.useFetchClient();
742
- const { formatAPIError } = admin.useAPIErrorHandler(index.getTrad);
743
- const [{ data: permissions, isLoading: isLoadingPermissions, error: permissionsError, refetch: refetchPermissions }, { data: routes, isLoading: isLoadingRoutes, error: routesError, refetch: refetchRoutes }] = reactQuery.useQueries([
744
- {
745
- queryKey: [
746
- 'users-permissions',
747
- 'permissions'
748
- ],
749
- async queryFn () {
750
- const { data: { permissions } } = await get(`/users-permissions/permissions`);
751
- return permissions;
752
- }
753
- },
754
- {
755
- queryKey: [
756
- 'users-permissions',
757
- 'routes'
758
- ],
759
- async queryFn () {
760
- const { data: { routes } } = await get(`/users-permissions/routes`);
761
- return routes;
762
- }
763
- }
764
- ]);
765
- const refetchQueries = async ()=>{
766
- await Promise.all([
767
- refetchPermissions(),
768
- refetchRoutes()
769
- ]);
770
- };
771
- React.useEffect(()=>{
772
- if (permissionsError) {
773
- toggleNotification({
774
- type: 'danger',
775
- message: formatAPIError(permissionsError)
776
- });
777
- }
778
- }, [
779
- toggleNotification,
780
- permissionsError,
781
- formatAPIError
782
- ]);
783
- React.useEffect(()=>{
784
- if (routesError) {
785
- toggleNotification({
786
- type: 'danger',
787
- message: formatAPIError(routesError)
788
- });
789
- }
790
- }, [
791
- toggleNotification,
792
- routesError,
793
- formatAPIError
794
- ]);
795
- const isLoading = isLoadingPermissions || isLoadingRoutes;
796
- return {
797
- // TODO: these return values need to be memoized, otherwise
798
- // they will create infinite rendering loops when used as
799
- // effect dependencies
800
- permissions: permissions ? cleanPermissions(permissions) : {},
801
- routes: routes ?? {},
802
- getData: refetchQueries,
803
- isLoading
804
- };
805
- };
806
-
807
- const CreatePage = ()=>{
808
- const { formatMessage } = reactIntl.useIntl();
809
- const { toggleNotification } = admin.useNotification();
810
- const navigate = reactRouterDom.useNavigate();
811
- const { isLoading: isLoadingPlugins, permissions, routes } = usePlugins();
812
- const { trackUsage } = admin.useTracking();
813
- const permissionsRef = React__namespace.useRef();
814
- const { post } = admin.useFetchClient();
815
- const mutation = reactQuery.useMutation((body)=>post(`/users-permissions/roles`, body), {
816
- onError () {
817
- toggleNotification({
818
- type: 'danger',
819
- message: formatMessage({
820
- id: 'notification.error',
821
- defaultMessage: 'An error occurred'
822
- })
823
- });
824
- },
825
- onSuccess () {
826
- trackUsage('didCreateRole');
827
- toggleNotification({
828
- type: 'success',
829
- message: formatMessage({
830
- id: index.getTrad('Settings.roles.created'),
831
- defaultMessage: 'Role created'
832
- })
833
- });
834
- // Forcing redirecting since we don't have the id in the response
835
- navigate(-1);
836
- }
837
- });
838
- const handleCreateRoleSubmit = async (data)=>{
839
- // TODO: refactor. Child -> parent component communication is evil;
840
- // We should either move the provider one level up or move the state
841
- // straight into redux.
842
- const permissions = permissionsRef.current.getPermissions();
843
- await mutation.mutate({
844
- ...data,
845
- ...permissions,
846
- users: []
847
- });
848
- };
849
- return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Main, {
850
- children: [
851
- /*#__PURE__*/ jsxRuntime.jsx(admin.Page.Title, {
852
- children: formatMessage({
853
- id: 'Settings.PageTitle',
854
- defaultMessage: 'Settings - {name}'
855
- }, {
856
- name: 'Roles'
857
- })
858
- }),
859
- /*#__PURE__*/ jsxRuntime.jsx(formik.Formik, {
860
- enableReinitialize: true,
861
- initialValues: {
862
- name: '',
863
- description: ''
864
- },
865
- onSubmit: handleCreateRoleSubmit,
866
- validationSchema: createRoleSchema,
867
- children: ({ handleSubmit, values, handleChange, errors })=>/*#__PURE__*/ jsxRuntime.jsxs(formik.Form, {
868
- noValidate: true,
869
- onSubmit: handleSubmit,
870
- children: [
871
- /*#__PURE__*/ jsxRuntime.jsx(admin.Layouts.Header, {
872
- primaryAction: !isLoadingPlugins && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
873
- type: "submit",
874
- loading: mutation.isLoading,
875
- startIcon: /*#__PURE__*/ jsxRuntime.jsx(icons.Check, {}),
876
- children: formatMessage({
877
- id: 'global.save',
878
- defaultMessage: 'Save'
879
- })
880
- }),
881
- title: formatMessage({
882
- id: 'Settings.roles.create.title',
883
- defaultMessage: 'Create a role'
884
- }),
885
- subtitle: formatMessage({
886
- id: 'Settings.roles.create.description',
887
- defaultMessage: 'Define the rights given to the role'
888
- })
889
- }),
890
- /*#__PURE__*/ jsxRuntime.jsx(admin.Layouts.Content, {
891
- children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
892
- background: "neutral0",
893
- direction: "column",
894
- alignItems: "stretch",
895
- gap: 7,
896
- hasRadius: true,
897
- paddingTop: 6,
898
- paddingBottom: 6,
899
- paddingLeft: 7,
900
- paddingRight: 7,
901
- shadow: "filterShadow",
902
- children: [
903
- /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
904
- direction: "column",
905
- alignItems: "stretch",
906
- children: [
907
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
908
- variant: "delta",
909
- tag: "h2",
910
- children: formatMessage({
911
- id: index.getTrad('EditPage.form.roles'),
912
- defaultMessage: 'Role details'
913
- })
914
- }),
915
- /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Grid.Root, {
916
- gap: 4,
917
- children: [
918
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
919
- col: 6,
920
- direction: "column",
921
- alignItems: "stretch",
922
- children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
923
- name: "name",
924
- error: errors?.name ? formatMessage({
925
- id: errors.name,
926
- defaultMessage: 'Name is required'
927
- }) : false,
928
- required: true,
929
- children: [
930
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Label, {
931
- children: formatMessage({
932
- id: 'global.name',
933
- defaultMessage: 'Name'
934
- })
935
- }),
936
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.TextInput, {
937
- value: values.name || '',
938
- onChange: handleChange
939
- }),
940
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Error, {})
941
- ]
942
- })
943
- }),
944
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
945
- col: 6,
946
- direction: "column",
947
- alignItems: "stretch",
948
- children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
949
- name: "description",
950
- error: errors?.description ? formatMessage({
951
- id: errors.description,
952
- defaultMessage: 'Description is required'
953
- }) : false,
954
- required: true,
955
- children: [
956
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Label, {
957
- children: formatMessage({
958
- id: 'global.description',
959
- defaultMessage: 'Description'
960
- })
961
- }),
962
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Textarea, {
963
- value: values.description || '',
964
- onChange: handleChange
965
- }),
966
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Error, {})
967
- ]
968
- })
969
- })
970
- ]
971
- })
972
- ]
973
- }),
974
- !isLoadingPlugins && /*#__PURE__*/ jsxRuntime.jsx(UsersPermissions$1, {
975
- ref: permissionsRef,
976
- permissions: permissions,
977
- routes: routes
978
- })
979
- ]
980
- })
981
- })
982
- ]
983
- })
984
- })
985
- ]
986
- });
987
- };
988
- const ProtectedRolesCreatePage = ()=>/*#__PURE__*/ jsxRuntime.jsx(admin.Page.Protect, {
989
- permissions: index.PERMISSIONS.createRole,
990
- children: /*#__PURE__*/ jsxRuntime.jsx(CreatePage, {})
991
- });
992
-
993
- const EditPage = ()=>{
994
- const { formatMessage } = reactIntl.useIntl();
995
- const { toggleNotification } = admin.useNotification();
996
- const { params: { id } } = reactRouterDom.useMatch(`/settings/users-permissions/roles/:id`);
997
- const { get } = admin.useFetchClient();
998
- const { isLoading: isLoadingPlugins, routes } = usePlugins();
999
- const { data: role, isLoading: isLoadingRole, refetch: refetchRole } = reactQuery.useQuery([
1000
- 'users-permissions',
1001
- 'role',
1002
- id
1003
- ], async ()=>{
1004
- // TODO: why doesn't this endpoint follow the admin API conventions?
1005
- const { data: { role } } = await get(`/users-permissions/roles/${id}`);
1006
- return role;
1007
- });
1008
- const permissionsRef = React__namespace.useRef();
1009
- const { put } = admin.useFetchClient();
1010
- const { formatAPIError } = admin.useAPIErrorHandler();
1011
- const mutation = reactQuery.useMutation((body)=>put(`/users-permissions/roles/${id}`, body), {
1012
- onError (error) {
1013
- toggleNotification({
1014
- type: 'danger',
1015
- message: formatAPIError(error)
1016
- });
1017
- },
1018
- async onSuccess () {
1019
- toggleNotification({
1020
- type: 'success',
1021
- message: formatMessage({
1022
- id: index.getTrad('Settings.roles.created'),
1023
- defaultMessage: 'Role edited'
1024
- })
1025
- });
1026
- await refetchRole();
1027
- }
1028
- });
1029
- const handleEditRoleSubmit = async (data)=>{
1030
- const permissions = permissionsRef.current.getPermissions();
1031
- await mutation.mutate({
1032
- ...data,
1033
- ...permissions,
1034
- users: []
1035
- });
1036
- };
1037
- if (isLoadingRole) {
1038
- return /*#__PURE__*/ jsxRuntime.jsx(admin.Page.Loading, {});
1039
- }
1040
- return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Main, {
1041
- children: [
1042
- /*#__PURE__*/ jsxRuntime.jsx(admin.Page.Title, {
1043
- children: formatMessage({
1044
- id: 'Settings.PageTitle',
1045
- defaultMessage: 'Settings - {name}'
1046
- }, {
1047
- name: 'Roles'
1048
- })
1049
- }),
1050
- /*#__PURE__*/ jsxRuntime.jsx(formik.Formik, {
1051
- enableReinitialize: true,
1052
- initialValues: {
1053
- name: role.name,
1054
- description: role.description
1055
- },
1056
- onSubmit: handleEditRoleSubmit,
1057
- validationSchema: createRoleSchema,
1058
- children: ({ handleSubmit, values, handleChange, errors })=>/*#__PURE__*/ jsxRuntime.jsxs(formik.Form, {
1059
- noValidate: true,
1060
- onSubmit: handleSubmit,
1061
- children: [
1062
- /*#__PURE__*/ jsxRuntime.jsx(admin.Layouts.Header, {
1063
- primaryAction: !isLoadingPlugins ? /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
1064
- disabled: role.code === 'strapi-super-admin',
1065
- type: "submit",
1066
- loading: mutation.isLoading,
1067
- startIcon: /*#__PURE__*/ jsxRuntime.jsx(icons.Check, {}),
1068
- children: formatMessage({
1069
- id: 'global.save',
1070
- defaultMessage: 'Save'
1071
- })
1072
- }) : null,
1073
- title: role.name,
1074
- subtitle: role.description,
1075
- navigationAction: /*#__PURE__*/ jsxRuntime.jsx(admin.BackButton, {
1076
- fallback: ".."
1077
- })
1078
- }),
1079
- /*#__PURE__*/ jsxRuntime.jsx(admin.Layouts.Content, {
1080
- children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
1081
- background: "neutral0",
1082
- direction: "column",
1083
- alignItems: "stretch",
1084
- gap: 7,
1085
- hasRadius: true,
1086
- paddingTop: 6,
1087
- paddingBottom: 6,
1088
- paddingLeft: 7,
1089
- paddingRight: 7,
1090
- shadow: "filterShadow",
1091
- children: [
1092
- /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
1093
- direction: "column",
1094
- alignItems: "stretch",
1095
- gap: 4,
1096
- children: [
1097
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
1098
- variant: "delta",
1099
- tag: "h2",
1100
- children: formatMessage({
1101
- id: index.getTrad('EditPage.form.roles'),
1102
- defaultMessage: 'Role details'
1103
- })
1104
- }),
1105
- /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Grid.Root, {
1106
- gap: 4,
1107
- children: [
1108
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
1109
- col: 6,
1110
- direction: "column",
1111
- alignItems: "stretch",
1112
- children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
1113
- name: "name",
1114
- error: errors?.name ? formatMessage({
1115
- id: errors.name,
1116
- defaultMessage: 'Name is required'
1117
- }) : false,
1118
- required: true,
1119
- children: [
1120
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Label, {
1121
- children: formatMessage({
1122
- id: 'global.name',
1123
- defaultMessage: 'Name'
1124
- })
1125
- }),
1126
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.TextInput, {
1127
- value: values.name || '',
1128
- onChange: handleChange
1129
- }),
1130
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Error, {})
1131
- ]
1132
- })
1133
- }),
1134
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
1135
- col: 6,
1136
- direction: "column",
1137
- alignItems: "stretch",
1138
- children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
1139
- name: "description",
1140
- error: errors?.description ? formatMessage({
1141
- id: errors.description,
1142
- defaultMessage: 'Description is required'
1143
- }) : false,
1144
- required: true,
1145
- children: [
1146
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Label, {
1147
- children: formatMessage({
1148
- id: 'global.description',
1149
- defaultMessage: 'Description'
1150
- })
1151
- }),
1152
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Textarea, {
1153
- value: values.description || '',
1154
- onChange: handleChange
1155
- }),
1156
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Error, {})
1157
- ]
1158
- })
1159
- })
1160
- ]
1161
- })
1162
- ]
1163
- }),
1164
- !isLoadingPlugins && /*#__PURE__*/ jsxRuntime.jsx(UsersPermissions$1, {
1165
- ref: permissionsRef,
1166
- permissions: role.permissions,
1167
- routes: routes
1168
- })
1169
- ]
1170
- })
1171
- })
1172
- ]
1173
- })
1174
- })
1175
- ]
1176
- });
1177
- };
1178
- const ProtectedRolesEditPage = ()=>/*#__PURE__*/ jsxRuntime.jsx(admin.Page.Protect, {
1179
- permissions: index.PERMISSIONS.updateRole,
1180
- children: /*#__PURE__*/ jsxRuntime.jsx(EditPage, {})
1181
- });
1182
-
1183
- const EditLink = styledComponents.styled(designSystem.Link)`
1184
- align-items: center;
1185
- height: 3.2rem;
1186
- width: 3.2rem;
1187
- display: flex;
1188
- justify-content: center;
1189
- padding: ${({ theme })=>`${theme.spaces[2]}`};
1190
-
1191
- svg {
1192
- height: 1.6rem;
1193
- width: 1.6rem;
1194
-
1195
- path {
1196
- fill: ${({ theme })=>theme.colors.neutral500};
1197
- }
1198
- }
1199
-
1200
- &:hover,
1201
- &:focus {
1202
- svg {
1203
- path {
1204
- fill: ${({ theme })=>theme.colors.neutral800};
1205
- }
1206
- }
1207
- }
1208
- `;
1209
- const TableBody = ({ sortedRoles, canDelete, canUpdate, setRoleToDelete, onDelete })=>{
1210
- const { formatMessage } = reactIntl.useIntl();
1211
- const navigate = reactRouterDom.useNavigate();
1212
- const [showConfirmDelete, setShowConfirmDelete] = onDelete;
1213
- const checkCanDeleteRole = (role)=>canDelete && ![
1214
- 'public',
1215
- 'authenticated'
1216
- ].includes(role.type);
1217
- const handleClickDelete = (id)=>{
1218
- setRoleToDelete(id);
1219
- setShowConfirmDelete(!showConfirmDelete);
1220
- };
1221
- return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Tbody, {
1222
- children: sortedRoles?.map((role)=>/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Tr, {
1223
- cursor: "pointer",
1224
- onClick: ()=>navigate(role.id.toString()),
1225
- children: [
1226
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
1227
- width: "20%",
1228
- children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
1229
- children: role.name
1230
- })
1231
- }),
1232
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
1233
- width: "50%",
1234
- children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
1235
- children: role.description
1236
- })
1237
- }),
1238
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
1239
- width: "30%",
1240
- children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
1241
- children: formatMessage({
1242
- id: 'Roles.RoleRow.user-count',
1243
- defaultMessage: '{number, plural, =0 {# user} one {# user} other {# users}}'
1244
- }, {
1245
- number: role.nb_users
1246
- })
1247
- })
1248
- }),
1249
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
1250
- children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
1251
- justifyContent: "end",
1252
- onClick: (e)=>e.stopPropagation(),
1253
- children: [
1254
- canUpdate ? /*#__PURE__*/ jsxRuntime.jsx(EditLink, {
1255
- tag: reactRouterDom.NavLink,
1256
- to: role.id.toString(),
1257
- "aria-label": formatMessage({
1258
- id: 'app.component.table.edit',
1259
- defaultMessage: 'Edit {target}'
1260
- }, {
1261
- target: `${role.name}`
1262
- }),
1263
- children: /*#__PURE__*/ jsxRuntime.jsx(icons.Pencil, {})
1264
- }) : null,
1265
- checkCanDeleteRole(role) && /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
1266
- onClick: ()=>handleClickDelete(role.id.toString()),
1267
- variant: "ghost",
1268
- label: formatMessage({
1269
- id: 'global.delete-target',
1270
- defaultMessage: 'Delete {target}'
1271
- }, {
1272
- target: `${role.name}`
1273
- }),
1274
- children: /*#__PURE__*/ jsxRuntime.jsx(icons.Trash, {})
1275
- })
1276
- ]
1277
- })
1278
- })
1279
- ]
1280
- }, role.name))
1281
- });
1282
- };
1283
- TableBody.defaultProps = {
1284
- canDelete: false,
1285
- canUpdate: false
1286
- };
1287
- TableBody.propTypes = {
1288
- onDelete: PropTypes.array.isRequired,
1289
- setRoleToDelete: PropTypes.func.isRequired,
1290
- sortedRoles: PropTypes.array.isRequired,
1291
- canDelete: PropTypes.bool,
1292
- canUpdate: PropTypes.bool
1293
- };
1294
-
1295
- const RolesListPage = ()=>{
1296
- const { trackUsage } = admin.useTracking();
1297
- const { formatMessage, locale } = reactIntl.useIntl();
1298
- const { toggleNotification } = admin.useNotification();
1299
- const { notifyStatus } = designSystem.useNotifyAT();
1300
- const [{ query }] = admin.useQueryParams();
1301
- const _q = query?._q || '';
1302
- const [showConfirmDelete, setShowConfirmDelete] = React.useState(false);
1303
- const [roleToDelete, setRoleToDelete] = React.useState();
1304
- const { del, get } = admin.useFetchClient();
1305
- const { isLoading: isLoadingForPermissions, allowedActions: { canRead, canDelete, canCreate, canUpdate } } = admin.useRBAC({
1306
- create: index.PERMISSIONS.createRole,
1307
- read: index.PERMISSIONS.readRoles,
1308
- update: index.PERMISSIONS.updateRole,
1309
- delete: index.PERMISSIONS.deleteRole
1310
- });
1311
- const { isLoading: isLoadingForData, data: { roles }, isFetching, refetch } = reactQuery.useQuery('get-roles', ()=>fetchData(toggleNotification, formatMessage, notifyStatus), {
1312
- initialData: {},
1313
- enabled: canRead
1314
- });
1315
- const { contains } = designSystem.useFilter(locale, {
1316
- sensitivity: 'base'
1317
- });
1318
- /**
1319
- * @type {Intl.Collator}
1320
- */ const formatter = designSystem.useCollator(locale, {
1321
- sensitivity: 'base'
1322
- });
1323
- const isLoading = isLoadingForData || isFetching || isLoadingForPermissions;
1324
- const handleShowConfirmDelete = ()=>{
1325
- setShowConfirmDelete(!showConfirmDelete);
1326
- };
1327
- const deleteData = async (id, formatMessage, toggleNotification)=>{
1328
- try {
1329
- await del(`/users-permissions/roles/${id}`);
1330
- } catch (error) {
1331
- toggleNotification({
1332
- type: 'danger',
1333
- message: formatMessage({
1334
- id: 'notification.error',
1335
- defaultMessage: 'An error occured'
1336
- })
1337
- });
1338
- }
1339
- };
1340
- const fetchData = async (toggleNotification, formatMessage, notifyStatus)=>{
1341
- try {
1342
- const { data } = await get('/users-permissions/roles');
1343
- notifyStatus('The roles have loaded successfully');
1344
- return data;
1345
- } catch (err) {
1346
- toggleNotification({
1347
- type: 'danger',
1348
- message: formatMessage({
1349
- id: 'notification.error',
1350
- defaultMessage: 'An error occurred'
1351
- })
1352
- });
1353
- throw new Error(err);
1354
- }
1355
- };
1356
- const emptyLayout = {
1357
- roles: {
1358
- id: index.getTrad('Roles.empty'),
1359
- defaultMessage: "You don't have any roles yet."
1360
- },
1361
- search: {
1362
- id: index.getTrad('Roles.empty.search'),
1363
- defaultMessage: 'No roles match the search.'
1364
- }
1365
- };
1366
- const pageTitle = formatMessage({
1367
- id: 'global.roles',
1368
- defaultMessage: 'Roles'
1369
- });
1370
- const deleteMutation = reactQuery.useMutation((id)=>deleteData(id, formatMessage, toggleNotification), {
1371
- async onSuccess () {
1372
- await refetch();
1373
- }
1374
- });
1375
- const handleConfirmDelete = async ()=>{
1376
- await deleteMutation.mutateAsync(roleToDelete);
1377
- setShowConfirmDelete(!showConfirmDelete);
1378
- };
1379
- const sortedRoles = (roles || []).filter((role)=>contains(role.name, _q) || contains(role.description, _q)).sort((a, b)=>formatter.compare(a.name, b.name) || formatter.compare(a.description, b.description));
1380
- const emptyContent = _q && !sortedRoles.length ? 'search' : 'roles';
1381
- const colCount = 4;
1382
- const rowCount = (roles?.length || 0) + 1;
1383
- if (isLoading) {
1384
- return /*#__PURE__*/ jsxRuntime.jsx(admin.Page.Loading, {});
1385
- }
1386
- return /*#__PURE__*/ jsxRuntime.jsxs(admin.Layouts.Root, {
1387
- children: [
1388
- /*#__PURE__*/ jsxRuntime.jsx(admin.Page.Title, {
1389
- children: formatMessage({
1390
- id: 'Settings.PageTitle',
1391
- defaultMessage: 'Settings - {name}'
1392
- }, {
1393
- name: pageTitle
1394
- })
1395
- }),
1396
- /*#__PURE__*/ jsxRuntime.jsxs(admin.Page.Main, {
1397
- children: [
1398
- /*#__PURE__*/ jsxRuntime.jsx(admin.Layouts.Header, {
1399
- title: formatMessage({
1400
- id: 'global.roles',
1401
- defaultMessage: 'Roles'
1402
- }),
1403
- subtitle: formatMessage({
1404
- id: 'Settings.roles.list.description',
1405
- defaultMessage: 'List of roles'
1406
- }),
1407
- primaryAction: canCreate ? /*#__PURE__*/ jsxRuntime.jsx(designSystem.LinkButton, {
1408
- to: "new",
1409
- tag: reactRouterDom.NavLink,
1410
- onClick: ()=>trackUsage('willCreateRole'),
1411
- startIcon: /*#__PURE__*/ jsxRuntime.jsx(icons.Plus, {}),
1412
- size: "S",
1413
- children: formatMessage({
1414
- id: index.getTrad('List.button.roles'),
1415
- defaultMessage: 'Add new role'
1416
- })
1417
- }) : null
1418
- }),
1419
- /*#__PURE__*/ jsxRuntime.jsx(admin.Layouts.Action, {
1420
- startActions: /*#__PURE__*/ jsxRuntime.jsx(admin.SearchInput, {
1421
- label: formatMessage({
1422
- id: 'app.component.search.label',
1423
- defaultMessage: 'Search'
1424
- })
1425
- })
1426
- }),
1427
- /*#__PURE__*/ jsxRuntime.jsxs(admin.Layouts.Content, {
1428
- children: [
1429
- !canRead && /*#__PURE__*/ jsxRuntime.jsx(admin.Page.NoPermissions, {}),
1430
- canRead && sortedRoles && sortedRoles?.length ? /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Table, {
1431
- colCount: colCount,
1432
- rowCount: rowCount,
1433
- children: [
1434
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Thead, {
1435
- children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Tr, {
1436
- children: [
1437
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Th, {
1438
- children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
1439
- variant: "sigma",
1440
- textColor: "neutral600",
1441
- children: formatMessage({
1442
- id: 'global.name',
1443
- defaultMessage: 'Name'
1444
- })
1445
- })
1446
- }),
1447
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Th, {
1448
- children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
1449
- variant: "sigma",
1450
- textColor: "neutral600",
1451
- children: formatMessage({
1452
- id: 'global.description',
1453
- defaultMessage: 'Description'
1454
- })
1455
- })
1456
- }),
1457
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Th, {
1458
- children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
1459
- variant: "sigma",
1460
- textColor: "neutral600",
1461
- children: formatMessage({
1462
- id: 'global.users',
1463
- defaultMessage: 'Users'
1464
- })
1465
- })
1466
- }),
1467
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Th, {
1468
- children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.VisuallyHidden, {
1469
- children: formatMessage({
1470
- id: 'global.actions',
1471
- defaultMessage: 'Actions'
1472
- })
1473
- })
1474
- })
1475
- ]
1476
- })
1477
- }),
1478
- /*#__PURE__*/ jsxRuntime.jsx(TableBody, {
1479
- sortedRoles: sortedRoles,
1480
- canDelete: canDelete,
1481
- canUpdate: canUpdate,
1482
- permissions: index.PERMISSIONS,
1483
- setRoleToDelete: setRoleToDelete,
1484
- onDelete: [
1485
- showConfirmDelete,
1486
- setShowConfirmDelete
1487
- ]
1488
- })
1489
- ]
1490
- }) : /*#__PURE__*/ jsxRuntime.jsx(designSystem.EmptyStateLayout, {
1491
- content: formatMessage(emptyLayout[emptyContent])
1492
- })
1493
- ]
1494
- }),
1495
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Dialog.Root, {
1496
- open: showConfirmDelete,
1497
- onOpenChange: handleShowConfirmDelete,
1498
- children: /*#__PURE__*/ jsxRuntime.jsx(admin.ConfirmDialog, {
1499
- onConfirm: handleConfirmDelete
1500
- })
1501
- })
1502
- ]
1503
- })
1504
- ]
1505
- });
1506
- };
1507
- const ProtectedRolesListPage = ()=>{
1508
- return /*#__PURE__*/ jsxRuntime.jsx(admin.Page.Protect, {
1509
- permissions: index.PERMISSIONS.accessRoles,
1510
- children: /*#__PURE__*/ jsxRuntime.jsx(RolesListPage, {})
1511
- });
1512
- };
1513
-
1514
- const Roles = ()=>{
1515
- return /*#__PURE__*/ jsxRuntime.jsx(admin.Page.Protect, {
1516
- permissions: index.PERMISSIONS.accessRoles,
1517
- children: /*#__PURE__*/ jsxRuntime.jsxs(reactRouterDom.Routes, {
1518
- children: [
1519
- /*#__PURE__*/ jsxRuntime.jsx(reactRouterDom.Route, {
1520
- index: true,
1521
- element: /*#__PURE__*/ jsxRuntime.jsx(ProtectedRolesListPage, {})
1522
- }),
1523
- /*#__PURE__*/ jsxRuntime.jsx(reactRouterDom.Route, {
1524
- path: "new",
1525
- element: /*#__PURE__*/ jsxRuntime.jsx(ProtectedRolesCreatePage, {})
1526
- }),
1527
- /*#__PURE__*/ jsxRuntime.jsx(reactRouterDom.Route, {
1528
- path: ":id",
1529
- element: /*#__PURE__*/ jsxRuntime.jsx(ProtectedRolesEditPage, {})
1530
- })
1531
- ]
1532
- })
1533
- });
1534
- };
1535
-
1536
- exports.default = Roles;
1537
- //# sourceMappingURL=index-DvubCYNe.js.map