@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,62 @@
1
+ import { z } from "@hono/zod-openapi";
2
+ export declare const updatePermissionsStaffAdminRoute: import("../../../../../api/lib/route").Route<"@vitnode/core", {
3
+ method: "patch";
4
+ description: string;
5
+ path: "/entry/{type}/{id}";
6
+ request: {
7
+ params: z.ZodObject<{
8
+ type: z.ZodEnum<{
9
+ admin: "admin";
10
+ moderator: "moderator";
11
+ }>;
12
+ id: z.ZodString;
13
+ }, z.core.$strip>;
14
+ body: {
15
+ content: {
16
+ "application/json": {
17
+ schema: z.ZodObject<{
18
+ unrestricted: z.ZodBoolean;
19
+ permissions: z.ZodArray<z.ZodObject<{
20
+ plugin: z.ZodString;
21
+ module: z.ZodString;
22
+ permission: z.ZodString;
23
+ }, z.core.$strip>>;
24
+ }, z.core.$strip>;
25
+ };
26
+ };
27
+ };
28
+ };
29
+ responses: {
30
+ 200: {
31
+ content: {
32
+ "application/json": {
33
+ schema: z.ZodObject<{
34
+ unrestricted: z.ZodBoolean;
35
+ permissions: z.ZodArray<z.ZodObject<{
36
+ plugin: z.ZodString;
37
+ module: z.ZodString;
38
+ permission: z.ZodString;
39
+ }, z.core.$strip>>;
40
+ }, z.core.$strip>;
41
+ };
42
+ };
43
+ description: string;
44
+ };
45
+ 403: {
46
+ description: string;
47
+ };
48
+ 404: {
49
+ content: {
50
+ "application/json": {
51
+ schema: z.ZodObject<{
52
+ error: z.ZodString;
53
+ }, z.core.$strip>;
54
+ };
55
+ };
56
+ description: string;
57
+ };
58
+ };
59
+ } & {
60
+ path: string;
61
+ }>;
62
+ //# sourceMappingURL=update-permissions.route.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-permissions.route.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/modules/admin/staff/routes/update-permissions.route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AA2BtC,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2K3C,CAAC"}
@@ -0,0 +1 @@
1
+ import{z}from"@hono/zod-openapi";import{eq}from"drizzle-orm";import{HTTPException}from"hono/http-exception";import{assertStaffPermission,getUserRoleIds}from"../../../../lib/check-staff-permission.js";import{buildRoute}from"../../../../lib/route.js";import{staffPermissionKey}from"../../../../lib/staff-permission.js";import{CONFIG_PLUGIN}from"../../../../../config.js";import{core_admin_permissions}from"../../../../../database/admins.js";import{core_moderators_permissions}from"../../../../../database/moderators.js";import{permissionsStaffArgsSchema,staffPermissionModuleByType,staffTypeSchema}from"../lib/schema.js";const tableByType={admin:core_admin_permissions,moderator:core_moderators_permissions};export const updatePermissionsStaffAdminRoute=buildRoute({pluginId:CONFIG_PLUGIN.pluginId,route:{method:"patch",description:"Update the granted permissions of a staff entry (Admin only)",path:"/entry/{type}/{id}",request:{params:z.object({type:staffTypeSchema,id:z.string().openapi({example:"1"})}),body:{content:{"application/json":{schema:z.object({unrestricted:z.boolean(),permissions:z.array(permissionsStaffArgsSchema)})}}}},responses:{200:{content:{"application/json":{schema:z.object({unrestricted:z.boolean(),permissions:z.array(permissionsStaffArgsSchema)})}},description:"Updated permissions"},403:{description:"Access Denied"},404:{content:{"application/json":{schema:z.object({error:z.string()})}},description:"Staff entry not found"}}},handler:async c=>{const{type,id}=c.req.valid("param");await assertStaffPermission(c,{type:"admin",plugin:CONFIG_PLUGIN.pluginId,module:staffPermissionModuleByType[type],permission:"can_edit"});const{unrestricted,permissions}=c.req.valid("json");const entryId=Number(id);if(!Number.isInteger(entryId)){return c.json({error:"Staff entry not found"},404)}const table=tableByType[type];const[entry]=await c.get("db").select({protected:table.protected,userId:table.userId,roleId:table.roleId}).from(table).where(eq(table.id,entryId)).limit(1);if(!entry){return c.json({error:"Staff entry not found"},404)}if(entry.protected){throw new HTTPException(403,{message:"Forbidden"})}const currentUser=c.get("admin")?.user;const currentUserRoleIds=currentUser?await getUserRoleIds(c,currentUser):[];const isSelf=currentUser!=null&&(entry.userId!=null&&entry.userId===currentUser.id||entry.roleId!=null&&currentUserRoleIds.includes(entry.roleId));if(isSelf){throw new HTTPException(403,{message:"You cannot edit your own staff permissions."})}const allowed=new Set;const dependencies=new Map;for(const plugin of c.get("core").permissionStaff){for(const[module,modulePermissions]of Object.entries(plugin[type])){for(const entry of modulePermissions){const key=staffPermissionKey({plugin:plugin.pluginId,module,permission:entry.permission});allowed.add(key);dependencies.set(key,entry.dependsOn.map(dependency=>staffPermissionKey({plugin:plugin.pluginId,module,permission:dependency})))}}}const seen=new Set;const granted=new Map;if(!unrestricted){for(const permission of permissions){const key=staffPermissionKey(permission);if(!allowed.has(key)||seen.has(key))continue;seen.add(key);granted.set(key,permission)}let changed=true;while(changed){changed=false;for(const key of granted.keys()){const deps=dependencies.get(key)??[];if(deps.some(dependency=>!granted.has(dependency))){granted.delete(key);changed=true}}}}const sanitized=[...granted.values()];const[updated]=await c.get("db").update(table).set({data:{unrestricted,permissions:sanitized}}).where(eq(table.id,entryId)).returning({id:table.id});if(!updated){return c.json({error:"Staff entry not found"},404)}return c.json({unrestricted,permissions:sanitized},200)}});
@@ -0,0 +1,392 @@
1
+ export declare const staffAdminModule: import("../../../../api/lib/module").BuildModuleReturn<"@vitnode/core", "staff", [import("../../../lib/route").Route<"@vitnode/core", {
2
+ method: "get";
3
+ description: string;
4
+ path: "/moderators";
5
+ request: {
6
+ query: import("zod").ZodObject<{
7
+ cursor: import("zod").ZodOptional<import("zod").ZodString>;
8
+ first: import("zod").ZodOptional<import("zod").ZodString>;
9
+ last: import("zod").ZodOptional<import("zod").ZodString>;
10
+ order: import("zod").ZodOptional<import("zod").ZodEnum<{
11
+ asc: "asc";
12
+ desc: "desc";
13
+ }>>;
14
+ orderBy: import("zod").ZodOptional<import("zod").ZodEnum<{
15
+ id: "id";
16
+ createdAt: "createdAt";
17
+ updatedAt: "updatedAt";
18
+ }>>;
19
+ }, import("zod/v4/core").$strip>;
20
+ };
21
+ responses: {
22
+ 200: {
23
+ content: {
24
+ "application/json": {
25
+ schema: import("zod").ZodObject<{
26
+ edges: import("zod").ZodArray<import("zod").ZodObject<{
27
+ id: import("zod").ZodNumber;
28
+ createdAt: import("zod").ZodDate;
29
+ updatedAt: import("zod").ZodDate;
30
+ unrestricted: import("zod").ZodBoolean;
31
+ protected: import("zod").ZodBoolean;
32
+ self: import("zod").ZodBoolean;
33
+ role: import("zod").ZodNullable<import("zod").ZodObject<{
34
+ id: import("zod").ZodNumber;
35
+ color: import("zod").ZodNullable<import("zod").ZodString>;
36
+ name: import("zod").ZodArray<import("zod").ZodObject<{
37
+ name: import("zod").ZodString;
38
+ languageCode: import("zod").ZodString;
39
+ }, import("zod/v4/core").$strip>>;
40
+ }, import("zod/v4/core").$strip>>;
41
+ user: import("zod").ZodNullable<import("zod").ZodObject<{
42
+ id: import("zod").ZodNumber;
43
+ name: import("zod").ZodString;
44
+ nameCode: import("zod").ZodString;
45
+ avatarColor: import("zod").ZodString;
46
+ role: import("zod").ZodObject<{
47
+ id: import("zod").ZodNumber;
48
+ color: import("zod").ZodNullable<import("zod").ZodString>;
49
+ name: import("zod").ZodArray<import("zod").ZodObject<{
50
+ name: import("zod").ZodString;
51
+ languageCode: import("zod").ZodString;
52
+ }, import("zod/v4/core").$strip>>;
53
+ }, import("zod/v4/core").$strip>;
54
+ }, import("zod/v4/core").$strip>>;
55
+ }, import("zod/v4/core").$strip>>;
56
+ pageInfo: import("zod").ZodObject<{
57
+ totalCount: import("zod").ZodNumber;
58
+ count: import("zod").ZodNumber;
59
+ hasNextPage: import("zod").ZodBoolean;
60
+ hasPreviousPage: import("zod").ZodBoolean;
61
+ startCursor: import("zod").ZodNullable<import("zod").ZodNumber>;
62
+ endCursor: import("zod").ZodNullable<import("zod").ZodNumber>;
63
+ }, import("zod/v4/core").$strip>;
64
+ }, import("zod/v4/core").$strip>;
65
+ };
66
+ };
67
+ description: string;
68
+ };
69
+ 403: {
70
+ description: string;
71
+ };
72
+ };
73
+ } & {
74
+ path: string;
75
+ }>, import("../../../lib/route").Route<"@vitnode/core", {
76
+ method: "get";
77
+ description: string;
78
+ path: "/admins";
79
+ request: {
80
+ query: import("zod").ZodObject<{
81
+ cursor: import("zod").ZodOptional<import("zod").ZodString>;
82
+ first: import("zod").ZodOptional<import("zod").ZodString>;
83
+ last: import("zod").ZodOptional<import("zod").ZodString>;
84
+ order: import("zod").ZodOptional<import("zod").ZodEnum<{
85
+ asc: "asc";
86
+ desc: "desc";
87
+ }>>;
88
+ orderBy: import("zod").ZodOptional<import("zod").ZodEnum<{
89
+ id: "id";
90
+ createdAt: "createdAt";
91
+ updatedAt: "updatedAt";
92
+ }>>;
93
+ }, import("zod/v4/core").$strip>;
94
+ };
95
+ responses: {
96
+ 200: {
97
+ content: {
98
+ "application/json": {
99
+ schema: import("zod").ZodObject<{
100
+ edges: import("zod").ZodArray<import("zod").ZodObject<{
101
+ id: import("zod").ZodNumber;
102
+ createdAt: import("zod").ZodDate;
103
+ updatedAt: import("zod").ZodDate;
104
+ unrestricted: import("zod").ZodBoolean;
105
+ protected: import("zod").ZodBoolean;
106
+ self: import("zod").ZodBoolean;
107
+ role: import("zod").ZodNullable<import("zod").ZodObject<{
108
+ id: import("zod").ZodNumber;
109
+ color: import("zod").ZodNullable<import("zod").ZodString>;
110
+ name: import("zod").ZodArray<import("zod").ZodObject<{
111
+ name: import("zod").ZodString;
112
+ languageCode: import("zod").ZodString;
113
+ }, import("zod/v4/core").$strip>>;
114
+ }, import("zod/v4/core").$strip>>;
115
+ user: import("zod").ZodNullable<import("zod").ZodObject<{
116
+ id: import("zod").ZodNumber;
117
+ name: import("zod").ZodString;
118
+ nameCode: import("zod").ZodString;
119
+ avatarColor: import("zod").ZodString;
120
+ role: import("zod").ZodObject<{
121
+ id: import("zod").ZodNumber;
122
+ color: import("zod").ZodNullable<import("zod").ZodString>;
123
+ name: import("zod").ZodArray<import("zod").ZodObject<{
124
+ name: import("zod").ZodString;
125
+ languageCode: import("zod").ZodString;
126
+ }, import("zod/v4/core").$strip>>;
127
+ }, import("zod/v4/core").$strip>;
128
+ }, import("zod/v4/core").$strip>>;
129
+ }, import("zod/v4/core").$strip>>;
130
+ pageInfo: import("zod").ZodObject<{
131
+ totalCount: import("zod").ZodNumber;
132
+ count: import("zod").ZodNumber;
133
+ hasNextPage: import("zod").ZodBoolean;
134
+ hasPreviousPage: import("zod").ZodBoolean;
135
+ startCursor: import("zod").ZodNullable<import("zod").ZodNumber>;
136
+ endCursor: import("zod").ZodNullable<import("zod").ZodNumber>;
137
+ }, import("zod/v4/core").$strip>;
138
+ }, import("zod/v4/core").$strip>;
139
+ };
140
+ };
141
+ description: string;
142
+ };
143
+ 403: {
144
+ description: string;
145
+ };
146
+ };
147
+ } & {
148
+ path: string;
149
+ }>, import("../../../lib/route").Route<"@vitnode/core", {
150
+ method: "get";
151
+ description: string;
152
+ path: "/permission-catalog";
153
+ responses: {
154
+ 200: {
155
+ content: {
156
+ "application/json": {
157
+ schema: import("zod").ZodArray<import("zod").ZodObject<{
158
+ pluginId: import("zod").ZodString;
159
+ admin: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodArray<import("zod").ZodObject<{
160
+ permission: import("zod").ZodString;
161
+ dependsOn: import("zod").ZodArray<import("zod").ZodString>;
162
+ }, import("zod/v4/core").$strip>>>;
163
+ moderator: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodArray<import("zod").ZodObject<{
164
+ permission: import("zod").ZodString;
165
+ dependsOn: import("zod").ZodArray<import("zod").ZodString>;
166
+ }, import("zod/v4/core").$strip>>>;
167
+ }, import("zod/v4/core").$strip>>;
168
+ };
169
+ };
170
+ description: string;
171
+ };
172
+ 403: {
173
+ description: string;
174
+ };
175
+ };
176
+ } & {
177
+ path: string;
178
+ }>, import("../../../lib/route").Route<"@vitnode/core", {
179
+ method: "get";
180
+ description: string;
181
+ path: "/entry/{type}/{id}";
182
+ request: {
183
+ params: import("zod").ZodObject<{
184
+ type: import("zod").ZodEnum<{
185
+ admin: "admin";
186
+ moderator: "moderator";
187
+ }>;
188
+ id: import("zod").ZodString;
189
+ }, import("zod/v4/core").$strip>;
190
+ };
191
+ responses: {
192
+ 200: {
193
+ content: {
194
+ "application/json": {
195
+ schema: import("zod").ZodObject<{
196
+ id: import("zod").ZodNumber;
197
+ createdAt: import("zod").ZodDate;
198
+ updatedAt: import("zod").ZodDate;
199
+ unrestricted: import("zod").ZodBoolean;
200
+ protected: import("zod").ZodBoolean;
201
+ self: import("zod").ZodBoolean;
202
+ role: import("zod").ZodNullable<import("zod").ZodObject<{
203
+ id: import("zod").ZodNumber;
204
+ color: import("zod").ZodNullable<import("zod").ZodString>;
205
+ name: import("zod").ZodArray<import("zod").ZodObject<{
206
+ name: import("zod").ZodString;
207
+ languageCode: import("zod").ZodString;
208
+ }, import("zod/v4/core").$strip>>;
209
+ }, import("zod/v4/core").$strip>>;
210
+ user: import("zod").ZodNullable<import("zod").ZodObject<{
211
+ id: import("zod").ZodNumber;
212
+ name: import("zod").ZodString;
213
+ nameCode: import("zod").ZodString;
214
+ avatarColor: import("zod").ZodString;
215
+ role: import("zod").ZodObject<{
216
+ id: import("zod").ZodNumber;
217
+ color: import("zod").ZodNullable<import("zod").ZodString>;
218
+ name: import("zod").ZodArray<import("zod").ZodObject<{
219
+ name: import("zod").ZodString;
220
+ languageCode: import("zod").ZodString;
221
+ }, import("zod/v4/core").$strip>>;
222
+ }, import("zod/v4/core").$strip>;
223
+ }, import("zod/v4/core").$strip>>;
224
+ permissions: import("zod").ZodArray<import("zod").ZodObject<{
225
+ plugin: import("zod").ZodString;
226
+ module: import("zod").ZodString;
227
+ permission: import("zod").ZodString;
228
+ }, import("zod/v4/core").$strip>>;
229
+ }, import("zod/v4/core").$strip>;
230
+ };
231
+ };
232
+ description: string;
233
+ };
234
+ 403: {
235
+ description: string;
236
+ };
237
+ 404: {
238
+ content: {
239
+ "application/json": {
240
+ schema: import("zod").ZodObject<{
241
+ error: import("zod").ZodString;
242
+ }, import("zod/v4/core").$strip>;
243
+ };
244
+ };
245
+ description: string;
246
+ };
247
+ };
248
+ } & {
249
+ path: string;
250
+ }>, import("../../../lib/route").Route<"@vitnode/core", {
251
+ method: "patch";
252
+ description: string;
253
+ path: "/entry/{type}/{id}";
254
+ request: {
255
+ params: import("zod").ZodObject<{
256
+ type: import("zod").ZodEnum<{
257
+ admin: "admin";
258
+ moderator: "moderator";
259
+ }>;
260
+ id: import("zod").ZodString;
261
+ }, import("zod/v4/core").$strip>;
262
+ body: {
263
+ content: {
264
+ "application/json": {
265
+ schema: import("zod").ZodObject<{
266
+ unrestricted: import("zod").ZodBoolean;
267
+ permissions: import("zod").ZodArray<import("zod").ZodObject<{
268
+ plugin: import("zod").ZodString;
269
+ module: import("zod").ZodString;
270
+ permission: import("zod").ZodString;
271
+ }, import("zod/v4/core").$strip>>;
272
+ }, import("zod/v4/core").$strip>;
273
+ };
274
+ };
275
+ };
276
+ };
277
+ responses: {
278
+ 200: {
279
+ content: {
280
+ "application/json": {
281
+ schema: import("zod").ZodObject<{
282
+ unrestricted: import("zod").ZodBoolean;
283
+ permissions: import("zod").ZodArray<import("zod").ZodObject<{
284
+ plugin: import("zod").ZodString;
285
+ module: import("zod").ZodString;
286
+ permission: import("zod").ZodString;
287
+ }, import("zod/v4/core").$strip>>;
288
+ }, import("zod/v4/core").$strip>;
289
+ };
290
+ };
291
+ description: string;
292
+ };
293
+ 403: {
294
+ description: string;
295
+ };
296
+ 404: {
297
+ content: {
298
+ "application/json": {
299
+ schema: import("zod").ZodObject<{
300
+ error: import("zod").ZodString;
301
+ }, import("zod/v4/core").$strip>;
302
+ };
303
+ };
304
+ description: string;
305
+ };
306
+ };
307
+ } & {
308
+ path: string;
309
+ }>, import("../../../lib/route").Route<"@vitnode/core", {
310
+ method: "post";
311
+ description: string;
312
+ path: "/entry/{type}";
313
+ request: {
314
+ params: import("zod").ZodObject<{
315
+ type: import("zod").ZodEnum<{
316
+ admin: "admin";
317
+ moderator: "moderator";
318
+ }>;
319
+ }, import("zod/v4/core").$strip>;
320
+ body: {
321
+ content: {
322
+ "application/json": {
323
+ schema: import("zod").ZodObject<{
324
+ roleId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
325
+ userId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
326
+ }, import("zod/v4/core").$strip>;
327
+ };
328
+ };
329
+ };
330
+ };
331
+ responses: {
332
+ 201: {
333
+ content: {
334
+ "application/json": {
335
+ schema: import("zod").ZodObject<{
336
+ id: import("zod").ZodNumber;
337
+ }, import("zod/v4/core").$strip>;
338
+ };
339
+ };
340
+ description: string;
341
+ };
342
+ 403: {
343
+ description: string;
344
+ };
345
+ 409: {
346
+ content: {
347
+ "application/json": {
348
+ schema: import("zod").ZodObject<{
349
+ error: import("zod").ZodString;
350
+ }, import("zod/v4/core").$strip>;
351
+ };
352
+ };
353
+ description: string;
354
+ };
355
+ };
356
+ } & {
357
+ path: string;
358
+ }>, import("../../../lib/route").Route<"@vitnode/core", {
359
+ method: "delete";
360
+ description: string;
361
+ path: "/entry/{type}/{id}";
362
+ request: {
363
+ params: import("zod").ZodObject<{
364
+ type: import("zod").ZodEnum<{
365
+ admin: "admin";
366
+ moderator: "moderator";
367
+ }>;
368
+ id: import("zod").ZodString;
369
+ }, import("zod/v4/core").$strip>;
370
+ };
371
+ responses: {
372
+ 200: {
373
+ description: string;
374
+ };
375
+ 403: {
376
+ description: string;
377
+ };
378
+ 404: {
379
+ content: {
380
+ "application/json": {
381
+ schema: import("zod").ZodObject<{
382
+ error: import("zod").ZodString;
383
+ }, import("zod/v4/core").$strip>;
384
+ };
385
+ };
386
+ description: string;
387
+ };
388
+ };
389
+ } & {
390
+ path: string;
391
+ }>], import("../../../../api/lib/module").BaseBuildModuleReturn<"@vitnode/core", string, import("../../../lib/route").Route<"@vitnode/core", import("@hono/zod-openapi").RouteConfig>[]>[]>;
392
+ //# sourceMappingURL=staff.admin.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staff.admin.module.d.ts","sourceRoot":"","sources":["../../../../../../src/api/modules/admin/staff/staff.admin.module.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iLAY3B,CAAC"}
@@ -0,0 +1 @@
1
+ import{buildModule}from"../../../lib/module.js";import{CONFIG_PLUGIN}from"../../../../config.js";import{listAdminsStaffAdminRoute}from"./routes/admins.route.js";import{createStaffAdminRoute}from"./routes/create.route.js";import{deleteStaffAdminRoute}from"./routes/delete.route.js";import{listModeratorsStaffAdminRoute}from"./routes/moderators.route.js";import{permissionCatalogStaffAdminRoute}from"./routes/permission-catalog.route.js";import{showPermissionsStaffAdminRoute}from"./routes/show-permissions.route.js";import{updatePermissionsStaffAdminRoute}from"./routes/update-permissions.route.js";export const staffAdminModule=buildModule({pluginId:CONFIG_PLUGIN.pluginId,name:"staff",routes:[listModeratorsStaffAdminRoute,listAdminsStaffAdminRoute,permissionCatalogStaffAdminRoute,showPermissionsStaffAdminRoute,updatePermissionsStaffAdminRoute,createStaffAdminRoute,deleteStaffAdminRoute]});
@@ -0,0 +1,4 @@
1
+ import type { Context } from "hono";
2
+ export declare const assertCanEditAdminTarget: (c: Context, userId: number) => Promise<void>;
3
+ export declare const assertCanAssignPrimaryRole: (c: Context, roleId: number) => Promise<void>;
4
+ //# sourceMappingURL=assert-edit-user-permission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert-edit-user-permission.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/modules/admin/users/lib/assert-edit-user-permission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAkBpC,eAAO,MAAM,wBAAwB,GACnC,GAAG,OAAO,EACV,QAAQ,MAAM,KACb,OAAO,CAAC,IAAI,CAOd,CAAC;AASF,eAAO,MAAM,0BAA0B,GACrC,GAAG,OAAO,EACV,QAAQ,MAAM,KACb,OAAO,CAAC,IAAI,CAWd,CAAC"}
@@ -0,0 +1 @@
1
+ import{eq}from"drizzle-orm";import{assertStaffPermission}from"../../../../lib/check-staff-permission.js";import{SessionAdminModel}from"../../../../models/session-admin.js";import{CONFIG_PLUGIN}from"../../../../../config.js";import{core_admin_permissions}from"../../../../../database/admins.js";const assertCanEditAdmin=async c=>{await assertStaffPermission(c,{type:"admin",plugin:CONFIG_PLUGIN.pluginId,module:"users",permission:"can_edit_admin"})};export const assertCanEditAdminTarget=async(c,userId)=>{const isTargetAdmin=await new SessionAdminModel(c).checkIfUserIsAdmin(userId);if(!isTargetAdmin)return;await assertCanEditAdmin(c)};export const assertCanAssignPrimaryRole=async(c,roleId)=>{const[adminRole]=await c.get("db").select({id:core_admin_permissions.id}).from(core_admin_permissions).where(eq(core_admin_permissions.roleId,roleId)).limit(1);if(!adminRole)return;await assertCanEditAdmin(c)};
@@ -1 +1 @@
1
- {"version":3,"file":"create.route.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/modules/admin/users/routes/create.route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAStC,eAAO,MAAM,wBAAwB;;;;iBAcnC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmD/B,CAAC"}
1
+ {"version":3,"file":"create.route.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/modules/admin/users/routes/create.route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAStC,eAAO,MAAM,wBAAwB;;;;iBAcnC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoD/B,CAAC"}
@@ -1 +1 @@
1
- import{z}from"@hono/zod-openapi";import{buildRoute}from"../../../../lib/route.js";import{PasswordModel}from"../../../../models/password.js";import{UserModel}from"../../../../models/user.js";import{CONFIG_PLUGIN}from"../../../../../config.js";const nameRegex=/^(?!.* {2})[\p{L}\p{N}._@ -]*$/u;export const zodCreateUserAdminSchema=z.object({email:z.email().toLowerCase().openapi({example:"test@test.com"}),name:z.string().openapi({example:"test"}).min(3).refine(val=>nameRegex.test(val),{message:"Invalid name"}),password:z.string().min(8).openapi({example:"Test123!"})});export const createUserAdminRoute=buildRoute({pluginId:CONFIG_PLUGIN.pluginId,route:{method:"post",description:"Create a new user (Admin only)",path:"/create",request:{body:{required:true,content:{"application/json":{schema:zodCreateUserAdminSchema}}}},responses:{201:{content:{"application/json":{schema:z.object({id:z.number(),name:z.string(),email:z.email()})}},description:"User created"},403:{description:"Access Denied"},409:{description:"Email or name already exists"}}},handler:async c=>{const{password,...input}=c.req.valid("json");const hashedPassword=await new PasswordModel().encryptPassword(password);const data=await new UserModel().signUp({...input,hashedPassword},c);return c.json({id:data.id,name:data.name,email:data.email},201)}});
1
+ import{z}from"@hono/zod-openapi";import{buildRoute}from"../../../../lib/route.js";import{PasswordModel}from"../../../../models/password.js";import{UserModel}from"../../../../models/user.js";import{CONFIG_PLUGIN}from"../../../../../config.js";const nameRegex=/^(?!.* {2})[\p{L}\p{N}._@ -]*$/u;export const zodCreateUserAdminSchema=z.object({email:z.email().toLowerCase().openapi({example:"test@test.com"}),name:z.string().openapi({example:"test"}).min(3).refine(val=>nameRegex.test(val),{message:"Invalid name"}),password:z.string().min(8).openapi({example:"Test123!"})});export const createUserAdminRoute=buildRoute({pluginId:CONFIG_PLUGIN.pluginId,adminStaffPermission:{module:"users",permission:"can_create"},route:{method:"post",description:"Create a new user (Admin only)",path:"/create",request:{body:{required:true,content:{"application/json":{schema:zodCreateUserAdminSchema}}}},responses:{201:{content:{"application/json":{schema:z.object({id:z.number(),name:z.string(),email:z.email()})}},description:"User created"},403:{description:"Access Denied"},409:{description:"Email or name already exists"}}},handler:async c=>{const{password,...input}=c.req.valid("json");const hashedPassword=await new PasswordModel().encryptPassword(password);const data=await new UserModel().signUp({...input,hashedPassword},c);return c.json({id:data.id,name:data.name,email:data.email},201)}});
@@ -35,6 +35,22 @@ export declare const listUsersAdminRoute: import("../../../../../api/lib/route")
35
35
  avatarColor: z.ZodString;
