@vitnode/core 1.2.0-canary.73 → 1.2.0-canary.75

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 (730) hide show
  1. package/config/next.config.ts +4 -0
  2. package/dist/scripts/plugin.d.ts.map +1 -1
  3. package/dist/scripts/prepare-database.d.ts.map +1 -1
  4. package/dist/scripts/scripts.js +10 -39
  5. package/dist/scripts/shared/file-utils.d.ts +1 -0
  6. package/dist/scripts/shared/file-utils.d.ts.map +1 -1
  7. package/dist/scripts/shared/file-utils.test.d.ts +2 -0
  8. package/dist/scripts/shared/file-utils.test.d.ts.map +1 -0
  9. package/dist/src/api/config.d.ts.map +1 -1
  10. package/dist/src/api/config.js +1 -1
  11. package/dist/src/api/lib/cache-client.d.ts +4 -0
  12. package/dist/src/api/lib/cache-client.d.ts.map +1 -0
  13. package/dist/src/api/lib/cache-client.js +1 -0
  14. package/dist/src/api/lib/cache.d.ts +32 -0
  15. package/dist/src/api/lib/cache.d.ts.map +1 -0
  16. package/dist/src/api/lib/cache.js +1 -0
  17. package/dist/src/api/lib/cache.test.d.ts +2 -0
  18. package/dist/src/api/lib/cache.test.d.ts.map +1 -0
  19. package/dist/src/api/lib/cache.test.js +1 -0
  20. package/dist/src/api/lib/check-staff-permission.d.ts +20 -0
  21. package/dist/src/api/lib/check-staff-permission.d.ts.map +1 -0
  22. package/dist/src/api/lib/check-staff-permission.js +1 -0
  23. package/dist/src/api/lib/module.d.ts +4 -1
  24. package/dist/src/api/lib/module.d.ts.map +1 -1
  25. package/dist/src/api/lib/module.js +1 -1
  26. package/dist/src/api/lib/permission-staff.d.ts +35 -0
  27. package/dist/src/api/lib/permission-staff.d.ts.map +1 -0
  28. package/dist/src/api/lib/permission-staff.js +1 -0
  29. package/dist/src/api/lib/plugin.d.ts +8 -3
  30. package/dist/src/api/lib/plugin.d.ts.map +1 -1
  31. package/dist/src/api/lib/plugin.js +1 -1
  32. package/dist/src/api/lib/queue.d.ts +14 -0
  33. package/dist/src/api/lib/queue.d.ts.map +1 -0
  34. package/dist/src/api/lib/queue.js +1 -0
  35. package/dist/src/api/lib/resolve-role-names.d.ts +7 -0
  36. package/dist/src/api/lib/resolve-role-names.d.ts.map +1 -0
  37. package/dist/src/api/lib/resolve-role-names.js +1 -0
  38. package/dist/src/api/lib/route.d.ts +7 -1
  39. package/dist/src/api/lib/route.d.ts.map +1 -1
  40. package/dist/src/api/lib/route.js +1 -1
  41. package/dist/src/api/lib/staff-permission.d.ts +4 -0
  42. package/dist/src/api/lib/staff-permission.d.ts.map +1 -0
  43. package/dist/src/api/lib/staff-permission.js +1 -0
  44. package/dist/src/api/middlewares/global.middleware.d.ts +18 -5
  45. package/dist/src/api/middlewares/global.middleware.d.ts.map +1 -1
  46. package/dist/src/api/middlewares/global.middleware.js +1 -1
  47. package/dist/src/api/middlewares/rate-limiter.middleware.d.ts +2 -1
  48. package/dist/src/api/middlewares/rate-limiter.middleware.d.ts.map +1 -1
  49. package/dist/src/api/middlewares/rate-limiter.middleware.js +1 -1
  50. package/dist/src/api/models/email.d.ts +11 -1
  51. package/dist/src/api/models/email.d.ts.map +1 -1
  52. package/dist/src/api/models/email.js +1 -1
  53. package/dist/src/api/models/email.test.d.ts +2 -0
  54. package/dist/src/api/models/email.test.d.ts.map +1 -0
  55. package/dist/src/api/models/email.test.js +1 -0
  56. package/dist/src/api/models/queue.d.ts +17 -0
  57. package/dist/src/api/models/queue.d.ts.map +1 -0
  58. package/dist/src/api/models/queue.js +1 -0
  59. package/dist/src/api/models/queue.test.d.ts +2 -0
  60. package/dist/src/api/models/queue.test.d.ts.map +1 -0
  61. package/dist/src/api/models/queue.test.js +1 -0
  62. package/dist/src/api/models/session-admin.d.ts.map +1 -1
  63. package/dist/src/api/models/session-admin.js +1 -1
  64. package/dist/src/api/models/session-cache.d.ts +8 -0
  65. package/dist/src/api/models/session-cache.d.ts.map +1 -0
  66. package/dist/src/api/models/session-cache.js +1 -0
  67. package/dist/src/api/models/session.d.ts.map +1 -1
  68. package/dist/src/api/models/session.js +1 -1
  69. package/dist/src/api/modules/admin/admin.module.d.ts +694 -8
  70. package/dist/src/api/modules/admin/admin.module.d.ts.map +1 -1
  71. package/dist/src/api/modules/admin/admin.module.js +1 -1
  72. package/dist/src/api/modules/admin/advanced/advanced.admin.module.d.ts +64 -2
  73. package/dist/src/api/modules/admin/advanced/advanced.admin.module.d.ts.map +1 -1
  74. package/dist/src/api/modules/admin/advanced/advanced.admin.module.js +1 -1
  75. package/dist/src/api/modules/admin/advanced/queue/queue.admin.module.d.ts +64 -0
  76. package/dist/src/api/modules/admin/advanced/queue/queue.admin.module.d.ts.map +1 -0
  77. package/dist/src/api/modules/admin/advanced/queue/queue.admin.module.js +1 -0
  78. package/dist/src/api/modules/admin/advanced/queue/routes/get.route.d.ts +65 -0
  79. package/dist/src/api/modules/admin/advanced/queue/routes/get.route.d.ts.map +1 -0
  80. package/dist/src/api/modules/admin/advanced/queue/routes/get.route.js +1 -0
  81. package/dist/src/api/modules/admin/debug/debug.admin.module.d.ts +122 -2
  82. package/dist/src/api/modules/admin/debug/debug.admin.module.d.ts.map +1 -1
  83. package/dist/src/api/modules/admin/debug/debug.admin.module.js +1 -1
  84. package/dist/src/api/modules/admin/debug/routes/integrations.route.d.ts +49 -0
  85. package/dist/src/api/modules/admin/debug/routes/integrations.route.d.ts.map +1 -0
  86. package/dist/src/api/modules/admin/debug/routes/integrations.route.js +1 -0
  87. package/dist/src/api/modules/admin/debug/routes/logs.route.d.ts +2 -2
  88. package/dist/src/api/modules/admin/debug/routes/logs.route.d.ts.map +1 -1
  89. package/dist/src/api/modules/admin/debug/routes/logs.route.js +1 -1
  90. package/dist/src/api/modules/admin/debug/routes/queue.route.d.ts +42 -0
  91. package/dist/src/api/modules/admin/debug/routes/queue.route.d.ts.map +1 -0
  92. package/dist/src/api/modules/admin/debug/routes/queue.route.js +1 -0
  93. package/dist/src/api/modules/admin/debug/routes/send-test-email.route.d.ts +43 -0
  94. package/dist/src/api/modules/admin/debug/routes/send-test-email.route.d.ts.map +1 -0
  95. package/dist/src/api/modules/admin/debug/routes/send-test-email.route.js +1 -0
  96. package/dist/src/api/modules/admin/routes/session.route.d.ts +8 -0
  97. package/dist/src/api/modules/admin/routes/session.route.d.ts.map +1 -1
  98. package/dist/src/api/modules/admin/routes/session.route.js +1 -1
  99. package/dist/src/api/modules/admin/staff/lib/resolve-staff-edges.d.ts +38 -0
  100. package/dist/src/api/modules/admin/staff/lib/resolve-staff-edges.d.ts.map +1 -0
  101. package/dist/src/api/modules/admin/staff/lib/resolve-staff-edges.js +1 -0
  102. package/dist/src/api/modules/admin/staff/lib/schema.d.ts +107 -0
  103. package/dist/src/api/modules/admin/staff/lib/schema.d.ts.map +1 -0
  104. package/dist/src/api/modules/admin/staff/lib/schema.js +1 -0
  105. package/dist/src/api/modules/admin/staff/routes/admins.route.d.ts +76 -0
  106. package/dist/src/api/modules/admin/staff/routes/admins.route.d.ts.map +1 -0
  107. package/dist/src/api/modules/admin/staff/routes/admins.route.js +1 -0
  108. package/dist/src/api/modules/admin/staff/routes/create.route.d.ts +52 -0
  109. package/dist/src/api/modules/admin/staff/routes/create.route.d.ts.map +1 -0
  110. package/dist/src/api/modules/admin/staff/routes/create.route.js +1 -0
  111. package/dist/src/api/modules/admin/staff/routes/delete.route.d.ts +36 -0
  112. package/dist/src/api/modules/admin/staff/routes/delete.route.d.ts.map +1 -0
  113. package/dist/src/api/modules/admin/staff/routes/delete.route.js +1 -0
  114. package/dist/src/api/modules/admin/staff/routes/moderators.route.d.ts +76 -0
  115. package/dist/src/api/modules/admin/staff/routes/moderators.route.d.ts.map +1 -0
  116. package/dist/src/api/modules/admin/staff/routes/moderators.route.js +1 -0
  117. package/dist/src/api/modules/admin/staff/routes/permission-catalog.route.d.ts +32 -0
  118. package/dist/src/api/modules/admin/staff/routes/permission-catalog.route.d.ts.map +1 -0
  119. package/dist/src/api/modules/admin/staff/routes/permission-catalog.route.js +1 -0
  120. package/dist/src/api/modules/admin/staff/routes/show-permissions.route.d.ts +75 -0
  121. package/dist/src/api/modules/admin/staff/routes/show-permissions.route.d.ts.map +1 -0
  122. package/dist/src/api/modules/admin/staff/routes/show-permissions.route.js +1 -0
  123. package/dist/src/api/modules/admin/staff/routes/update-permissions.route.d.ts +62 -0
  124. package/dist/src/api/modules/admin/staff/routes/update-permissions.route.d.ts.map +1 -0
  125. package/dist/src/api/modules/admin/staff/routes/update-permissions.route.js +1 -0
  126. package/dist/src/api/modules/admin/staff/staff.admin.module.d.ts +392 -0
  127. package/dist/src/api/modules/admin/staff/staff.admin.module.d.ts.map +1 -0
  128. package/dist/src/api/modules/admin/staff/staff.admin.module.js +1 -0
  129. package/dist/src/api/modules/admin/users/lib/assert-edit-user-permission.d.ts +4 -0
  130. package/dist/src/api/modules/admin/users/lib/assert-edit-user-permission.d.ts.map +1 -0
  131. package/dist/src/api/modules/admin/users/lib/assert-edit-user-permission.js +1 -0
  132. package/dist/src/api/modules/admin/users/routes/create.route.d.ts.map +1 -1
  133. package/dist/src/api/modules/admin/users/routes/create.route.js +1 -1
  134. package/dist/src/api/modules/admin/users/routes/list.route.d.ts +16 -0
  135. package/dist/src/api/modules/admin/users/routes/list.route.d.ts.map +1 -1
  136. package/dist/src/api/modules/admin/users/routes/list.route.js +1 -1
  137. package/dist/src/api/modules/admin/users/routes/show.route.d.ts +19 -2
  138. package/dist/src/api/modules/admin/users/routes/show.route.d.ts.map +1 -1
  139. package/dist/src/api/modules/admin/users/routes/show.route.js +1 -1
  140. package/dist/src/api/modules/admin/users/routes/update.route.d.ts +83 -0
  141. package/dist/src/api/modules/admin/users/routes/update.route.d.ts.map +1 -0
  142. package/dist/src/api/modules/admin/users/routes/update.route.js +1 -0
  143. package/dist/src/api/modules/admin/users/routes/verify-email.route.d.ts +2 -2
  144. package/dist/src/api/modules/admin/users/routes/verify-email.route.d.ts.map +1 -1
  145. package/dist/src/api/modules/admin/users/routes/verify-email.route.js +1 -1
  146. package/dist/src/api/modules/admin/users/users.admin.module.d.ts +110 -4
  147. package/dist/src/api/modules/admin/users/users.admin.module.d.ts.map +1 -1
  148. package/dist/src/api/modules/admin/users/users.admin.module.js +1 -1
  149. package/dist/src/api/modules/queue/cron/process-queue.cron.d.ts +2 -0
  150. package/dist/src/api/modules/queue/cron/process-queue.cron.d.ts.map +1 -0
  151. package/dist/src/api/modules/queue/cron/process-queue.cron.js +1 -0
  152. package/dist/src/api/modules/queue/helpers/process-queue-tasks.d.ts +4 -0
  153. package/dist/src/api/modules/queue/helpers/process-queue-tasks.d.ts.map +1 -0
  154. package/dist/src/api/modules/queue/helpers/process-queue-tasks.js +1 -0
  155. package/dist/src/api/modules/queue/queue.module.d.ts +2 -0
  156. package/dist/src/api/modules/queue/queue.module.d.ts.map +1 -0
  157. package/dist/src/api/modules/queue/queue.module.js +1 -0
  158. package/dist/src/api/modules/queue/tasks/send-email.task.d.ts +10 -0
  159. package/dist/src/api/modules/queue/tasks/send-email.task.d.ts.map +1 -0
  160. package/dist/src/api/modules/queue/tasks/send-email.task.js +1 -0
  161. package/dist/src/api/modules/users/routes/permissions.route.d.ts +26 -0
  162. package/dist/src/api/modules/users/routes/permissions.route.d.ts.map +1 -0
  163. package/dist/src/api/modules/users/routes/permissions.route.js +1 -0
  164. package/dist/src/api/modules/users/routes/reset-passowrd.route.js +1 -1
  165. package/dist/src/api/modules/users/routes/session.route.d.ts +1 -0
  166. package/dist/src/api/modules/users/routes/session.route.d.ts.map +1 -1
  167. package/dist/src/api/modules/users/routes/session.route.js +1 -1
  168. package/dist/src/api/modules/users/users.module.d.ts +24 -0
  169. package/dist/src/api/modules/users/users.module.d.ts.map +1 -1
  170. package/dist/src/api/modules/users/users.module.js +1 -1
  171. package/dist/src/api/plugin.d.ts.map +1 -1
  172. package/dist/src/api/plugin.js +1 -1
  173. package/dist/src/components/confirm-action/confirm-action-alert-dialog.d.ts +1 -1
  174. package/dist/src/components/confirm-action/confirm-action-alert-dialog.d.ts.map +1 -1
  175. package/dist/src/components/confirm-action/confirm-action-alert-dialog.js +1 -1
  176. package/dist/src/components/form/auto-form.js +1 -1
  177. package/dist/src/components/form/fields/array.d.ts.map +1 -1
  178. package/dist/src/components/form/fields/checkbox.js +1 -1
  179. package/dist/src/components/form/fields/select.d.ts.map +1 -1
  180. package/dist/src/components/form/fields/select.js +1 -1
  181. package/dist/src/components/form/fields/switch.js +1 -1
  182. package/dist/src/components/staff-permission/provider.d.ts +13 -0
  183. package/dist/src/components/staff-permission/provider.d.ts.map +1 -0
  184. package/dist/src/components/staff-permission/provider.js +1 -0
  185. package/dist/src/components/switchers/langs/language-switcher.d.ts.map +1 -1
  186. package/dist/src/components/switchers/langs/language-switcher.js +1 -1
  187. package/dist/src/components/switchers/themes/theme-switcher.js +1 -1
  188. package/dist/src/components/table/filters.d.ts.map +1 -1
  189. package/dist/src/components/table/filters.js +1 -1
  190. package/dist/src/components/table/pagination.d.ts.map +1 -1
  191. package/dist/src/components/table/pagination.js +1 -1
  192. package/dist/src/components/theme-provider.d.ts +26 -0
  193. package/dist/src/components/theme-provider.d.ts.map +1 -0
  194. package/dist/src/components/theme-provider.js +1 -0
  195. package/dist/src/components/tiptap/toolbar/actions/alignment-action.d.ts.map +1 -1
  196. package/dist/src/components/tiptap/toolbar/actions/alignment-action.js +1 -1
  197. package/dist/src/components/tiptap/toolbar/actions/headings-action.d.ts.map +1 -1
  198. package/dist/src/components/tiptap/toolbar/actions/headings-action.js +1 -1
  199. package/dist/src/components/tiptap/toolbar/actions/text-format-more/text-format-more.d.ts.map +1 -1
  200. package/dist/src/components/tiptap/toolbar/actions/text-format-more/text-format-more.js +1 -1
  201. package/dist/src/components/ui/accordion.d.ts +3 -3
  202. package/dist/src/components/ui/accordion.d.ts.map +1 -1
  203. package/dist/src/components/ui/accordion.js +1 -1
  204. package/dist/src/components/ui/alert-dialog.d.ts +10 -10
  205. package/dist/src/components/ui/alert-dialog.d.ts.map +1 -1
  206. package/dist/src/components/ui/alert-dialog.js +1 -1
  207. package/dist/src/components/ui/alert.d.ts +2 -2
  208. package/dist/src/components/ui/alert.d.ts.map +1 -1
  209. package/dist/src/components/ui/alert.js +1 -1
  210. package/dist/src/components/ui/aspect-ratio.d.ts +4 -2
  211. package/dist/src/components/ui/aspect-ratio.d.ts.map +1 -1
  212. package/dist/src/components/ui/aspect-ratio.js +1 -1
  213. package/dist/src/components/ui/avatar.d.ts +2 -2
  214. package/dist/src/components/ui/avatar.d.ts.map +1 -1
  215. package/dist/src/components/ui/avatar.js +1 -1
  216. package/dist/src/components/ui/badge.d.ts +3 -5
  217. package/dist/src/components/ui/badge.d.ts.map +1 -1
  218. package/dist/src/components/ui/badge.js +1 -1
  219. package/dist/src/components/ui/breadcrumb.d.ts +3 -4
  220. package/dist/src/components/ui/breadcrumb.d.ts.map +1 -1
  221. package/dist/src/components/ui/breadcrumb.js +1 -1
  222. package/dist/src/components/ui/button-client.d.ts +1 -1
  223. package/dist/src/components/ui/button-client.d.ts.map +1 -1
  224. package/dist/src/components/ui/button-client.js +1 -1
  225. package/dist/src/components/ui/button-group.d.ts +2 -3
  226. package/dist/src/components/ui/button-group.d.ts.map +1 -1
  227. package/dist/src/components/ui/button-group.js +1 -1
  228. package/dist/src/components/ui/button.d.ts +5 -5
  229. package/dist/src/components/ui/button.d.ts.map +1 -1
  230. package/dist/src/components/ui/button.js +1 -1
  231. package/dist/src/components/ui/card.d.ts +1 -1
  232. package/dist/src/components/ui/card.d.ts.map +1 -1
  233. package/dist/src/components/ui/card.js +1 -1
  234. package/dist/src/components/ui/carousel.d.ts +1 -1
  235. package/dist/src/components/ui/carousel.d.ts.map +1 -1
  236. package/dist/src/components/ui/carousel.js +1 -1
  237. package/dist/src/components/ui/chart.d.ts +1 -1
  238. package/dist/src/components/ui/chart.d.ts.map +1 -1
  239. package/dist/src/components/ui/chart.js +1 -1
  240. package/dist/src/components/ui/checkbox.d.ts +2 -2
  241. package/dist/src/components/ui/checkbox.d.ts.map +1 -1
  242. package/dist/src/components/ui/checkbox.js +1 -1
  243. package/dist/src/components/ui/collapsible.d.ts +5 -4
  244. package/dist/src/components/ui/collapsible.d.ts.map +1 -1
  245. package/dist/src/components/ui/collapsible.js +1 -1
  246. package/dist/src/components/ui/combobox.d.ts +1 -1
  247. package/dist/src/components/ui/combobox.d.ts.map +1 -1
  248. package/dist/src/components/ui/combobox.js +1 -1
  249. package/dist/src/components/ui/command.d.ts +1 -1
  250. package/dist/src/components/ui/command.d.ts.map +1 -1
  251. package/dist/src/components/ui/command.js +1 -1
  252. package/dist/src/components/ui/context-menu.d.ts +7 -9
  253. package/dist/src/components/ui/context-menu.d.ts.map +1 -1
  254. package/dist/src/components/ui/context-menu.js +1 -1
  255. package/dist/src/components/ui/dialog.d.ts +12 -9
  256. package/dist/src/components/ui/dialog.d.ts.map +1 -1
  257. package/dist/src/components/ui/dialog.js +1 -1
  258. package/dist/src/components/ui/direction.d.ts +5 -5
  259. package/dist/src/components/ui/direction.d.ts.map +1 -1
  260. package/dist/src/components/ui/direction.js +1 -1
  261. package/dist/src/components/ui/drawer.d.ts +1 -1
  262. package/dist/src/components/ui/drawer.d.ts.map +1 -1
  263. package/dist/src/components/ui/drawer.js +1 -1
  264. package/dist/src/components/ui/dropdown-menu.d.ts +16 -16
  265. package/dist/src/components/ui/dropdown-menu.d.ts.map +1 -1
  266. package/dist/src/components/ui/dropdown-menu.js +1 -1
  267. package/dist/src/components/ui/empty.d.ts.map +1 -1
  268. package/dist/src/components/ui/empty.js +1 -1
  269. package/dist/src/components/ui/field.js +1 -1
  270. package/dist/src/components/ui/form.d.ts +1 -2
  271. package/dist/src/components/ui/form.d.ts.map +1 -1
  272. package/dist/src/components/ui/form.js +1 -1
  273. package/dist/src/components/ui/hover-card.d.ts +5 -5
  274. package/dist/src/components/ui/hover-card.d.ts.map +1 -1
  275. package/dist/src/components/ui/hover-card.js +1 -1
  276. package/dist/src/components/ui/input-group.d.ts +4 -2
  277. package/dist/src/components/ui/input-group.d.ts.map +1 -1
  278. package/dist/src/components/ui/input-group.js +1 -1
  279. package/dist/src/components/ui/input-otp.d.ts +1 -1
  280. package/dist/src/components/ui/input-otp.d.ts.map +1 -1
  281. package/dist/src/components/ui/input-otp.js +1 -1
  282. package/dist/src/components/ui/input.d.ts +1 -1
  283. package/dist/src/components/ui/input.d.ts.map +1 -1
  284. package/dist/src/components/ui/input.js +1 -1
  285. package/dist/src/components/ui/item.d.ts +4 -5
  286. package/dist/src/components/ui/item.d.ts.map +1 -1
  287. package/dist/src/components/ui/item.js +1 -1
  288. package/dist/src/components/ui/label.d.ts +2 -3
  289. package/dist/src/components/ui/label.d.ts.map +1 -1
  290. package/dist/src/components/ui/label.js +1 -1
  291. package/dist/src/components/ui/menubar.d.ts +18 -17
  292. package/dist/src/components/ui/menubar.d.ts.map +1 -1
  293. package/dist/src/components/ui/menubar.js +1 -1
  294. package/dist/src/components/ui/native-select.d.ts +1 -1
  295. package/dist/src/components/ui/native-select.d.ts.map +1 -1
  296. package/dist/src/components/ui/native-select.js +1 -1
  297. package/dist/src/components/ui/navigation-menu.d.ts +9 -11
  298. package/dist/src/components/ui/navigation-menu.d.ts.map +1 -1
  299. package/dist/src/components/ui/navigation-menu.js +1 -1
  300. package/dist/src/components/ui/pagination.d.ts +1 -1
  301. package/dist/src/components/ui/pagination.d.ts.map +1 -1
  302. package/dist/src/components/ui/pagination.js +1 -1
  303. package/dist/src/components/ui/popover.d.ts +6 -7
  304. package/dist/src/components/ui/popover.d.ts.map +1 -1
  305. package/dist/src/components/ui/popover.js +1 -1
  306. package/dist/src/components/ui/progress.d.ts +2 -2
  307. package/dist/src/components/ui/progress.d.ts.map +1 -1
  308. package/dist/src/components/ui/progress.js +1 -1
  309. package/dist/src/components/ui/radio-group.d.ts +5 -4
  310. package/dist/src/components/ui/radio-group.d.ts.map +1 -1
  311. package/dist/src/components/ui/radio-group.js +1 -1
  312. package/dist/src/components/ui/scroll-area.d.ts +3 -3
  313. package/dist/src/components/ui/scroll-area.d.ts.map +1 -1
  314. package/dist/src/components/ui/scroll-area.js +1 -1
  315. package/dist/src/components/ui/select.d.ts +6 -6
  316. package/dist/src/components/ui/select.d.ts.map +1 -1
  317. package/dist/src/components/ui/select.js +1 -1
  318. package/dist/src/components/ui/separator.d.ts +3 -3
  319. package/dist/src/components/ui/separator.d.ts.map +1 -1
  320. package/dist/src/components/ui/separator.js +1 -1
  321. package/dist/src/components/ui/sheet.d.ts +8 -8
  322. package/dist/src/components/ui/sheet.d.ts.map +1 -1
  323. package/dist/src/components/ui/sheet.js +1 -1
  324. package/dist/src/components/ui/sidebar.d.ts +9 -15
  325. package/dist/src/components/ui/sidebar.d.ts.map +1 -1
  326. package/dist/src/components/ui/sidebar.js +1 -1
  327. package/dist/src/components/ui/slider.d.ts +2 -2
  328. package/dist/src/components/ui/slider.d.ts.map +1 -1
  329. package/dist/src/components/ui/slider.js +1 -1
  330. package/dist/src/components/ui/sonner.d.ts.map +1 -1
  331. package/dist/src/components/ui/sonner.js +1 -1
  332. package/dist/src/components/ui/spinner.d.ts.map +1 -1
  333. package/dist/src/components/ui/spinner.js +1 -1
  334. package/dist/src/components/ui/switch.d.ts +2 -2
  335. package/dist/src/components/ui/switch.d.ts.map +1 -1
  336. package/dist/src/components/ui/switch.js +1 -1
  337. package/dist/src/components/ui/table.d.ts +1 -1
  338. package/dist/src/components/ui/table.d.ts.map +1 -1
  339. package/dist/src/components/ui/table.js +1 -1
  340. package/dist/src/components/ui/tabs.d.ts +4 -4
  341. package/dist/src/components/ui/tabs.d.ts.map +1 -1
  342. package/dist/src/components/ui/tabs.js +1 -1
  343. package/dist/src/components/ui/textarea.d.ts +1 -1
  344. package/dist/src/components/ui/textarea.d.ts.map +1 -1
  345. package/dist/src/components/ui/textarea.js +1 -1
  346. package/dist/src/components/ui/toggle-group.d.ts +1 -1
  347. package/dist/src/components/ui/toggle-group.d.ts.map +1 -1
  348. package/dist/src/components/ui/toggle-group.js +1 -1
  349. package/dist/src/components/ui/tooltip.d.ts +1 -1
  350. package/dist/src/components/ui/tooltip.d.ts.map +1 -1
  351. package/dist/src/components/ui/tooltip.js +1 -1
  352. package/dist/src/config.js +1 -1
  353. package/dist/src/database/admins.d.ts +20 -0
  354. package/dist/src/database/admins.d.ts.map +1 -1
  355. package/dist/src/database/admins.js +1 -1
  356. package/dist/src/database/languages.d.ts.map +1 -1
  357. package/dist/src/database/languages.js +1 -1
  358. package/dist/src/database/logs.d.ts +1 -1
  359. package/dist/src/database/moderators.d.ts +20 -0
  360. package/dist/src/database/moderators.d.ts.map +1 -1
  361. package/dist/src/database/moderators.js +1 -1
  362. package/dist/src/database/queue.d.ts +273 -0
  363. package/dist/src/database/queue.d.ts.map +1 -0
  364. package/dist/src/database/queue.js +1 -0
  365. package/dist/src/database/users.d.ts +63 -0
  366. package/dist/src/database/users.d.ts.map +1 -1
  367. package/dist/src/database/users.js +1 -1
  368. package/dist/src/emails/default-template.d.ts +1 -1
  369. package/dist/src/emails/default-template.d.ts.map +1 -1
  370. package/dist/src/emails/default-template.js +1 -1
  371. package/dist/src/emails/reset-password.js +1 -1
  372. package/dist/src/emails/test-email.d.ts +26 -0
  373. package/dist/src/emails/test-email.d.ts.map +1 -0
  374. package/dist/src/emails/test-email.js +1 -0
  375. package/dist/src/emails/ui/button.d.ts +2 -2
  376. package/dist/src/emails/ui/button.d.ts.map +1 -1
  377. package/dist/src/emails/ui/button.js +1 -1
  378. package/dist/src/emails/ui/card.d.ts +1 -1
  379. package/dist/src/emails/ui/card.d.ts.map +1 -1
  380. package/dist/src/emails/ui/card.js +1 -1
  381. package/dist/src/hooks/use-captcha.d.ts.map +1 -1
  382. package/dist/src/hooks/use-captcha.js +1 -1
  383. package/dist/src/hooks/use-mobile.js +1 -1
  384. package/dist/src/lib/api/get-moderator-permissions-api.d.ts +4 -0
  385. package/dist/src/lib/api/get-moderator-permissions-api.d.ts.map +1 -0
  386. package/dist/src/lib/api/get-moderator-permissions-api.js +1 -0
  387. package/dist/src/lib/api/get-next-cron-run-date.js +1 -1
  388. package/dist/src/lib/api/get-queue-backoff-date.d.ts +2 -0
  389. package/dist/src/lib/api/get-queue-backoff-date.d.ts.map +1 -0
  390. package/dist/src/lib/api/get-queue-backoff-date.js +1 -0
  391. package/dist/src/lib/api/get-queue-backoff-date.test.d.ts +2 -0
  392. package/dist/src/lib/api/get-queue-backoff-date.test.d.ts.map +1 -0
  393. package/dist/src/lib/api/get-queue-backoff-date.test.js +1 -0
  394. package/dist/src/lib/api/get-session-admin-api.d.ts +12 -0
  395. package/dist/src/lib/api/get-session-admin-api.d.ts.map +1 -1
  396. package/dist/src/lib/api/get-session-admin-api.js +1 -1
  397. package/dist/src/lib/api/get-session-api.d.ts +1 -0
  398. package/dist/src/lib/api/get-session-api.d.ts.map +1 -1
  399. package/dist/src/lib/api/resolve-queue-task-outcome.d.ts +14 -0
  400. package/dist/src/lib/api/resolve-queue-task-outcome.d.ts.map +1 -0
  401. package/dist/src/lib/api/resolve-queue-task-outcome.js +1 -0
  402. package/dist/src/lib/api/resolve-queue-task-outcome.test.d.ts +2 -0
  403. package/dist/src/lib/api/resolve-queue-task-outcome.test.d.ts.map +1 -0
  404. package/dist/src/lib/api/resolve-queue-task-outcome.test.js +1 -0
  405. package/dist/src/lib/api/should-cron-job-run.js +1 -1
  406. package/dist/src/lib/config.d.ts +1 -0
  407. package/dist/src/lib/config.d.ts.map +1 -1
  408. package/dist/src/lib/config.js +1 -1
  409. package/dist/src/lib/fetcher/types.d.ts.map +1 -1
  410. package/dist/src/lib/navigation.d.ts +5 -5
  411. package/dist/src/lib/plugin.d.ts +3 -0
  412. package/dist/src/lib/plugin.d.ts.map +1 -1
  413. package/dist/src/lib/utils.d.ts +1 -0
  414. package/dist/src/lib/utils.d.ts.map +1 -1
  415. package/dist/src/lib/utils.js +1 -1
  416. package/dist/src/routes/admin/core/advanced/queue/page.d.ts +13 -0
  417. package/dist/src/routes/admin/core/advanced/queue/page.d.ts.map +1 -0
  418. package/dist/src/routes/admin/core/advanced/queue/page.js +1 -0
  419. package/dist/src/routes/admin/core/debug/page.d.ts.map +1 -1
  420. package/dist/src/routes/admin/core/debug/page.js +1 -1
  421. package/dist/src/routes/admin/core/staff/admins/create/page.d.ts +3 -0
  422. package/dist/src/routes/admin/core/staff/admins/create/page.d.ts.map +1 -0
  423. package/dist/src/routes/admin/core/staff/admins/create/page.js +1 -0
  424. package/dist/src/routes/admin/core/staff/admins/edit/[id]/page.d.ts +7 -0
  425. package/dist/src/routes/admin/core/staff/admins/edit/[id]/page.d.ts.map +1 -0
  426. package/dist/src/routes/admin/core/staff/admins/edit/[id]/page.js +1 -0
  427. package/dist/src/routes/admin/core/staff/admins/page.d.ts +4 -0
  428. package/dist/src/routes/admin/core/staff/admins/page.d.ts.map +1 -0
  429. package/dist/src/routes/admin/core/staff/admins/page.js +1 -0
  430. package/dist/src/routes/admin/core/staff/moderators/create/page.d.ts +3 -0
  431. package/dist/src/routes/admin/core/staff/moderators/create/page.d.ts.map +1 -0
  432. package/dist/src/routes/admin/core/staff/moderators/create/page.js +1 -0
  433. package/dist/src/routes/admin/core/staff/moderators/edit/[id]/page.d.ts +7 -0
  434. package/dist/src/routes/admin/core/staff/moderators/edit/[id]/page.d.ts.map +1 -0
  435. package/dist/src/routes/admin/core/staff/moderators/edit/[id]/page.js +1 -0
  436. package/dist/src/routes/admin/core/staff/moderators/page.d.ts +4 -0
  437. package/dist/src/routes/admin/core/staff/moderators/page.d.ts.map +1 -0
  438. package/dist/src/routes/admin/core/staff/moderators/page.js +1 -0
  439. package/dist/src/routes/admin/core/system/integrations/page.d.ts +7 -0
  440. package/dist/src/routes/admin/core/system/integrations/page.d.ts.map +1 -0
  441. package/dist/src/routes/admin/core/system/integrations/page.js +1 -0
  442. package/dist/src/routes/admin/core/users/{[nameCode] → [id]}/page.d.ts +2 -2
  443. package/dist/src/routes/admin/core/users/[id]/page.d.ts.map +1 -0
  444. package/dist/src/routes/admin/core/users/[id]/page.js +1 -0
  445. package/dist/src/routes/admin/core/users/page.d.ts.map +1 -1
  446. package/dist/src/routes/admin/core/users/page.js +1 -1
  447. package/dist/src/routes/breadcrumb/admin/[...all]/page.d.ts +1 -5
  448. package/dist/src/routes/breadcrumb/admin/[...all]/page.d.ts.map +1 -1
  449. package/dist/src/routes/breadcrumb/admin/[...all]/page.js +1 -1
  450. package/dist/src/routes/breadcrumb/admin/core/staff/admins/create/page.d.ts +2 -0
  451. package/dist/src/routes/breadcrumb/admin/core/staff/admins/create/page.d.ts.map +1 -0
  452. package/dist/src/routes/breadcrumb/admin/core/staff/admins/create/page.js +1 -0
  453. package/dist/src/routes/breadcrumb/admin/core/{users/[nameCode] → staff/admins/edit/[id]}/page.d.ts +1 -1
  454. package/dist/src/routes/breadcrumb/admin/core/staff/admins/edit/[id]/page.d.ts.map +1 -0
  455. package/dist/src/routes/breadcrumb/admin/core/staff/admins/edit/[id]/page.js +1 -0
  456. package/dist/src/routes/breadcrumb/admin/core/staff/admins/page.d.ts +2 -0
  457. package/dist/src/routes/breadcrumb/admin/core/staff/admins/page.d.ts.map +1 -0
  458. package/dist/src/routes/breadcrumb/admin/core/staff/admins/page.js +1 -0
  459. package/dist/src/routes/breadcrumb/admin/core/staff/moderators/create/page.d.ts +2 -0
  460. package/dist/src/routes/breadcrumb/admin/core/staff/moderators/create/page.d.ts.map +1 -0
  461. package/dist/src/routes/breadcrumb/admin/core/staff/moderators/create/page.js +1 -0
  462. package/dist/src/routes/breadcrumb/admin/core/staff/moderators/edit/[id]/page.d.ts +6 -0
  463. package/dist/src/routes/breadcrumb/admin/core/staff/moderators/edit/[id]/page.d.ts.map +1 -0
  464. package/dist/src/routes/breadcrumb/admin/core/staff/moderators/edit/[id]/page.js +1 -0
  465. package/dist/src/routes/breadcrumb/admin/core/staff/moderators/page.d.ts +2 -0
  466. package/dist/src/routes/breadcrumb/admin/core/staff/moderators/page.d.ts.map +1 -0
  467. package/dist/src/routes/breadcrumb/admin/core/staff/moderators/page.js +1 -0
  468. package/dist/src/routes/breadcrumb/admin/core/users/[id]/page.d.ts +6 -0
  469. package/dist/src/routes/breadcrumb/admin/core/users/[id]/page.d.ts.map +1 -0
  470. package/dist/src/routes/breadcrumb/admin/core/users/{[nameCode] → [id]}/page.js +1 -1
  471. package/dist/src/routes/breadcrumb/main/[...rest]/page.d.ts +1 -5
  472. package/dist/src/routes/breadcrumb/main/[...rest]/page.d.ts.map +1 -1
  473. package/dist/src/routes/breadcrumb/main/[...rest]/page.js +1 -1
  474. package/dist/src/routes/breadcrumb/main/settings/overview/page.d.ts.map +1 -0
  475. package/dist/src/routes/breadcrumb/main/settings/overview/page.js +1 -0
  476. package/dist/src/routes/breadcrumb/main/settings/page.d.ts.map +1 -0
  477. package/dist/src/routes/breadcrumb/main/{register → settings}/page.js +1 -1
  478. package/dist/src/routes/breadcrumb/main/settings/security/page.d.ts.map +1 -0
  479. package/dist/src/routes/breadcrumb/main/settings/security/page.js +1 -0
  480. package/dist/src/routes/main/settings/layout.d.ts +5 -0
  481. package/dist/src/routes/main/settings/layout.d.ts.map +1 -0
  482. package/dist/src/routes/main/settings/layout.js +1 -0
  483. package/dist/src/routes/main/settings/overview/page.d.ts +5 -0
  484. package/dist/src/routes/main/settings/overview/page.d.ts.map +1 -0
  485. package/dist/src/routes/main/settings/overview/page.js +1 -0
  486. package/dist/src/routes/main/settings/page.d.ts +5 -0
  487. package/dist/src/routes/main/settings/page.d.ts.map +1 -0
  488. package/dist/src/routes/main/settings/page.js +1 -0
  489. package/dist/src/routes/main/settings/security/page.d.ts +5 -0
  490. package/dist/src/routes/main/settings/security/page.d.ts.map +1 -0
  491. package/dist/src/routes/main/settings/security/page.js +1 -0
  492. package/dist/src/views/admin/layouts/admin-layout.d.ts.map +1 -1
  493. package/dist/src/views/admin/layouts/admin-layout.js +1 -1
  494. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-admin.d.ts +6 -0
  495. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-admin.d.ts.map +1 -0
  496. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-admin.js +1 -0
  497. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-create-admin.d.ts +5 -0
  498. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-create-admin.d.ts.map +1 -0
  499. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-create-admin.js +1 -0
  500. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-edit-admin.d.ts +6 -0
  501. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-edit-admin.d.ts.map +1 -0
  502. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-edit-admin.js +1 -0
  503. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-user-admin.d.ts +2 -2
  504. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-user-admin.d.ts.map +1 -1
  505. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-user-admin.js +1 -1
  506. package/dist/src/views/admin/layouts/breadcrumb/resolve-breadcrumb.d.ts.map +1 -1
  507. package/dist/src/views/admin/layouts/breadcrumb/resolve-breadcrumb.js +1 -1
  508. package/dist/src/views/admin/layouts/sidebar/nav/get-admin-nav.d.ts.map +1 -1
  509. package/dist/src/views/admin/layouts/sidebar/nav/get-admin-nav.js +1 -1
  510. package/dist/src/views/admin/layouts/sidebar/nav/item.d.ts.map +1 -1
  511. package/dist/src/views/admin/layouts/sidebar/nav/item.js +1 -1
  512. package/dist/src/views/admin/layouts/user-bar/client.d.ts.map +1 -1
  513. package/dist/src/views/admin/layouts/user-bar/client.js +1 -1
  514. package/dist/src/views/admin/layouts/user-bar/user-bar.js +1 -1
  515. package/dist/src/views/admin/views/core/advanced/queue/badges/status-badge.d.ts +5 -0
  516. package/dist/src/views/admin/views/core/advanced/queue/badges/status-badge.d.ts.map +1 -0
  517. package/dist/src/views/admin/views/core/advanced/queue/badges/status-badge.js +1 -0
  518. package/dist/src/views/admin/views/core/advanced/queue/queue-table-view.d.ts +7 -0
  519. package/dist/src/views/admin/views/core/advanced/queue/queue-table-view.d.ts.map +1 -0
  520. package/dist/src/views/admin/views/core/advanced/queue/queue-table-view.js +1 -0
  521. package/dist/src/views/admin/views/core/debug/actions/clear-cache/mutation-api.d.ts.map +1 -1
  522. package/dist/src/views/admin/views/core/debug/actions/clear-cache/mutation-api.js +1 -1
  523. package/dist/src/views/admin/views/core/debug/queue/queue-view.d.ts +2 -0
  524. package/dist/src/views/admin/views/core/debug/queue/queue-view.d.ts.map +1 -0
  525. package/dist/src/views/admin/views/core/debug/queue/queue-view.js +1 -0
  526. package/dist/src/views/admin/views/core/debug/system-logs/actions/more/more.d.ts +1 -1
  527. package/dist/src/views/admin/views/core/debug/system-logs/actions/more/more.d.ts.map +1 -1
  528. package/dist/src/views/admin/views/core/debug/system-logs/actions/more/more.js +1 -1
  529. package/dist/src/views/admin/views/core/debug/system-logs/system-logs-view.d.ts +1 -1
  530. package/dist/src/views/admin/views/core/staff/create/create-staff-permissions-view.d.ts +5 -0
  531. package/dist/src/views/admin/views/core/staff/create/create-staff-permissions-view.d.ts.map +1 -0
  532. package/dist/src/views/admin/views/core/staff/create/create-staff-permissions-view.js +1 -0
  533. package/dist/src/views/admin/views/core/staff/create/form.d.ts +6 -0
  534. package/dist/src/views/admin/views/core/staff/create/form.d.ts.map +1 -0
  535. package/dist/src/views/admin/views/core/staff/create/form.js +1 -0
  536. package/dist/src/views/admin/views/core/staff/create/mutation-api.d.ts +14 -0
  537. package/dist/src/views/admin/views/core/staff/create/mutation-api.d.ts.map +1 -0
  538. package/dist/src/views/admin/views/core/staff/create/mutation-api.js +1 -0
  539. package/dist/src/views/admin/views/core/staff/create/search.action.d.ts +8 -0
  540. package/dist/src/views/admin/views/core/staff/create/search.action.d.ts.map +1 -0
  541. package/dist/src/views/admin/views/core/staff/create/search.action.js +1 -0
  542. package/dist/src/views/admin/views/core/staff/edit/edit-staff-permissions-view.d.ts +8 -0
  543. package/dist/src/views/admin/views/core/staff/edit/edit-staff-permissions-view.d.ts.map +1 -0
  544. package/dist/src/views/admin/views/core/staff/edit/edit-staff-permissions-view.js +1 -0
  545. package/dist/src/views/admin/views/core/staff/edit/form.d.ts +29 -0
  546. package/dist/src/views/admin/views/core/staff/edit/form.d.ts.map +1 -0
  547. package/dist/src/views/admin/views/core/staff/edit/form.js +1 -0
  548. package/dist/src/views/admin/views/core/staff/edit/mutation-api.d.ts +13 -0
  549. package/dist/src/views/admin/views/core/staff/edit/mutation-api.d.ts.map +1 -0
  550. package/dist/src/views/admin/views/core/staff/edit/mutation-api.js +1 -0
  551. package/dist/src/views/admin/views/core/staff/selectable-card.d.ts +11 -0
  552. package/dist/src/views/admin/views/core/staff/selectable-card.d.ts.map +1 -0
  553. package/dist/src/views/admin/views/core/staff/selectable-card.js +1 -0
  554. package/dist/src/views/admin/views/core/staff/table/actions/delete-action.d.ts +11 -0
  555. package/dist/src/views/admin/views/core/staff/table/actions/delete-action.d.ts.map +1 -0
  556. package/dist/src/views/admin/views/core/staff/table/actions/delete-action.js +1 -0
  557. package/dist/src/views/admin/views/core/staff/table/actions/staff-row-actions.d.ts +10 -0
  558. package/dist/src/views/admin/views/core/staff/table/actions/staff-row-actions.d.ts.map +1 -0
  559. package/dist/src/views/admin/views/core/staff/table/actions/staff-row-actions.js +1 -0
  560. package/dist/src/views/admin/views/core/staff/table/staff-table.d.ts +7 -0
  561. package/dist/src/views/admin/views/core/staff/table/staff-table.d.ts.map +1 -0
  562. package/dist/src/views/admin/views/core/staff/table/staff-table.js +1 -0
  563. package/dist/src/views/admin/views/core/staff/table/staff-user-format.d.ts +18 -0
  564. package/dist/src/views/admin/views/core/staff/table/staff-user-format.d.ts.map +1 -0
  565. package/dist/src/views/admin/views/core/staff/table/staff-user-format.js +1 -0
  566. package/dist/src/views/admin/views/core/staff/views/admins/admins-staff-view.d.ts +4 -0
  567. package/dist/src/views/admin/views/core/staff/views/admins/admins-staff-view.d.ts.map +1 -0
  568. package/dist/src/views/admin/views/core/staff/views/admins/admins-staff-view.js +1 -0
  569. package/dist/src/views/admin/views/core/staff/views/moderators/moderators-staff-view.d.ts +4 -0
  570. package/dist/src/views/admin/views/core/staff/views/moderators/moderators-staff-view.d.ts.map +1 -0
  571. package/dist/src/views/admin/views/core/staff/views/moderators/moderators-staff-view.js +1 -0
  572. package/dist/src/views/admin/views/core/system/integrations/integration-card.d.ts +15 -0
  573. package/dist/src/views/admin/views/core/system/integrations/integration-card.d.ts.map +1 -0
  574. package/dist/src/views/admin/views/core/system/integrations/integration-card.js +1 -0
  575. package/dist/src/views/admin/views/core/system/integrations/integrations-view.d.ts +3 -0
  576. package/dist/src/views/admin/views/core/system/integrations/integrations-view.d.ts.map +1 -0
  577. package/dist/src/views/admin/views/core/system/integrations/integrations-view.js +1 -0
  578. package/dist/src/views/admin/views/core/system/integrations/send-test-email/content.d.ts +2 -0
  579. package/dist/src/views/admin/views/core/system/integrations/send-test-email/content.d.ts.map +1 -0
  580. package/dist/src/views/admin/views/core/system/integrations/send-test-email/content.js +1 -0
  581. package/dist/src/views/admin/views/core/system/integrations/send-test-email/mutation-api.d.ts +12 -0
  582. package/dist/src/views/admin/views/core/system/integrations/send-test-email/mutation-api.d.ts.map +1 -0
  583. package/dist/src/views/admin/views/core/system/integrations/send-test-email/mutation-api.js +1 -0
  584. package/dist/src/views/admin/views/core/system/integrations/send-test-email/send-test-email.d.ts +3 -0
  585. package/dist/src/views/admin/views/core/system/integrations/send-test-email/send-test-email.d.ts.map +1 -0
  586. package/dist/src/views/admin/views/core/system/integrations/send-test-email/send-test-email.js +1 -0
  587. package/dist/src/views/admin/views/core/system/integrations/send-test-email/use-form.d.ts +15 -0
  588. package/dist/src/views/admin/views/core/system/integrations/send-test-email/use-form.d.ts.map +1 -0
  589. package/dist/src/views/admin/views/core/system/integrations/send-test-email/use-form.js +1 -0
  590. package/dist/src/views/admin/views/core/users/actions/create/create.d.ts.map +1 -1
  591. package/dist/src/views/admin/views/core/users/actions/create/create.js +1 -1
  592. package/dist/src/views/admin/views/core/users/actions/verify-email/mutation-api.d.ts +1 -1
  593. package/dist/src/views/admin/views/core/users/actions/verify-email/mutation-api.d.ts.map +1 -1
  594. package/dist/src/views/admin/views/core/users/actions/verify-email/mutation-api.js +1 -1
  595. package/dist/src/views/admin/views/core/users/actions/verify-email/verify-email.d.ts +2 -2
  596. package/dist/src/views/admin/views/core/users/actions/verify-email/verify-email.d.ts.map +1 -1
  597. package/dist/src/views/admin/views/core/users/actions/verify-email/verify-email.js +1 -1
  598. package/dist/src/views/admin/views/core/users/actions.d.ts +3 -3
  599. package/dist/src/views/admin/views/core/users/actions.d.ts.map +1 -1
  600. package/dist/src/views/admin/views/core/users/actions.js +1 -1
  601. package/dist/src/views/admin/views/core/users/show/edit-buttons.d.ts +4 -0
  602. package/dist/src/views/admin/views/core/users/show/edit-buttons.d.ts.map +1 -0
  603. package/dist/src/views/admin/views/core/users/show/edit-buttons.js +1 -0
  604. package/dist/src/views/admin/views/core/users/show/edit-field.d.ts +13 -0
  605. package/dist/src/views/admin/views/core/users/show/edit-field.d.ts.map +1 -0
  606. package/dist/src/views/admin/views/core/users/show/edit-field.js +1 -0
  607. package/dist/src/views/admin/views/core/users/show/edit-name-code.d.ts +5 -0
  608. package/dist/src/views/admin/views/core/users/show/edit-name-code.d.ts.map +1 -0
  609. package/dist/src/views/admin/views/core/users/show/edit-name-code.js +1 -0
  610. package/dist/src/views/admin/views/core/users/show/mutation-api.d.ts +19 -0
  611. package/dist/src/views/admin/views/core/users/show/mutation-api.d.ts.map +1 -0
  612. package/dist/src/views/admin/views/core/users/show/mutation-api.js +1 -0
  613. package/dist/src/views/admin/views/core/users/show/roles/edit-roles.d.ts +8 -0
  614. package/dist/src/views/admin/views/core/users/show/roles/edit-roles.d.ts.map +1 -0
  615. package/dist/src/views/admin/views/core/users/show/roles/edit-roles.js +1 -0
  616. package/dist/src/views/admin/views/core/users/show/roles/roles.d.ts +8 -0
  617. package/dist/src/views/admin/views/core/users/show/roles/roles.d.ts.map +1 -0
  618. package/dist/src/views/admin/views/core/users/show/roles/roles.js +1 -0
  619. package/dist/src/views/admin/views/core/users/show/roles/search-roles.action.d.ts +10 -0
  620. package/dist/src/views/admin/views/core/users/show/roles/search-roles.action.d.ts.map +1 -0
  621. package/dist/src/views/admin/views/core/users/show/roles/search-roles.action.js +1 -0
  622. package/dist/src/views/admin/views/core/users/show/roles/update-roles.action.d.ts +13 -0
  623. package/dist/src/views/admin/views/core/users/show/roles/update-roles.action.d.ts.map +1 -0
  624. package/dist/src/views/admin/views/core/users/show/roles/update-roles.action.js +1 -0
  625. package/dist/src/views/admin/views/core/users/show/show-user-admin-view.d.ts +2 -2
  626. package/dist/src/views/admin/views/core/users/show/show-user-admin-view.d.ts.map +1 -1
  627. package/dist/src/views/admin/views/core/users/show/show-user-admin-view.js +1 -1
  628. package/dist/src/views/admin/views/core/users/users-admin-view.d.ts.map +1 -1
  629. package/dist/src/views/admin/views/core/users/users-admin-view.js +1 -1
  630. package/dist/src/views/auth/settings/layout.d.ts +4 -0
  631. package/dist/src/views/auth/settings/layout.d.ts.map +1 -0
  632. package/dist/src/views/auth/settings/layout.js +1 -0
  633. package/dist/src/views/auth/settings/nav.d.ts +2 -0
  634. package/dist/src/views/auth/settings/nav.d.ts.map +1 -0
  635. package/dist/src/views/auth/settings/nav.js +1 -0
  636. package/dist/src/views/auth/settings/overview/overview.d.ts +2 -0
  637. package/dist/src/views/auth/settings/overview/overview.d.ts.map +1 -0
  638. package/dist/src/views/auth/settings/overview/overview.js +1 -0
  639. package/dist/src/views/auth/settings/security/security.d.ts +2 -0
  640. package/dist/src/views/auth/settings/security/security.d.ts.map +1 -0
  641. package/dist/src/views/auth/settings/security/security.js +1 -0
  642. package/dist/src/views/auth/settings/shell.d.ts +4 -0
  643. package/dist/src/views/auth/settings/shell.d.ts.map +1 -0
  644. package/dist/src/views/auth/settings/shell.js +1 -0
  645. package/dist/src/views/auth/sso/callback/client/client.d.ts.map +1 -1
  646. package/dist/src/views/auth/sso/callback/client/client.js +1 -1
  647. package/dist/src/views/breadcrumb/breadcrumb-main.js +1 -1
  648. package/dist/src/views/breadcrumb/breadcrumb-render.js +1 -1
  649. package/dist/src/views/error/global-error-view.js +1 -1
  650. package/dist/src/views/layouts/provider.d.ts.map +1 -1
  651. package/dist/src/views/layouts/provider.js +1 -1
  652. package/dist/src/views/layouts/root-layout.d.ts.map +1 -1
  653. package/dist/src/views/layouts/root-layout.js +1 -1
  654. package/dist/src/views/layouts/theme/header/user/auth/auth.js +1 -1
  655. package/dist/src/views/layouts/theme/header/user/auth/client.d.ts.map +1 -1
  656. package/dist/src/views/layouts/theme/header/user/auth/client.js +1 -1
  657. package/dist/src/vitnode.config.d.ts +7 -3
  658. package/dist/src/vitnode.config.d.ts.map +1 -1
  659. package/dist/src/ws/handle.d.ts.map +1 -1
  660. package/dist/src/ws/handle.js +1 -1
  661. package/dist/src/ws/manager.d.ts.map +1 -1
  662. package/dist/src/ws/manager.js +1 -1
  663. package/dist/src/ws/provider.d.ts.map +1 -1
  664. package/dist/src/ws/provider.js +1 -1
  665. package/dist/src/ws/registry.d.ts +5 -0
  666. package/dist/src/ws/registry.d.ts.map +1 -1
  667. package/dist/src/ws/registry.js +1 -1
  668. package/dist/tsconfig.tsbuildinfo +1 -1
  669. package/dist/vitest.config.d.ts.map +1 -1
  670. package/package.json +24 -26
  671. package/src/locales/en.json +279 -4
  672. package/src/routes/admin/core/advanced/cron/page.tsx +42 -0
  673. package/src/routes/admin/core/advanced/queue/page.tsx +51 -0
  674. package/src/routes/admin/core/debug/page.tsx +67 -0
  675. package/src/routes/admin/core/page.tsx +5 -0
  676. package/src/routes/admin/core/staff/admins/create/page.tsx +17 -0
  677. package/src/routes/admin/core/staff/admins/edit/[id]/page.tsx +23 -0
  678. package/src/routes/admin/core/staff/admins/page.tsx +14 -0
  679. package/src/routes/admin/core/staff/moderators/create/page.tsx +17 -0
  680. package/src/routes/admin/core/staff/moderators/edit/[id]/page.tsx +23 -0
  681. package/src/routes/admin/core/staff/moderators/page.tsx +14 -0
  682. package/src/routes/admin/core/system/integrations/page.tsx +43 -0
  683. package/src/routes/admin/core/test/page.tsx +5 -0
  684. package/src/routes/admin/core/users/[id]/page.tsx +65 -0
  685. package/src/routes/admin/core/users/page.tsx +55 -0
  686. package/src/routes/admin/core/users/roles/page.tsx +46 -0
  687. package/src/routes/blank/test/page.tsx +11 -0
  688. package/src/routes/breadcrumb/admin/[...all]/page.tsx +3 -0
  689. package/src/routes/breadcrumb/admin/core/staff/admins/create/page.tsx +5 -0
  690. package/src/routes/breadcrumb/admin/core/staff/admins/edit/[id]/page.tsx +11 -0
  691. package/src/routes/breadcrumb/admin/core/staff/admins/page.tsx +5 -0
  692. package/src/routes/breadcrumb/admin/core/staff/moderators/create/page.tsx +5 -0
  693. package/src/routes/breadcrumb/admin/core/staff/moderators/edit/[id]/page.tsx +11 -0
  694. package/src/routes/breadcrumb/admin/core/staff/moderators/page.tsx +5 -0
  695. package/src/routes/breadcrumb/admin/core/users/[id]/page.tsx +11 -0
  696. package/src/routes/breadcrumb/admin/default.tsx +4 -0
  697. package/src/routes/breadcrumb/main/[...rest]/page.tsx +3 -0
  698. package/src/routes/breadcrumb/main/default.tsx +4 -0
  699. package/src/routes/breadcrumb/main/page.tsx +6 -0
  700. package/src/routes/breadcrumb/main/settings/overview/page.tsx +17 -0
  701. package/src/routes/breadcrumb/main/settings/page.tsx +14 -0
  702. package/src/routes/breadcrumb/main/settings/security/page.tsx +17 -0
  703. package/src/routes/main/login/page.tsx +22 -0
  704. package/src/routes/main/login/reset-password/page.tsx +27 -0
  705. package/src/routes/main/login/sso/[providerId]/page.tsx +19 -0
  706. package/src/routes/main/register/page.tsx +22 -0
  707. package/src/routes/main/settings/layout.tsx +16 -0
  708. package/src/routes/main/settings/overview/page.tsx +15 -0
  709. package/src/routes/main/settings/page.tsx +15 -0
  710. package/src/routes/main/settings/security/page.tsx +15 -0
  711. package/dist/scripts/get-config.js +0 -66
  712. package/dist/scripts/plugin.js +0 -206
  713. package/dist/scripts/prepare-database.js +0 -177
  714. package/dist/scripts/prepare-plugins-files.js +0 -152
  715. package/dist/scripts/run-interactive-shell-command.js +0 -21
  716. package/dist/scripts/shared/file-utils.js +0 -203
  717. package/dist/src/locales/en.json +0 -372
  718. package/dist/src/routes/admin/core/users/[nameCode]/page.d.ts.map +0 -1
  719. package/dist/src/routes/admin/core/users/[nameCode]/page.js +0 -1
  720. package/dist/src/routes/breadcrumb/admin/core/users/[nameCode]/page.d.ts.map +0 -1
  721. package/dist/src/routes/breadcrumb/main/login/page.d.ts.map +0 -1
  722. package/dist/src/routes/breadcrumb/main/login/page.js +0 -1
  723. package/dist/src/routes/breadcrumb/main/login/reset-password/page.d.ts.map +0 -1
  724. package/dist/src/routes/breadcrumb/main/login/reset-password/page.js +0 -1
  725. package/dist/src/routes/breadcrumb/main/register/page.d.ts.map +0 -1
  726. package/dist/tsup.config.js +0 -17
  727. package/dist/vitest.config.js +0 -48
  728. /package/dist/src/routes/breadcrumb/main/{login → settings/overview}/page.d.ts +0 -0
  729. /package/dist/src/routes/breadcrumb/main/{login/reset-password → settings}/page.d.ts +0 -0
  730. /package/dist/src/routes/breadcrumb/main/{register → settings/security}/page.d.ts +0 -0