36
36
  emailVerified: z.ZodBoolean;
37
37
  roleId: z.ZodNumber;
38
+ role: z.ZodObject<{
39
+ id: z.ZodNumber;
40
+ color: z.ZodNullable<z.ZodString>;
41
+ name: z.ZodArray<z.ZodObject<{
42
+ name: z.ZodString;
43
+ languageCode: z.ZodString;
44
+ }, z.core.$strip>>;
45
+ }, z.core.$strip>;
46
+ secondaryRoles: z.ZodArray<z.ZodObject<{
47
+ id: z.ZodNumber;
48
+ color: z.ZodNullable<z.ZodString>;
49
+ name: z.ZodArray<z.ZodObject<{
50
+ name: z.ZodString;
51
+ languageCode: z.ZodString;
52
+ }, z.core.$strip>>;
53
+ }, z.core.$strip>>;
38
54
  birthday: z.ZodNullable<z.ZodDate>;
39
55
  language: z.ZodString;
40
56
  }, z.core.$strip>>;
@@ -1 +1 @@
1
- {"version":3,"file":"list.route.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/modules/admin/users/routes/list.route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAYtC,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuF9B,CAAC"}
1
+ {"version":3,"file":"list.route.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/modules/admin/users/routes/list.route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AActC,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2J9B,CAAC"}
@@ -1 +1 @@
1
- import{z}from"@hono/zod-openapi";import{inArray}from"drizzle-orm";import{buildRoute}from"../../../../lib/route.js";import{withPagination,zodPaginationPageInfo,zodPaginationQuery}from"../../../../lib/with-pagination.js";import{CONFIG_PLUGIN}from"../../../../../config.js";import{core_users}from"../../../../../database/users.js";export const listUsersAdminRoute=buildRoute({pluginId:CONFIG_PLUGIN.pluginId,route:{method:"get",description:"Get list of all users",path:"/list",request:{query:zodPaginationQuery.extend({order:z.enum(["asc","desc"]).optional(),orderBy:z.enum(["name","createdAt"]).optional(),roleId:z.string().optional(),search:z.string().optional()})},responses:{200:{content:{"application/json":{schema:z.object({edges:z.array(z.object({id:z.number(),name:z.string(),email:z.string(),nameCode:z.string(),createdAt:z.date(),newsletter:z.boolean(),avatarColor:z.string(),emailVerified:z.boolean(),roleId:z.number(),birthday:z.date().nullable(),language:z.string()})),pageInfo:zodPaginationPageInfo})}},description:"List of users"}}},handler:async c=>{const query=c.req.valid("query");const roleIds=(query.roleId?.split(",")??[]).filter(Boolean).map(id=>Number(id)).filter(id=>!Number.isNaN(id));const data=await withPagination({params:{query},search:[core_users.name,core_users.email],where:roleIds.length?inArray(core_users.roleId,roleIds):undefined,primaryCursor:core_users.id,query:async({limit,where,orderBy})=>await c.get("db").select({id:core_users.id,name:core_users.name,email:core_users.email,nameCode:core_users.nameCode,createdAt:core_users.createdAt,newsletter:core_users.newsletter,avatarColor:core_users.avatarColor,emailVerified:core_users.emailVerified,roleId:core_users.roleId,birthday:core_users.birthday,language:core_users.language}).from(core_users).where(where).orderBy(orderBy).limit(limit),table:core_users,orderBy:{column:query.orderBy?core_users[query.orderBy]:core_users.createdAt,order:query.order??"desc"},c});return c.json(data)}});
1
+ import{z}from"@hono/zod-openapi";import{eq,inArray}from"drizzle-orm";import{resolveRoleNames}from"../../../../lib/resolve-role-names.js";import{buildRoute}from"../../../../lib/route.js";import{withPagination,zodPaginationPageInfo,zodPaginationQuery}from"../../../../lib/with-pagination.js";import{CONFIG_PLUGIN}from"../../../../../config.js";import{core_roles}from"../../../../../database/roles.js";import{core_users,core_users_secondary_roles}from"../../../../../database/users.js";export const listUsersAdminRoute=buildRoute({pluginId:CONFIG_PLUGIN.pluginId,adminStaffPermission:{module:"users",permission:"can_view"},route:{method:"get",description:"Get list of all users",path:"/list",request:{query:zodPaginationQuery.extend({order:z.enum(["asc","desc"]).optional(),orderBy:z.enum(["name","createdAt"]).optional(),roleId:z.string().optional(),search:z.string().optional()})},responses:{200:{content:{"application/json":{schema:z.object({edges:z.array(z.object({id:z.number(),name:z.string(),email:z.string(),nameCode:z.string(),createdAt:z.date(),newsletter:z.boolean(),avatarColor:z.string(),emailVerified:z.boolean(),roleId:z.number(),role:z.object({id:z.number(),color:z.string().nullable(),name:z.array(z.object({name:z.string(),languageCode:z.string()}))}),secondaryRoles:z.array(z.object({id:z.number(),color:z.string().nullable(),name:z.array(z.object({name:z.string(),languageCode:z.string()}))})),birthday:z.date().nullable(),language:z.string()})),pageInfo:zodPaginationPageInfo})}},description:"List of users"}}},handler:async c=>{const query=c.req.valid("query");const roleIds=(query.roleId?.split(",")??[]).filter(Boolean).map(id=>Number(id)).filter(id=>!Number.isNaN(id));const data=await withPagination({params:{query},search:[core_users.name,core_users.email],where:roleIds.length?inArray(core_users.roleId,roleIds):undefined,primaryCursor:core_users.id,query:async({limit,where,orderBy})=>await c.get("db").select({id:core_users.id,name:core_users.name,email:core_users.email,nameCode:core_users.nameCode,createdAt:core_users.createdAt,newsletter:core_users.newsletter,avatarColor:core_users.avatarColor,emailVerified:core_users.emailVerified,roleId:core_users.roleId,roleColor:core_roles.color,birthday:core_users.birthday,language:core_users.language}).from(core_users).leftJoin(core_roles,eq(core_roles.id,core_users.roleId)).where(where).orderBy(orderBy).limit(limit),table:core_users,orderBy:{column:query.orderBy?core_users[query.orderBy]:core_users.createdAt,order:query.order??"desc"},c});const userIds=data.edges.map(user=>user.id);const secondaryRoleRows=userIds.length?await c.get("db").select({userId:core_users_secondary_roles.userId,roleId:core_users_secondary_roles.roleId,roleColor:core_roles.color}).from(core_users_secondary_roles).innerJoin(core_roles,eq(core_roles.id,core_users_secondary_roles.roleId)).where(inArray(core_users_secondary_roles.userId,userIds)):[];const roleNames=await resolveRoleNames(c,[...data.edges.map(user=>user.roleId),...secondaryRoleRows.map(row=>row.roleId)]);return c.json({pageInfo:data.pageInfo,edges:data.edges.map(({roleColor,...user})=>({...user,role:{id:user.roleId,color:roleColor,name:roleNames.get(user.roleId)??[]},secondaryRoles:secondaryRoleRows.filter(row=>row.userId===user.id).map(row=>({id:row.roleId,color:row.roleColor,name:roleNames.get(row.roleId)??[]}))}))})}});
@@ -2,10 +2,10 @@ import { z } from "@hono/zod-openapi";
2
2
  export declare const showUserAdminRoute: import("../../../../../api/lib/route").Route<"@vitnode/core", {
3
3
  method: "get";
4
4
  description: string;
5
- path: "/{nameCode}";
5
+ path: "/{id}";
6
6
  request: {
7
7
  params: z.ZodObject<{
8
- nameCode: z.ZodString;
8
+ id: z.ZodString;
9
9
  }, z.core.$strip>;
10
10
  };
11
11
  responses: {
@@ -22,8 +22,25 @@ export declare const showUserAdminRoute: import("../../../../../api/lib/route").
22
22
  avatarColor: z.ZodString;
23
23
  emailVerified: z.ZodBoolean;
24
24
  roleId: z.ZodNumber;
25
+ role: z.ZodObject<{
26
+ id: z.ZodNumber;
27
+ color: z.ZodNullable<z.ZodString>;
28
+ name: z.ZodArray<z.ZodObject<{
29
+ name: z.ZodString;
30
+ languageCode: z.ZodString;
31
+ }, z.core.$strip>>;
32
+ }, z.core.$strip>;
33
+ secondaryRoles: z.ZodArray<z.ZodObject<{
34
+ id: z.ZodNumber;
35
+ color: z.ZodNullable<z.ZodString>;
36
+ name: z.ZodArray<z.ZodObject<{
37
+ name: z.ZodString;
38
+ languageCode: z.ZodString;
39
+ }, z.core.$strip>>;
40
+ }, z.core.$strip>>;
25
41
  birthday: z.ZodNullable<z.ZodDate>;
26
42
  language: z.ZodString;
43
+ isAdmin: z.ZodBoolean;
27
44
  }, z.core.$strip>;
28
45
  };