@@ -0,0 +1,11 @@
1
+ import type { PermissionStaffType } from "../../../../../../../api/lib/permission-staff";
2
+ export declare const deleteStaffEntry: ({ type, id, }: {
3
+ id: number;
4
+ type: PermissionStaffType;
5
+ }) => Promise<{
6
+ data?: true;
7
+ error?: {
8
+ status: number;
9
+ };
10
+ }>;
11
+ //# sourceMappingURL=delete-action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-action.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/views/admin/views/core/staff/table/actions/delete-action.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAKtE,eAAO,MAAM,gBAAgB,GAAU,eAGpC;IACD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,mBAAmB,CAAC;CAC3B,KAAG,OAAO,CAAC;IAAE,IAAI,CAAC,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAiBtD,CAAC"}
@@ -0,0 +1 @@
1
+ "use server";import{revalidatePath}from"next/cache";import{adminModule}from"../../../../../../../api/modules/admin/admin.module.js";import{fetcher}from"../../../../../../../lib/fetcher.js";export const deleteStaffEntry=async({type,id})=>{const res=await fetcher(adminModule,{path:"/entry/{type}/{id}",method:"delete",module:"admin/staff",args:{params:{type,id:String(id)}}});if(res.status!==200){return{error:{status:res.status}}}revalidatePath("/[locale]/admin","layout");return{data:true}};
@@ -0,0 +1,10 @@
1
+ import type { PermissionStaffType } from "../../../../../../../api/lib/permission-staff";
2
+ export declare const StaffRowActions: ({ type, id, protected: isProtected, self, canEdit, canDelete, }: {
3
+ canDelete: boolean;
4
+ canEdit: boolean;
5
+ id: number;
6
+ protected: boolean;
7
+ self: boolean;
8
+ type: PermissionStaffType;
9
+ }) => import("react").JSX.Element | null;
10
+ //# sourceMappingURL=staff-row-actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staff-row-actions.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/views/admin/views/core/staff/table/actions/staff-row-actions.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAStE,eAAO,MAAM,eAAe,GAAI,iEAO7B;IACD,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,mBAAmB,CAAC;CAC3B,uCAuEA,CAAC"}
@@ -0,0 +1 @@
1
+ "use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{LockIcon,PencilIcon,Trash2Icon}from"lucide-react";import{useTranslations}from"next-intl";import{toast}from"sonner";import{ConfirmActionAlertDialog}from"../../../../../../../components/confirm-action/confirm-action-alert-dialog.js";import{Button}from"../../../../../../../components/ui/button.js";import{TooltipWithContent}from"../../../../../../../components/ui/tooltip.js";import{Link}from"../../../../../../../lib/navigation.js";import{deleteStaffEntry}from"./delete-action.js";export const StaffRowActions=({type,id,protected:isProtected,self,canEdit,canDelete})=>{const t=useTranslations("admin.staff");const tGlobal=useTranslations("core.global");if(isProtected||self){return _jsx("div",{className:"flex justify-end",children:_jsx(TooltipWithContent,{text:isProtected?t("protected"):t("self"),children:_jsx("span",{className:"text-muted-foreground inline-flex p-2",children:_jsx(LockIcon,{className:"size-4"})})})})}if(!canEdit&&!canDelete){return null}const editHref=`/admin/core/staff/${type==="admin"?"admins":"moderators"}/edit/${id}`;return _jsxs("div",{className:"flex items-center justify-end gap-1",children:[canEdit&&_jsx(Button,{"aria-label":t("table.edit"),nativeButton:false,render:_jsx(Link,{href:editHref}),size:"icon-sm",variant:"ghost",children:_jsx(PencilIcon,{})}),canDelete&&_jsx(ConfirmActionAlertDialog,{description:t("delete.desc"),onSubmit:async({onClose})=>{const result=await deleteStaffEntry({type,id});if(result.error){toast.error(tGlobal("errors.title"),{description:tGlobal("errors.internal_server_error")});return}toast.success(t("delete.success"));onClose()},textSubmit:t("delete.confirm"),title:t("delete.title"),children:_jsx(Button,{"aria-label":t("delete.title"),size:"icon-sm",variant:"destructive",children:_jsx(Trash2Icon,{})})})]})};
@@ -0,0 +1,7 @@
1
+ interface StaffTableAdminProps {
2
+ searchParams: Promise<Record<string, string | string[] | undefined>>;
3
+ type: "admins" | "moderators";
4
+ }
5
+ export declare const StaffTableAdmin: ({ type, searchParams, }: StaffTableAdminProps) => Promise<import("react").JSX.Element>;
6
+ export {};
7
+ //# sourceMappingURL=staff-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staff-table.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/staff/table/staff-table.tsx"],"names":[],"mappings":"AAgBA,UAAU,oBAAoB;IAC5B,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;IACrE,IAAI,EAAE,QAAQ,GAAG,YAAY,CAAC;CAC/B;AAED,eAAO,MAAM,eAAe,GAAU,yBAGnC,oBAAoB,yCA8GtB,CAAC"}
@@ -0,0 +1 @@
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{ShieldUserIcon}from"lucide-react";import{getTranslations}from"next-intl/server";import{notFound}from"next/navigation";import{adminModule}from"../../../../../../api/modules/admin/admin.module.js";import{staffPermissionModuleByType}from"../../../../../../api/modules/admin/staff/lib/schema.js";import{DateFormat}from"../../../../../../components/date-format.js";import{RoleFormat}from"../../../../../../components/role-format.js";import{DataTable}from"../../../../../../components/table/data-table.js";import{Badge}from"../../../../../../components/ui/badge.js";import{checkAdminPermissionApi}from"../../../../../../lib/api/get-session-admin-api.js";import{fetcher}from"../../../../../../lib/fetcher.js";import{StaffRowActions}from"./actions/staff-row-actions.js";import{StaffUserFormat}from"./staff-user-format.js";export const StaffTableAdmin=async({type,searchParams})=>{const staffType=type==="admins"?"admin":"moderator";const permissionModule=staffPermissionModuleByType[staffType];const[t,tType,canEdit,canDelete]=await Promise.all([getTranslations("admin.staff.table"),getTranslations(`admin.staff.${type}`),checkAdminPermissionApi({module:permissionModule,permission:"can_edit"}),checkAdminPermissionApi({module:permissionModule,permission:"can_delete"})]);const query=await searchParams;const res=type==="moderators"?await fetcher(adminModule,{path:"/moderators",method:"get",module:"admin/staff",args:{query},withPagination:true}):await fetcher(adminModule,{path:"/admins",method:"get",module:"admin/staff",args:{query},withPagination:true});if(res.status!==200){return notFound()}const data=await res.json();return _jsx(DataTable,{columns:[{id:"role",label:t("role"),cell:({row})=>row.role?_jsx(RoleFormat,{role:row.role}):_jsx("span",{className:"text-muted-foreground",children:"—"})},{id:"user",label:t("user"),cell:({row})=>row.user?_jsx(StaffUserFormat,{user:row.user}):_jsx("span",{className:"text-muted-foreground",children:"—"})},{id:"unrestricted",label:t("permissions"),cell:({row})=>row.unrestricted?_jsx(Badge,{children:t("unrestricted")}):_jsx(Badge,{variant:"secondary",children:t("restricted")})},{id:"updatedAt",label:t("updatedAt"),cell:({row})=>_jsx(DateFormat,{date:row.updatedAt})},{id:"actions",label:"",className:"w-10",cell:({row})=>_jsx(StaffRowActions,{canDelete:canDelete,canEdit:canEdit,id:row.id,protected:row.protected,self:row.self,type:staffType})}],customNoResults:{title:tType("noResults.title"),description:tType("noResults.description"),icon:_jsx(ShieldUserIcon,{})},edges:data.edges,id:`staff-${type}-table`,order:{columns:["updatedAt"],defaultOrder:{column:"updatedAt",order:"desc"}},pageInfo:data.pageInfo})};
@@ -0,0 +1,18 @@
1
+ interface StaffUserFormatProps {
2
+ user: {
3
+ avatarColor: string;
4
+ name: string;
5
+ nameCode: string;
6
+ role: {
7
+ color: null | string;
8
+ id: number;
9
+ name: {
10
+ languageCode: string;
11
+ name: string;
12
+ }[];
13
+ };
14
+ };
15
+ }
16
+ export declare const StaffUserFormat: ({ user }: StaffUserFormatProps) => Promise<import("react").JSX.Element>;
17
+ export {};
18
+ //# sourceMappingURL=staff-user-format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staff-user-format.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/staff/table/staff-user-format.tsx"],"names":[],"mappings":"AAIA,UAAU,oBAAoB;IAC5B,IAAI,EAAE;QACJ,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE;YACJ,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC;YACrB,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE;gBAAE,YAAY,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,EAAE,CAAC;SAChD,CAAC;KACH,CAAC;CACH;AAID,eAAO,MAAM,eAAe,GAAU,UAAU,oBAAoB,yCAyBnE,CAAC"}
@@ -0,0 +1 @@
1
+ import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{getLocale}from"next-intl/server";import{Avatar}from"../../../../../../components/avatar.js";export const StaffUserFormat=async({user})=>{const locale=await getLocale();const roleName=user.role.name.find(item=>item.languageCode===locale)?.name??user.role.name[0]?.name??"";return _jsxs("div",{className:"flex items-center gap-3",children:[_jsx(Avatar,{size:32,user:user}),_jsxs("div",{className:"flex flex-col",children:[_jsx("span",{className:"font-medium",style:user.role.color?{color:user.role.color}:undefined,children:user.name}),_jsxs("span",{className:"text-muted-foreground text-sm",children:["@",user.nameCode,roleName?` \xb7 ${roleName}`:""]})]})]})};
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { StaffTableAdmin } from "../../table/staff-table";
3
+ export declare const AdminsStaffAdminView: (props: Pick<React.ComponentProps<typeof StaffTableAdmin>, "searchParams">) => Promise<React.JSX.Element>;
4
+ //# sourceMappingURL=admins-staff-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admins-staff-view.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/views/admin/views/core/staff/views/admins/admins-staff-view.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,eAAO,MAAM,oBAAoB,GAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,EAAE,cAAc,CAAC,+BAkC1E,CAAC"}
@@ -0,0 +1 @@
1
+ import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{PlusIcon}from"lucide-react";import{getTranslations}from"next-intl/server";import{notFound}from"next/navigation";import React from"react";import{DataTableSkeleton}from"../../../../../../../components/table/data-table.js";import{Button}from"../../../../../../../components/ui/button.js";import{HeaderContent}from"../../../../../../../components/ui/header-content.js";import{checkAdminPermissionApi}from"../../../../../../../lib/api/get-session-admin-api.js";import{Link}from"../../../../../../../lib/navigation.js";import{StaffTableAdmin}from"../../table/staff-table.js";export const AdminsStaffAdminView=async props=>{const[t,canView,canCreate]=await Promise.all([getTranslations("admin.staff.admins"),checkAdminPermissionApi({module:"staff_admins",permission:"can_view"}),checkAdminPermissionApi({module:"staff_admins",permission:"can_create"})]);if(!canView){notFound()}return _jsxs("div",{className:"p-4",children:[_jsx(HeaderContent,{desc:t("desc"),h1:t("title"),children:canCreate&&_jsxs(Button,{nativeButton:false,render:_jsx(Link,{href:"/admin/core/staff/admins/create"}),children:[_jsx(PlusIcon,{}),t("create")]})}),_jsx(React.Suspense,{fallback:_jsx(DataTableSkeleton,{columns:5}),children:_jsx(StaffTableAdmin,{type:"admins",...props})})]})};
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { StaffTableAdmin } from "../../table/staff-table";
3
+ export declare const ModeratorsStaffAdminView: (props: Pick<React.ComponentProps<typeof StaffTableAdmin>, "searchParams">) => Promise<React.JSX.Element>;
4
+ //# sourceMappingURL=moderators-staff-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moderators-staff-view.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/views/admin/views/core/staff/views/moderators/moderators-staff-view.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,eAAO,MAAM,wBAAwB,GACnC,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,EAAE,cAAc,CAAC,+BAoC1E,CAAC"}
@@ -0,0 +1 @@
1
+ import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{PlusIcon}from"lucide-react";import{getTranslations}from"next-intl/server";import{notFound}from"next/navigation";import React from"react";import{DataTableSkeleton}from"../../../../../../../components/table/data-table.js";import{Button}from"../../../../../../../components/ui/button.js";import{HeaderContent}from"../../../../../../../components/ui/header-content.js";import{checkAdminPermissionApi}from"../../../../../../../lib/api/get-session-admin-api.js";import{Link}from"../../../../../../../lib/navigation.js";import{StaffTableAdmin}from"../../table/staff-table.js";export const ModeratorsStaffAdminView=async props=>{const[t,canView,canCreate]=await Promise.all([getTranslations("admin.staff.moderators"),checkAdminPermissionApi({module:"staff_moderators",permission:"can_view"}),checkAdminPermissionApi({module:"staff_moderators",permission:"can_create"})]);if(!canView){notFound()}return _jsxs("div",{className:"p-4",children:[_jsx(HeaderContent,{desc:t("desc"),h1:t("title"),children:canCreate&&_jsxs(Button,{nativeButton:false,render:_jsx(Link,{href:"/admin/core/staff/moderators/create"}),children:[_jsx(PlusIcon,{}),t("create")]})}),_jsx(React.Suspense,{fallback:_jsx(DataTableSkeleton,{columns:5}),children:_jsx(StaffTableAdmin,{type:"moderators",...props})})]})};
@@ -0,0 +1,15 @@
1
+ import { type LucideIcon } from "lucide-react";
2
+ export type IntegrationStatus = "active" | "inactive" | "warning";
3
+ export interface IntegrationCardProps {
4
+ action?: React.ReactNode;
5
+ description: string;
6
+ href: string;
7
+ Icon: LucideIcon;
8
+ meta?: React.ReactNode;
9
+ readMoreLabel: string;
10
+ status: IntegrationStatus;
11
+ statusLabel: string;
12
+ title: string;
13
+ }
14
+ export declare const IntegrationCard: ({ action, description, href, Icon, meta, readMoreLabel, status, statusLabel, title, }: IntegrationCardProps) => import("react").JSX.Element;
15
+ //# sourceMappingURL=integration-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration-card.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/system/integrations/integration-card.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAejE,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAElE,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,eAAe,GAAI,uFAU7B,oBAAoB,gCA8EtB,CAAC"}
@@ -0,0 +1 @@
1
+ import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{ArrowUpRightIcon}from"lucide-react";import{Badge}from"../../../../../../components/ui/badge.js";import{buttonVariants}from"../../../../../../components/ui/button.js";import{Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle}from"../../../../../../components/ui/card.js";import{cn}from"../../../../../../lib/utils.js";export const IntegrationCard=({action,description,href,Icon,meta,readMoreLabel,status,statusLabel,title})=>{const isActive=status==="active";const isWarning=status==="warning";return _jsxs(Card,{className:cn("gap-4 transition-colors",status==="inactive"&&"ring-destructive/30 bg-destructive/[0.03]",isWarning&&"bg-amber-500/[0.04] ring-amber-500/40"),"data-status":status,children:[_jsxs(CardHeader,{children:[_jsxs("div",{className:"flex items-center gap-3",children:[_jsx("div",{className:cn("flex size-9 shrink-0 items-center justify-center rounded-lg",isActive&&"bg-primary/10 text-primary",isWarning&&"bg-amber-500/10 text-amber-600 dark:text-amber-400",status==="inactive"&&"bg-destructive/10 text-destructive"),children:_jsx(Icon,{className:"size-5"})}),_jsx(CardTitle,{className:"flex-1",children:title})]}),_jsx(CardAction,{children:_jsxs(Badge,{className:cn(isActive&&"bg-green-500/10 text-green-700 dark:bg-green-500/15 dark:text-green-400",isWarning&&"bg-amber-500/10 text-amber-700 dark:bg-amber-500/15 dark:text-amber-400"),variant:status==="inactive"?"destructive":"secondary",children:[_jsx("span",{"aria-hidden":true,className:cn("size-1.5 rounded-full bg-current",isActive&&"animate-pulse")}),statusLabel]})})]}),_jsxs(CardContent,{children:[_jsx(CardDescription,{children:description}),meta?_jsx("div",{className:"text-muted-foreground mt-3 text-xs",children:meta}):null]}),_jsxs(CardFooter,{className:cn("mt-auto items-center gap-2",action?"justify-between":"justify-end"),children:[action,_jsxs("a",{className:cn(buttonVariants({size:"sm",variant:"link"}),"text-muted-foreground hover:text-foreground gap-1"),href:href,rel:"noopener noreferrer",target:"_blank",children:[readMoreLabel,_jsx(ArrowUpRightIcon,{})]})]})]})};
@@ -0,0 +1,3 @@
1
+ export declare const IntegrationsView: () => Promise<import("react").JSX.Element>;
2
+ export declare const IntegrationsViewSkeleton: () => import("react").JSX.Element;
3
+ //# sourceMappingURL=integrations-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integrations-view.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/system/integrations/integrations-view.tsx"],"names":[],"mappings":"AAyCA,eAAO,MAAM,gBAAgB,4CA8H5B,CAAC;AAEF,eAAO,MAAM,wBAAwB,mCAMpC,CAAC"}
@@ -0,0 +1 @@
1
+ import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{ClockIcon,DatabaseIcon,ListTodoIcon,MailIcon,RadioTowerIcon,ShieldCheckIcon}from"lucide-react";import{getTranslations}from"next-intl/server";import{debugAdminModule}from"../../../../../../api/modules/admin/debug/debug.admin.module.js";import{Skeleton}from"../../../../../../components/ui/skeleton.js";import{checkAdminPermissionApi}from"../../../../../../lib/api/get-session-admin-api.js";import{fetcher}from"../../../../../../lib/fetcher.js";import{IntegrationCard}from"./integration-card.js";import{SendTestEmailAction}from"./send-test-email/send-test-email.js";const DOCS_URLS={captcha:"https://vitnode.com/docs/dev/captcha",cron:"https://vitnode.com/docs/dev/cron",email:"https://vitnode.com/docs/dev/email",queue:"https://vitnode.com/docs/dev/advanced/queue",redis:"https://vitnode.com/docs/dev/advanced/redis",websocket:"https://vitnode.com/docs/dev/websocket"};const getIntegrationsData=async()=>{const res=await fetcher(debugAdminModule,{prefixPath:"/admin",path:"/integrations",method:"get",module:"debug"});return await res.json()};const toStatus=active=>active?"active":"inactive";export const IntegrationsView=async()=>{const[t,data,canSendTestEmail]=await Promise.all([getTranslations("admin.system.integrations"),getIntegrationsData(),checkAdminPermissionApi({module:"system",permission:"can_send_test_email"})]);const statusLabel=status=>t(`status.${status}`);const redisStatus=data.redis.active?"active":data.redis.configuredButDown?"warning":"inactive";const cronStatus=!data.cron.active?"inactive":data.cron.secure?"active":"warning";return _jsxs("div",{className:"grid gap-4 md:grid-cols-2 lg:grid-cols-3",children:[_jsx(IntegrationCard,{description:t("websocket.desc"),href:DOCS_URLS.websocket,Icon:RadioTowerIcon,readMoreLabel:t("read_more"),status:toStatus(data.websocket.active),statusLabel:statusLabel(toStatus(data.websocket.active)),title:t("websocket.title")}),_jsx(IntegrationCard,{description:t("redis.desc"),href:DOCS_URLS.redis,Icon:DatabaseIcon,meta:data.redis.configuredButDown?_jsx("span",{className:"text-amber-600 dark:text-amber-400",children:t("redis.down")}):null,readMoreLabel:t("read_more"),status:redisStatus,statusLabel:statusLabel(redisStatus),title:t("redis.title")}),_jsx(IntegrationCard,{action:data.email.active&&canSendTestEmail?_jsx(SendTestEmailAction,{}):undefined,description:t("email.desc"),href:DOCS_URLS.email,Icon:MailIcon,readMoreLabel:t("read_more"),status:toStatus(data.email.active),statusLabel:statusLabel(toStatus(data.email.active)),title:t("email.title")}),_jsx(IntegrationCard,{description:t("cron.desc"),href:DOCS_URLS.cron,Icon:ClockIcon,meta:!data.cron.active?_jsx("span",{children:t("cron.not_configured")}):!data.cron.secure?_jsx("span",{className:"text-amber-600 dark:text-amber-400",children:t("cron.insecure")}):_jsx("span",{children:t("cron.jobs",{count:data.cron.jobs})}),readMoreLabel:t("read_more"),status:cronStatus,statusLabel:statusLabel(cronStatus),title:t("cron.title")}),_jsx(IntegrationCard,{description:t("queue.desc"),href:DOCS_URLS.queue,Icon:ListTodoIcon,meta:_jsxs("span",{children:[t("queue.tasks",{count:data.queue.tasks})," ·"," ",t("queue.queued",{pending:data.queue.pending,processing:data.queue.processing})]}),readMoreLabel:t("read_more"),status:toStatus(data.queue.active),statusLabel:statusLabel(toStatus(data.queue.active)),title:t("queue.title")}),_jsx(IntegrationCard,{description:t("captcha.desc"),href:DOCS_URLS.captcha,Icon:ShieldCheckIcon,meta:data.captcha.active&&data.captcha.type?_jsx("span",{children:t(`captcha.type.${data.captcha.type}`)}):null,readMoreLabel:t("read_more"),status:toStatus(data.captcha.active),statusLabel:statusLabel(toStatus(data.captcha.active)),title:t("captcha.title")})]})};export const IntegrationsViewSkeleton=()=>_jsx("div",{className:"grid gap-4 md:grid-cols-2 lg:grid-cols-3",children:["websocket","redis","email","cron","queue","captcha"].map(id=>_jsx(Skeleton,{className:"h-32 w-full rounded-xl"},id))});
@@ -0,0 +1,2 @@
1
+ export declare const ContentSendTestEmail: () => import("react").JSX.Element;
2
+ //# sourceMappingURL=content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/views/admin/views/core/system/integrations/send-test-email/content.tsx"],"names":[],"mappings":"AAYA,eAAO,MAAM,oBAAoB,mCA8ChC,CAAC"}
@@ -0,0 +1 @@
1
+ "use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{MailCheckIcon}from"lucide-react";import{useTranslations}from"next-intl";import{AutoForm}from"../../../../../../../components/form/auto-form.js";import{AutoFormInput}from"../../../../../../../components/form/fields/input.js";import{AutoFormTextarea}from"../../../../../../../components/form/fields/textarea.js";import{Alert,AlertDescription,AlertTitle}from"../../../../../../../components/ui/alert.js";import{useFormSendTestEmail}from"./use-form.js";export const ContentSendTestEmail=()=>{const t=useTranslations("admin.system.integrations.email.test");const{onSubmit,formSchema}=useFormSendTestEmail();return _jsxs("div",{className:"flex flex-col gap-4",children:[_jsxs(Alert,{children:[_jsx(MailCheckIcon,{}),_jsx(AlertTitle,{children:t("info.title")}),_jsx(AlertDescription,{children:t("info.desc")})]}),_jsx(AutoForm,{fields:[{id:"to",component:props=>_jsx(AutoFormInput,{label:t("to.label"),type:"email",...props})},{id:"subject",component:props=>_jsx(AutoFormInput,{label:t("subject.label"),...props})},{id:"content",component:props=>_jsx(AutoFormTextarea,{label:t("content.label"),rows:5,...props})}],formSchema:formSchema,mode:"all",onSubmit:onSubmit,submitButtonProps:{children:t("submit")}})]})};
@@ -0,0 +1,12 @@
1
+ import type { z } from "zod";
2
+ import type { zodSendTestEmailSchema } from "../../../../../../../api/modules/admin/debug/routes/send-test-email.route";
3
+ export declare const sendTestEmailMutation: (body: z.infer<typeof zodSendTestEmailSchema>) => Promise<{
4
+ error: string;
5
+ data?: undefined;
6
+ } | {
7
+ data: {
8
+ success: boolean;
9
+ };
10
+ error?: undefined;
11
+ }>;
12
+ //# sourceMappingURL=mutation-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation-api.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/views/admin/views/core/system/integrations/send-test-email/mutation-api.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wDAAwD,CAAC;AAKrG,eAAO,MAAM,qBAAqB,GAChC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC;;;;;;;;EAiB7C,CAAC"}
@@ -0,0 +1 @@
1
+ "use server";import{debugAdminModule}from"../../../../../../../api/modules/admin/debug/debug.admin.module.js";import{fetcher}from"../../../../../../../lib/fetcher.js";export const sendTestEmailMutation=async body=>{const res=await fetcher(debugAdminModule,{prefixPath:"/admin",path:"/send-test-email",method:"post",module:"debug",args:{body}});if(!res.ok){return{error:await res.text()}}return{data:await res.json()}};
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ export declare const SendTestEmailAction: () => React.JSX.Element;
3
+ //# sourceMappingURL=send-test-email.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-test-email.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/views/admin/views/core/system/integrations/send-test-email/send-test-email.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAmB1B,eAAO,MAAM,mBAAmB,yBAyB/B,CAAC"}
@@ -0,0 +1 @@
1
+ "use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{SendIcon}from"lucide-react";import{useTranslations}from"next-intl";import React from"react";import{Button}from"../../../../../../../components/ui/button.js";import{Dialog,DialogContent,DialogDescription,DialogHeader,DialogTitle,DialogTrigger}from"../../../../../../../components/ui/dialog.js";import{Loader}from"../../../../../../../components/ui/loader.js";const ContentSendTestEmail=React.lazy(async()=>import("./content.js").then(module=>({default:module.ContentSendTestEmail})));export const SendTestEmailAction=()=>{const t=useTranslations("admin.system.integrations.email.test");return _jsxs(Dialog,{children:[_jsxs(DialogTrigger,{render:_jsx(Button,{size:"sm",variant:"outline"}),children:[_jsx(SendIcon,{}),t("label")]}),_jsxs(DialogContent,{children:[_jsxs(DialogHeader,{children:[_jsxs(DialogTitle,{className:"flex items-center gap-2",children:[_jsx(SendIcon,{className:"size-5"}),t("title")]}),_jsx(DialogDescription,{children:t("desc")})]}),_jsx(React.Suspense,{fallback:_jsx(Loader,{}),children:_jsx(ContentSendTestEmail,{})})]})]})};
@@ -0,0 +1,15 @@
1
+ import { z } from "zod";
2
+ import type { AutoFormOnSubmit } from "../../../../../../../components/form/auto-form";
3
+ export declare const useFormSendTestEmail: () => {
4
+ onSubmit: AutoFormOnSubmit<z.ZodObject<{
5
+ to: z.ZodDefault<z.ZodEmail>;
6
+ subject: z.ZodDefault<z.ZodString>;
7
+ content: z.ZodDefault<z.ZodString>;
8
+ }, z.core.$strip>>;
9
+ formSchema: z.ZodObject<{
10
+ to: z.ZodDefault<z.ZodEmail>;
11
+ subject: z.ZodDefault<z.ZodString>;
12
+ content: z.ZodDefault<z.ZodString>;
13
+ }, z.core.$strip>;
14
+ };
15
+ //# sourceMappingURL=use-form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/views/admin/views/core/system/integrations/send-test-email/use-form.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAMpE,eAAO,MAAM,oBAAoB;;;;;;;;;;;CAoChC,CAAC"}
@@ -0,0 +1 @@
1
+ import{useTranslations}from"next-intl";import{toast}from"sonner";import{z}from"zod";import{useDialog}from"../../../../../../../components/ui/dialog.js";import{sendTestEmailMutation}from"./mutation-api.js";export const useFormSendTestEmail=()=>{const t=useTranslations("admin.system.integrations.email.test");const tError=useTranslations("core.global.errors");const{setOpen,setIsDirty}=useDialog();const formSchema=z.object({to:z.email({message:t("to.invalid")}).default(""),subject:z.string({message:tError("field_required")}).min(1,tError("field_required")).max(200).default(t("subject.default")),content:z.string({message:tError("field_required")}).min(1,tError("field_required")).max(5e3).default(t("content.default"))});const onSubmit=async values=>{const mutation=await sendTestEmailMutation(values);if(mutation.data){setIsDirty?.(false);setOpen?.(false);toast.success(t("success"));return}toast.error(tError("title"),{description:tError("internal_server_error")})};return{onSubmit,formSchema}};
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/views/admin/views/core/users/actions/create/create.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAmB1B,eAAO,MAAM,eAAe,yBA2B3B,CAAC"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/views/admin/views/core/users/actions/create/create.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAmB1B,eAAO,MAAM,eAAe,yBAyB3B,CAAC"}
@@ -1 +1 @@
1
- "use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{UserPlusIcon}from"lucide-react";import{useTranslations}from"next-intl";import dynamic from"next/dynamic";import React from"react";import{Button}from"../../../../../../../components/ui/button.js";import{Dialog,DialogContent,DialogDescription,DialogHeader,DialogTitle,DialogTrigger}from"../../../../../../../components/ui/dialog.js";import{Loader}from"../../../../../../../components/ui/loader.js";const ContentCreateUserAdmin=dynamic(async()=>import("./content.js").then(module=>({default:module.ContentCreateUserAdmin})));export const CreateUserAdmin=()=>{const t=useTranslations("admin.user.create");return _jsxs(Dialog,{children:[_jsx(DialogTrigger,{asChild:true,children:_jsxs(Button,{children:[_jsx(UserPlusIcon,{}),t("title")]})}),_jsxs(DialogContent,{children:[_jsxs(DialogHeader,{children:[_jsxs(DialogTitle,{className:"flex items-center gap-2",children:[_jsx(UserPlusIcon,{className:"size-5"}),t("title")]}),_jsx(DialogDescription,{children:t("desc")})]}),_jsx(React.Suspense,{fallback:_jsx(Loader,{}),children:_jsx(ContentCreateUserAdmin,{})})]})]})};
1
+ "use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{UserPlusIcon}from"lucide-react";import{useTranslations}from"next-intl";import dynamic from"next/dynamic";import React from"react";import{Button}from"../../../../../../../components/ui/button.js";import{Dialog,DialogContent,DialogDescription,DialogHeader,DialogTitle,DialogTrigger}from"../../../../../../../components/ui/dialog.js";import{Loader}from"../../../../../../../components/ui/loader.js";const ContentCreateUserAdmin=dynamic(async()=>import("./content.js").then(module=>({default:module.ContentCreateUserAdmin})));export const CreateUserAdmin=()=>{const t=useTranslations("admin.user.create");return _jsxs(Dialog,{children:[_jsxs(DialogTrigger,{render:_jsx(Button,{}),children:[_jsx(UserPlusIcon,{}),t("title")]}),_jsxs(DialogContent,{children:[_jsxs(DialogHeader,{children:[_jsxs(DialogTitle,{className:"flex items-center gap-2",children:[_jsx(UserPlusIcon,{className:"size-5"}),t("title")]}),_jsx(DialogDescription,{children:t("desc")})]}),_jsx(React.Suspense,{fallback:_jsx(Loader,{}),children:_jsx(ContentCreateUserAdmin,{})})]})]})};
@@ -1,4 +1,4 @@
1
- export declare const mutationApi: (nameCode: string) => Promise<{
1
+ export declare const mutationApi: (id: number) => Promise<{
2
2
  error: string;
3
3
  data?: undefined;
4
4
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"mutation-api.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/views/admin/views/core/users/actions/verify-email/mutation-api.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,WAAW,GAAU,UAAU,MAAM;;;;;;;;;EAkBjD,CAAC"}
1
+ {"version":3,"file":"mutation-api.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/views/admin/views/core/users/actions/verify-email/mutation-api.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,WAAW,GAAU,IAAI,MAAM;;;;;;;;;EAkB3C,CAAC"}
@@ -1 +1 @@
1
- "use server";import{revalidatePath}from"next/cache";import{adminModule}from"../../../../../../../api/modules/admin/admin.module.js";import{fetcher}from"../../../../../../../lib/fetcher.js";export const mutationApi=async nameCode=>{const res=await fetcher(adminModule,{path:"/{nameCode}/verify-email",method:"post",module:"admin/users",args:{params:{nameCode}}});if(res.status!==200){return{error:await res.text()}}const data=await res.json();revalidatePath("/[locale]/admin","layout");return{data}};
1
+ "use server";import{revalidatePath}from"next/cache";import{adminModule}from"../../../../../../../api/modules/admin/admin.module.js";import{fetcher}from"../../../../../../../lib/fetcher.js";export const mutationApi=async id=>{const res=await fetcher(adminModule,{path:"/{id}/verify-email",method:"post",module:"admin/users",args:{params:{id:String(id)}}});if(res.status!==200){return{error:await res.text()}}const data=await res.json();revalidatePath("/[locale]/admin","layout");return{data}};
@@ -1,6 +1,6 @@
1
- export declare const VerifyEmailUserAdmin: ({ nameCode, emailVerified, iconOnly, }: {
1
+ export declare const VerifyEmailUserAdmin: ({ id, emailVerified, iconOnly, }: {
2
2
  emailVerified: boolean;
3
3
  iconOnly?: boolean;
4
- nameCode: string;
4
+ id: number;
5
5
  }) => import("react").JSX.Element | null;
6
6
  //# sourceMappingURL=verify-email.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify-email.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/views/admin/views/core/users/actions/verify-email/verify-email.tsx"],"names":[],"mappings":"AAYA,eAAO,MAAM,oBAAoB,GAAI,wCAIlC;IACD,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,uCA6CA,CAAC"}
1
+ {"version":3,"file":"verify-email.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/views/admin/views/core/users/actions/verify-email/verify-email.tsx"],"names":[],"mappings":"AAYA,eAAO,MAAM,oBAAoB,GAAI,kCAIlC;IACD,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;CACZ,uCA6CA,CAAC"}
@@ -1 +1 @@
1
- "use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{CheckIcon}from"lucide-react";import{useTranslations}from"next-intl";import{useActionState}from"react";import{toast}from"sonner";import{Button}from"../../../../../../../components/ui/button.js";import{TooltipWithContent}from"../../../../../../../components/ui/tooltip.js";import{mutationApi}from"./mutation-api.js";export const VerifyEmailUserAdmin=({nameCode,emailVerified,iconOnly=false})=>{const t=useTranslations("admin.user.verify_email");const tError=useTranslations("core.global.errors");const[_,formAction,isPending]=useActionState(async()=>{const mutation=await mutationApi(nameCode);if(mutation?.error){toast.error(tError("title"),{description:tError("internal_server_error")});return}toast.success(t("success"),{description:mutation.data?.name})},null);if(emailVerified){return null}return _jsx("form",{action:formAction,children:iconOnly?_jsx(TooltipWithContent,{text:t("label"),children:_jsx(Button,{"aria-label":t("label"),isLoading:isPending,size:"icon",type:"submit",children:_jsx(CheckIcon,{})})}):_jsxs(Button,{isLoading:isPending,type:"submit",children:[_jsx(CheckIcon,{}),t("label")]})})};
1
+ "use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{CheckIcon}from"lucide-react";import{useTranslations}from"next-intl";import{useActionState}from"react";import{toast}from"sonner";import{Button}from"../../../../../../../components/ui/button.js";import{TooltipWithContent}from"../../../../../../../components/ui/tooltip.js";import{mutationApi}from"./mutation-api.js";export const VerifyEmailUserAdmin=({id,emailVerified,iconOnly=false})=>{const t=useTranslations("admin.user.verify_email");const tError=useTranslations("core.global.errors");const[_,formAction,isPending]=useActionState(async()=>{const mutation=await mutationApi(id);if(mutation?.error){toast.error(tError("title"),{description:tError("internal_server_error")});return}toast.success(t("success"),{description:mutation.data?.name})},null);if(emailVerified){return null}return _jsx("form",{action:formAction,children:iconOnly?_jsx(TooltipWithContent,{text:t("label"),children:_jsx(Button,{"aria-label":t("label"),isLoading:isPending,size:"icon",type:"submit",children:_jsx(CheckIcon,{})})}):_jsxs(Button,{isLoading:isPending,type:"submit",children:[_jsx(CheckIcon,{}),t("label")]})})};
@@ -1,5 +1,5 @@
1
- export declare const UsersAdminActions: ({ nameCode, emailVerified, }: {
1
+ export declare const UsersAdminActions: ({ id, emailVerified, }: {
2
2
  emailVerified: boolean;
3
- nameCode: string;
4
- }) => import("react").JSX.Element;
3
+ id: number;
4
+ }) => import("react").JSX.Element | null;
5
5
  //# sourceMappingURL=actions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../../../../../src/views/admin/views/core/users/actions.tsx"],"names":[],"mappings":"AAWA,eAAO,MAAM,iBAAiB,GAAI,8BAG/B;IACD,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB,gCAqBA,CAAC"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../../../../../src/views/admin/views/core/users/actions.tsx"],"names":[],"mappings":"AAaA,eAAO,MAAM,iBAAiB,GAAI,wBAG/B;IACD,aAAa,EAAE,OAAO,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;CACZ,uCAwBA,CAAC"}
@@ -1 +1 @@
1
- "use client";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{EyeIcon}from"lucide-react";import{useTranslations}from"next-intl";import{buttonVariants}from"../../../../../components/ui/button.js";import{TooltipWithContent}from"../../../../../components/ui/tooltip.js";import{Link}from"../../../../../lib/navigation.js";import{VerifyEmailUserAdmin}from"./actions/verify-email/verify-email.js";export const UsersAdminActions=({nameCode,emailVerified})=>{const t=useTranslations("admin.user.list");return _jsxs(_Fragment,{children:[_jsx(VerifyEmailUserAdmin,{emailVerified:emailVerified,iconOnly:true,nameCode:nameCode}),_jsx(TooltipWithContent,{text:t("view"),children:_jsx(Link,{className:buttonVariants({variant:"ghost"}),href:`/admin/core/users/${nameCode}`,children:_jsx(EyeIcon,{})})})]})};
1
+ "use client";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{PenIcon}from"lucide-react";import{useTranslations}from"next-intl";import{useAdminStaffPermission}from"../../../../../components/staff-permission/provider.js";import{buttonVariants}from"../../../../../components/ui/button.js";import{TooltipWithContent}from"../../../../../components/ui/tooltip.js";import{CONFIG_PLUGIN}from"../../../../../config.js";import{Link}from"../../../../../lib/navigation.js";import{VerifyEmailUserAdmin}from"./actions/verify-email/verify-email.js";export const UsersAdminActions=({id,emailVerified})=>{const t=useTranslations("admin.user.list");const canEdit=useAdminStaffPermission({plugin:CONFIG_PLUGIN.pluginId,module:"users",permission:"can_edit"});if(!canEdit)return null;return _jsxs(_Fragment,{children:[_jsx(VerifyEmailUserAdmin,{emailVerified:emailVerified,iconOnly:true,id:id}),_jsx(TooltipWithContent,{text:t("edit"),children:_jsx(Link,{className:buttonVariants({variant:"ghost"}),href:`/admin/core/users/${id}`,children:_jsx(PenIcon,{})})})]})};
@@ -0,0 +1,4 @@
1
+ export declare const EditImageButton: ({ label }: {
2
+ label: string;
3
+ }) => import("react").JSX.Element;
4
+ //# sourceMappingURL=edit-buttons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-buttons.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/show/edit-buttons.tsx"],"names":[],"mappings":"AAaA,eAAO,MAAM,eAAe,GAAI,WAAW;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,gCAsB3D,CAAC"}
@@ -0,0 +1 @@
1
+ "use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{ImageIcon,Trash2Icon,UploadIcon}from"lucide-react";import{useTranslations}from"next-intl";import{Button}from"../../../../../../components/ui/button.js";import{DropdownMenu,DropdownMenuContent,DropdownMenuItem,DropdownMenuTrigger}from"../../../../../../components/ui/dropdown-menu.js";export const EditImageButton=({label})=>{const t=useTranslations("admin.user.show");return _jsxs(DropdownMenu,{children:[_jsx(DropdownMenuTrigger,{render:_jsx(Button,{"aria-label":label,size:"icon-sm",variant:"outline"}),children:_jsx(ImageIcon,{})}),_jsxs(DropdownMenuContent,{align:"end",children:[_jsxs(DropdownMenuItem,{children:[_jsx(UploadIcon,{}),t("uploadImage")]}),_jsxs(DropdownMenuItem,{variant:"destructive",children:[_jsx(Trash2Icon,{}),t("removeImage")]})]})]})};
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ export declare const EditUserField: ({ id, field, value, label, type, as: Tag, valueClassName, showUnverified, canEdit, }: {
3
+ as?: "h2" | "span";
4
+ canEdit?: boolean;
5
+ field: "email" | "name";
6
+ id: number;
7
+ label: string;
8
+ showUnverified?: boolean;
9
+ type?: "email" | "text";
10
+ value: string;
11
+ valueClassName?: string;
12
+ }) => React.JSX.Element;
13
+ //# sourceMappingURL=edit-field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-field.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/show/edit-field.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,eAAO,MAAM,aAAa,GAAI,sFAU3B;IACD,EAAE,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,sBAuHA,CAAC"}
@@ -0,0 +1 @@
1
+ "use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{CheckIcon,MailIcon,PencilIcon,XIcon}from"lucide-react";import{useTranslations}from"next-intl";import React from"react";import{toast}from"sonner";import{Button}from"../../../../../../components/ui/button.js";import{Input}from"../../../../../../components/ui/input.js";import{TooltipWithContent}from"../../../../../../components/ui/tooltip.js";import{mutationApi}from"./mutation-api.js";export const EditUserField=({id,field,value,label,type="text",as:Tag="span",valueClassName,showUnverified=false,canEdit=true})=>{const t=useTranslations("admin.user");const tGlobal=useTranslations("core.global");const tError=useTranslations("core.global.errors");const[isEditing,setIsEditing]=React.useState(false);const[draft,setDraft]=React.useState(value);const[isPending,startTransition]=React.useTransition();const openEditor=()=>{setDraft(value);setIsEditing(true)};const onSave=()=>{const next=draft.trim();if(!next||next===value){setIsEditing(false);return}startTransition(async()=>{const mutation=await mutationApi(id,{[field]:next});if("error"in mutation){toast.error(tError("title"),{description:mutation.error.status===409?t(field==="email"?"create.email.exists":"create.name.exists"):tError("internal_server_error")});return}toast.success(t("show.updateSuccess"));setIsEditing(false)})};if(isEditing){return _jsxs("form",{className:"flex items-center gap-2",onSubmit:e=>{e.preventDefault();onSave()},children:[_jsx(Input,{"aria-label":label,autoFocus:true,className:"flex-1",disabled:isPending,minLength:type==="email"?undefined:3,name:field,onChange:e=>{setDraft(e.target.value)},onKeyDown:e=>{if(e.key==="Escape"){setIsEditing(false)}},required:true,type:type,value:draft}),_jsx(Button,{"aria-label":tGlobal("save"),isLoading:isPending,size:"icon-sm",type:"submit",children:_jsx(CheckIcon,{})}),_jsx(Button,{"aria-label":tGlobal("cancel"),disabled:isPending,onClick:()=>{setIsEditing(false)},size:"icon-sm",type:"button",variant:"ghost",children:_jsx(XIcon,{})})]})}return _jsxs("div",{className:"flex items-center justify-between gap-2",children:[_jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[_jsx(Tag,{className:valueClassName,children:value}),showUnverified&&_jsx(TooltipWithContent,{text:t("show.emailNotVerified"),children:_jsx(MailIcon,{className:"text-destructive size-5 shrink-0"})})]}),canEdit&&_jsx(Button,{"aria-label":label,onClick:openEditor,size:"icon-sm",variant:"secondary",children:_jsx(PencilIcon,{})})]})};
@@ -0,0 +1,5 @@
1
+ export declare const EditNameCode: ({ id, nameCode, }: {
2
+ id: number;
3
+ nameCode: string;
4
+ }) => import("react").JSX.Element;
5
+ //# sourceMappingURL=edit-name-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-name-code.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/show/edit-name-code.tsx"],"names":[],"mappings":"AAyBA,eAAO,MAAM,YAAY,GAAI,mBAG1B;IACD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;CAClB,gCAoCA,CAAC"}
@@ -0,0 +1 @@
1
+ "use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{LinkIcon,PencilIcon,TriangleAlertIcon}from"lucide-react";import{useTranslations}from"next-intl";import{toast}from"sonner";import{z}from"zod";import{AutoForm}from"../../../../../../components/form/auto-form.js";import{AutoFormInput}from"../../../../../../components/form/fields/input.js";import{Alert,AlertDescription,AlertTitle}from"../../../../../../components/ui/alert.js";import{Button}from"../../../../../../components/ui/button.js";import{Dialog,DialogContent,DialogDescription,DialogHeader,DialogTitle,DialogTrigger,useDialog}from"../../../../../../components/ui/dialog.js";import{mutationApi}from"./mutation-api.js";export const EditNameCode=({id,nameCode})=>{const t=useTranslations("admin.user.show");return _jsxs(Dialog,{children:[_jsx(DialogTrigger,{render:_jsx(Button,{"aria-label":t("editNameCode"),size:"icon-xs",variant:"ghost"}),children:_jsx(PencilIcon,{})}),_jsxs(DialogContent,{children:[_jsxs(DialogHeader,{children:[_jsxs(DialogTitle,{className:"flex items-center gap-2",children:[_jsx(LinkIcon,{className:"size-5"}),t("editNameCode")]}),_jsx(DialogDescription,{children:t("editNameCodeDesc")})]}),_jsxs(Alert,{variant:"destructive",children:[_jsx(TriangleAlertIcon,{}),_jsx(AlertTitle,{children:t("editNameCodeWarningTitle")}),_jsx(AlertDescription,{children:t("editNameCodeWarning")})]}),_jsx(FormEditNameCode,{id:id,nameCode:nameCode})]})]})};const FormEditNameCode=({id,nameCode})=>{const t=useTranslations("admin.user.show");const tError=useTranslations("core.global.errors");const{setOpen,setIsDirty}=useDialog();const formSchema=z.object({newNameCode:z.string({message:tError("field_required")}).min(3,tError("field_min_length",{min:3})).max(255).regex(/^[a-zA-Z0-9-]+$/,t("nameCodeInvalid")).refine(value=>value!==nameCode,t("nameCodeSame")).default(""),currentNameCode:z.string({message:tError("field_required")}).refine(value=>value===nameCode,t("nameCodeConfirmMismatch")).default("")});const onSubmit=async(values,form)=>{const mutation=await mutationApi(id,{nameCode:values.newNameCode});if("data"in mutation){setIsDirty?.(false);setOpen?.(false);toast.success(t("updateSuccess"));return}if(mutation.error.status===409){form.setError("newNameCode",{type:"manual",message:t("nameCodeExists")},{shouldFocus:true});return}toast.error(tError("title"),{description:tError("internal_server_error")})};return _jsx(AutoForm,{fields:[{id:"currentNameCode",component:props=>_jsx(AutoFormInput,{autoComplete:"off",label:t.rich("confirmNameCode",{bold:chunks=>_jsx("span",{className:"font-semibold",children:chunks}),nameCode:()=>_jsx("code",{className:"font-mono",children:nameCode})}),...props})},{id:"newNameCode",component:props=>_jsx(AutoFormInput,{label:t("newNameCode"),...props})}],formSchema:formSchema,mode:"all",onSubmit:onSubmit,submitButtonProps:{children:t("saveNameCode"),variant:"destructive"}})};
@@ -0,0 +1,19 @@
1
+ type MutationResult = {
2
+ data: {
3
+ email: string;
4
+ id: number;
5
+ name: string;
6
+ nameCode: string;
7
+ };
8
+ } | {
9
+ error: {
10
+ status: number;
11
+ };
12
+ };
13
+ export declare const mutationApi: (id: number, input: {
14
+ email?: string;
15
+ name?: string;
16
+ nameCode?: string;
17
+ }) => Promise<MutationResult>;
18
+ export {};
19
+ //# sourceMappingURL=mutation-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation-api.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/show/mutation-api.ts"],"names":[],"mappings":"AAOA,KAAK,cAAc,GACf;IAAE,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACvE;IAAE,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAElC,eAAO,MAAM,WAAW,GACtB,IAAI,MAAM,EACV,OAAO;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,KAC1D,OAAO,CAAC,cAAc,CAmBxB,CAAC"}
@@ -0,0 +1 @@
1
+ "use server";import{revalidatePath}from"next/cache";import{adminModule}from"../../../../../../api/modules/admin/admin.module.js";import{fetcher}from"../../../../../../lib/fetcher.js";export const mutationApi=async(id,input)=>{const res=await fetcher(adminModule,{path:"/{id}",method:"patch",module:"admin/users",args:{params:{id:String(id)},body:input}});if(res.status!==200){return{error:{status:res.status}}}const data=await res.json();revalidatePath("/[locale]/admin","layout");return{data}};
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import type { Role } from "./search-roles.action";
3
+ export declare const EditRoles: ({ id, primaryRole, secondaryRoles, }: {
4
+ id: number;
5
+ primaryRole: Role;
6
+ secondaryRoles: Role[];
7
+ }) => React.JSX.Element;
8
+ //# sourceMappingURL=edit-roles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-roles.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/views/admin/views/core/users/show/roles/edit-roles.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,MAAM,OAAO,CAAC;AAgC1B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AA6SlD,eAAO,MAAM,SAAS,GAAI,sCAIvB;IACD,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,IAAI,CAAC;IAClB,cAAc,EAAE,IAAI,EAAE,CAAC;CACxB,sBA8BA,CAAC"}
@@ -0,0 +1 @@
1
+ "use client";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{CheckIcon,ChevronsUpDownIcon,PencilIcon,PlusIcon,UsersIcon,XIcon}from"lucide-react";import{useLocale,useTranslations}from"next-intl";import React from"react";import{toast}from"sonner";import{useDebouncedCallback}from"use-debounce";import{Badge}from"../../../../../../../components/ui/badge.js";import{Button}from"../../../../../../../components/ui/button.js";import{Command,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList}from"../../../../../../../components/ui/command.js";import{Dialog,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogTitle,DialogTrigger,useDialog}from"../../../../../../../components/ui/dialog.js";import{Popover,PopoverContent,PopoverTrigger}from"../../../../../../../components/ui/popover.js";import{Spinner}from"../../../../../../../components/ui/spinner.js";import{cn}from"../../../../../../../lib/utils.js";import{searchRolesForUser}from"./search-roles.action.js";import{updateUserRoles}from"./update-roles.action.js";const RoleName=({role})=>{const locale=useLocale();const name=role.name.find(item=>item.languageCode===locale)?.name??role.name[0]?.name??"";return _jsx("span",{className:"truncate font-medium",style:role.color?{color:role.color}:undefined,children:name})};const RolePicker=({excludeIds=[],onRegister,onSelect,selectedIds,single=false,triggerContent,triggerRender})=>{const t=useTranslations("core.global");const[open,setOpen]=React.useState(false);const[options,setOptions]=React.useState([]);const[isSearching,setIsSearching]=React.useState(false);const runSearch=React.useCallback(async value=>{setIsSearching(true);try{const results=await searchRolesForUser(value);setOptions(results);onRegister(results)}finally{setIsSearching(false)}},[onRegister]);const debouncedSearch=useDebouncedCallback(runSearch,400);const handleOpenChange=next=>{setOpen(next);if(next){setOptions([]);void runSearch("")}};const selectedSet=new Set(selectedIds);const excludeSet=new Set(excludeIds);const visibleOptions=options.filter(option=>!excludeSet.has(option.id));return _jsxs(Popover,{onOpenChange:handleOpenChange,open:open,children:[_jsx(PopoverTrigger,{render:triggerRender,children:triggerContent}),_jsx(PopoverContent,{align:"start",className:"w-(--anchor-width) min-w-56 p-0",children:_jsxs(Command,{shouldFilter:false,children:[_jsx(CommandInput,{onValueChange:debouncedSearch,placeholder:t("search_placeholder")}),_jsx(CommandList,{children:isSearching&&visibleOptions.length===0?_jsx("div",{className:"flex items-center justify-center py-6",children:_jsx(Spinner,{})}):_jsxs(_Fragment,{children:[_jsx(CommandEmpty,{children:t("results_not_found")}),_jsx(CommandGroup,{children:visibleOptions.map(role=>{const isSelected=selectedSet.has(role.id);return _jsxs(CommandItem,{onSelect:()=>{onSelect(role);if(single){setOpen(false)}},value:String(role.id),children:[_jsx(CheckIcon,{className:cn("size-4 shrink-0",isSelected?"opacity-100":"opacity-0")}),_jsx(RoleName,{role:role})]},role.id)})})]})})]})})]})};const FormEditRoles=({id,primaryRole,secondaryRoles})=>{const t=useTranslations("admin.user.show");const tError=useTranslations("core.global.errors");const{setIsDirty,setOpen}=useDialog();const[isPending,startTransition]=React.useTransition();const initialSecondaryIds=secondaryRoles.map(role=>role.id);const[primaryId,setPrimaryId]=React.useState(primaryRole.id);const[secondaryIds,setSecondaryIds]=React.useState(initialSecondaryIds);const[knownRoles,setKnownRoles]=React.useState(()=>new Map([primaryRole,...secondaryRoles].map(role=>[role.id,role])));const registerRoles=React.useCallback(roles=>{setKnownRoles(prev=>{const next=new Map(prev);for(const role of roles){next.set(role.id,role)}return next})},[]);const markDirty=(nextPrimary,nextSecondary)=>{const isDirty=nextPrimary!==primaryRole.id||nextSecondary.length!==initialSecondaryIds.length||nextSecondary.some(id=>!initialSecondaryIds.includes(id));setIsDirty?.(isDirty)};const selectPrimary=role=>{setPrimaryId(role.id);const nextSecondary=secondaryIds.filter(id=>id!==role.id);setSecondaryIds(nextSecondary);markDirty(role.id,nextSecondary)};const toggleSecondary=role=>{const nextSecondary=secondaryIds.includes(role.id)?secondaryIds.filter(id=>id!==role.id):[...secondaryIds,role.id];setSecondaryIds(nextSecondary);markDirty(primaryId,nextSecondary)};const removeSecondary=id=>{const nextSecondary=secondaryIds.filter(item=>item!==id);setSecondaryIds(nextSecondary);markDirty(primaryId,nextSecondary)};const onSubmit=()=>{startTransition(async()=>{const result=await updateUserRoles(id,{roleId:primaryId,secondaryRoleIds:secondaryIds});if("error"in result){toast.error(tError("title"),{description:tError("internal_server_error")});return}setIsDirty?.(false);setOpen?.(false);toast.success(t("updateSuccess"))})};const primary=knownRoles.get(primaryId);return _jsxs(_Fragment,{children:[_jsxs("div",{className:"flex flex-col gap-2",children:[_jsx("span",{className:"text-sm font-medium",children:t("primaryRole")}),_jsx(RolePicker,{onRegister:registerRoles,onSelect:selectPrimary,selectedIds:[primaryId],single:true,triggerContent:_jsxs(_Fragment,{children:[primary?_jsx(RoleName,{role:primary}):_jsx("span",{className:"text-muted-foreground",children:t("selectRole")}),_jsx(ChevronsUpDownIcon,{className:"ms-auto opacity-50"})]}),triggerRender:_jsx(Button,{className:"w-full justify-start font-normal",variant:"outline"})})]}),_jsxs("div",{className:"flex flex-col gap-2",children:[_jsx("span",{className:"text-sm font-medium",children:t("secondaryRoles")}),secondaryIds.length>0&&_jsx("div",{className:"flex flex-wrap gap-1.5",children:secondaryIds.map(id=>{const role=knownRoles.get(id);if(!role)return null;return _jsxs(Badge,{className:"gap-1 pe-1",variant:"secondary",children:[_jsx(RoleName,{role:role}),_jsx(Button,{"aria-label":t("removeRole"),className:"size-4",onClick:()=>{removeSecondary(id)},size:"icon-xs",type:"button",variant:"ghost",children:_jsx(XIcon,{})})]},id)})}),_jsx(RolePicker,{excludeIds:[primaryId],onRegister:registerRoles,onSelect:toggleSecondary,selectedIds:secondaryIds,triggerContent:_jsxs(_Fragment,{children:[_jsx(PlusIcon,{}),t("addSecondaryRole")]}),triggerRender:_jsx(Button,{className:"w-fit border-dashed",size:"sm",variant:"outline"})})]}),_jsx(DialogFooter,{children:_jsx(Button,{isLoading:isPending,onClick:onSubmit,type:"button",children:t("saveRoles")})})]})};export const EditRoles=({id,primaryRole,secondaryRoles})=>{const t=useTranslations("admin.user.show");return _jsxs(Dialog,{children:[_jsx(DialogTrigger,{render:_jsx(Button,{"aria-label":t("editRoles"),size:"icon-sm",variant:"ghost"}),children:_jsx(PencilIcon,{})}),_jsxs(DialogContent,{children:[_jsxs(DialogHeader,{children:[_jsxs(DialogTitle,{className:"flex items-center gap-2",children:[_jsx(UsersIcon,{className:"size-5"}),t("editRoles")]}),_jsx(DialogDescription,{children:t("editRolesDesc")})]}),_jsx(FormEditRoles,{id:id,primaryRole:primaryRole,secondaryRoles:secondaryRoles})]})]})};
@@ -0,0 +1,8 @@
1
+ import type { Role } from "./search-roles.action";
2
+ export declare const RolesUserAdmin: ({ id, role, secondaryRoles, canEdit, }: {
3
+ canEdit?: boolean;
4
+ id: number;
5
+ role: Role;
6
+ secondaryRoles: Role[];
7
+ }) => Promise<import("react").JSX.Element>;
8
+ //# sourceMappingURL=roles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/views/admin/views/core/users/show/roles/roles.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAIlD,eAAO,MAAM,cAAc,GAAU,wCAKlC;IACD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;IACX,cAAc,EAAE,IAAI,EAAE,CAAC;CACxB,yCA4CA,CAAC"}
@@ -0,0 +1 @@
1
+ import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{UsersIcon}from"lucide-react";import{getTranslations}from"next-intl/server";import{RoleFormat}from"../../../../../../../components/role-format.js";import{Card,CardAction,CardContent,CardHeader,CardTitle}from"../../../../../../../components/ui/card.js";import{EditRoles}from"./edit-roles.js";export const RolesUserAdmin=async({id,role,secondaryRoles,canEdit=true})=>{const t=await getTranslations("admin.user.show");return _jsxs(Card,{className:"w-full",children:[_jsxs(CardHeader,{children:[_jsxs(CardTitle,{className:"flex items-center gap-2",children:[_jsx(UsersIcon,{className:"text-muted-foreground size-5"}),t("rolesTitle")]}),canEdit&&_jsx(CardAction,{children:_jsx(EditRoles,{id:id,primaryRole:role,secondaryRoles:secondaryRoles})})]}),_jsxs(CardContent,{className:"flex flex-col gap-4",children:[_jsxs("div",{className:"flex flex-col gap-1",children:[_jsx("span",{className:"text-muted-foreground text-sm",children:t("primaryRole")}),_jsx(RoleFormat,{role:role})]}),secondaryRoles.length>0&&_jsxs("div",{className:"flex flex-col gap-1.5",children:[_jsx("span",{className:"text-muted-foreground text-sm",children:t("secondaryRoles")}),_jsx("div",{className:"flex flex-wrap gap-x-3 gap-y-1",children:secondaryRoles.map(item=>_jsx(RoleFormat,{role:item},item.id))})]})]})]})};
@@ -0,0 +1,10 @@
1
+ export interface Role {
2
+ color: null | string;
3
+ id: number;
4
+ name: {
5
+ languageCode: string;
6
+ name: string;
7
+ }[];
8
+ }
9
+ export declare const searchRolesForUser: (search: string) => Promise<Role[]>;
10
+ //# sourceMappingURL=search-roles.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-roles.action.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/views/admin/views/core/users/show/roles/search-roles.action.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAChD;AAED,eAAO,MAAM,kBAAkB,GAAU,QAAQ,MAAM,KAAG,OAAO,CAAC,IAAI,EAAE,CAwBvE,CAAC"}
@@ -0,0 +1 @@
1
+ "use server";import{adminModule}from"../../../../../../../api/modules/admin/admin.module.js";import{fetcher}from"../../../../../../../lib/fetcher.js";export const searchRolesForUser=async search=>{const res=await fetcher(adminModule,{path:"/list",method:"get",module:"admin/roles",args:{query:{search,first:"20"}},withPagination:true});if(res.status!==200){return[]}const data=await res.json();return data.edges.filter(role=>!role.guest).map(role=>({id:role.id,color:role.color,name:role.name}))};
@@ -0,0 +1,13 @@
1
+ type UpdateRolesResult = {
2
+ data: true;
3
+ } | {
4
+ error: {
5
+ status: number;
6
+ };
7
+ };
8
+ export declare const updateUserRoles: (id: number, input: {
9
+ roleId: number;
10
+ secondaryRoleIds: number[];
11
+ }) => Promise<UpdateRolesResult>;
12
+ export {};
13
+ //# sourceMappingURL=update-roles.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-roles.action.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/views/admin/views/core/users/show/roles/update-roles.action.ts"],"names":[],"mappings":"AAOA,KAAK,iBAAiB,GAAG;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAExE,eAAO,MAAM,eAAe,GAC1B,IAAI,MAAM,EACV,OAAO;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAAE,KACpD,OAAO,CAAC,iBAAiB,CAkB3B,CAAC"}
@@ -0,0 +1 @@
1
+ "use server";import{revalidatePath}from"next/cache";import{adminModule}from"../../../../../../../api/modules/admin/admin.module.js";import{fetcher}from"../../../../../../../lib/fetcher.js";export const updateUserRoles=async(id,input)=>{const res=await fetcher(adminModule,{path:"/{id}",method:"patch",module:"admin/users",args:{params:{id:String(id)},body:input}});if(res.status!==200){return{error:{status:res.status}}}revalidatePath("/[locale]/admin","layout");return{data:true}};
@@ -1,4 +1,4 @@
1
- export declare const ShowUserAdminView: ({ nameCode }: {
2
- nameCode: string;
1
+ export declare const ShowUserAdminView: ({ id }: {
2
+ id: string;
3
3
  }) => Promise<import("react").JSX.Element>;
4
4
  //# sourceMappingURL=show-user-admin-view.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"show-user-admin-view.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/show/show-user-admin-view.tsx"],"names":[],"mappings":"AAaA,eAAO,MAAM,iBAAiB,GAAU,cAAc;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,yCAuEzE,CAAC"}
1
+ {"version":3,"file":"show-user-admin-view.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/show/show-user-admin-view.tsx"],"names":[],"mappings":"AAoBA,eAAO,MAAM,iBAAiB,GAAU,QAAQ;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,yCA8H7D,CAAC"}