29
46
  };
@@ -1 +1 @@
1
- {"version":3,"file":"show.route.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/modules/admin/users/routes/show.route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAMtC,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4D7B,CAAC"}
1
+ {"version":3,"file":"show.route.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/modules/admin/users/routes/show.route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAsBtC,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkH7B,CAAC"}
@@ -1 +1 @@
1
- import{z}from"@hono/zod-openapi";import{buildRoute}from"../../../../lib/route.js";import{UserModel}from"../../../../models/user.js";import{CONFIG_PLUGIN}from"../../../../../config.js";export const showUserAdminRoute=buildRoute({pluginId:CONFIG_PLUGIN.pluginId,route:{method:"get",description:"Get a single user by name SEO (Admin only)",path:"/{nameCode}",request:{params:z.object({nameCode:z.string().openapi({example:"test"})})},responses:{200:{content:{"application/json":{schema:z.object({id:z.number(),name:z.string(),email:z.string(),nameCode:z.string(),createdAt:z.date(),newsletter:z.boolean(),avatarColor:z.string(),emailVerified:z.boolean(),roleId:z.number(),birthday:z.date().nullable(),language:z.string()})}},description:"User found"},403:{description:"Access Denied"},404:{content:{"application/json":{schema:z.object({error:z.string()})}},description:"User not found"}}},handler:async c=>{const{nameCode}=c.req.valid("param");const user=await new UserModel().getUserByNameCode({nameCode,c});if(!user){return c.json({error:"User not found"},404)}return c.json(user,200)}});
1
+ import{z}from"@hono/zod-openapi";import{eq}from"drizzle-orm";import{resolveRoleNames}from"../../../../lib/resolve-role-names.js";import{buildRoute}from"../../../../lib/route.js";import{SessionAdminModel}from"../../../../models/session-admin.js";import{UserModel}from"../../../../models/user.js";import{CONFIG_PLUGIN}from"../../../../../config.js";import{core_roles}from"../../../../../database/roles.js";import{core_users_secondary_roles}from"../../../../../database/users.js";const roleSchema=z.object({id:z.number(),color:z.string().nullable(),name:z.array(z.object({name:z.string(),languageCode:z.string()}))});export const showUserAdminRoute=buildRoute({pluginId:CONFIG_PLUGIN.pluginId,adminStaffPermission:{module:"users",permission:"can_view"},route:{method:"get",description:"Get a single user by id (Admin only)",path:"/{id}",request:{params:z.object({id:z.string().openapi({example:"1"})})},responses:{200:{content:{"application/json":{schema:z.object({id:z.number(),name:z.string(),email:z.string(),nameCode:z.string(),createdAt:z.date(),newsletter:z.boolean(),avatarColor:z.string(),emailVerified:z.boolean(),roleId:z.number(),role:roleSchema,secondaryRoles:z.array(roleSchema),birthday:z.date().nullable(),language:z.string(),isAdmin:z.boolean()})}},description:"User found"},403:{description:"Access Denied"},404:{content:{"application/json":{schema:z.object({error:z.string()})}},description:"User not found"}}},handler:async c=>{const{id}=c.req.valid("param");const userId=Number(id);if(!Number.isInteger(userId)){return c.json({error:"User not found"},404)}const user=await new UserModel().getUserById({id:userId,c});if(!user){return c.json({error:"User not found"},404)}const db=c.get("db");const secondaryRoleRows=await db.select({id:core_roles.id,color:core_roles.color}).from(core_users_secondary_roles).innerJoin(core_roles,eq(core_roles.id,core_users_secondary_roles.roleId)).where(eq(core_users_secondary_roles.userId,user.id));const[primaryRole]=await db.select({id:core_roles.id,color:core_roles.color}).from(core_roles).where(eq(core_roles.id,user.roleId)).limit(1);const names=await resolveRoleNames(c,[user.roleId,...secondaryRoleRows.map(role=>role.id)]);const isAdmin=await new SessionAdminModel(c).checkIfUserIsAdmin(user.id);return c.json({...user,isAdmin,role:{id:user.roleId,color:primaryRole?.color??null,name:names.get(user.roleId)??[]},secondaryRoles:secondaryRoleRows.map(role=>({id:role.id,color:role.color,name:names.get(role.id)??[]}))},200)}});