@vitnode/core 1.2.0-canary.74 → 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 (721) 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/queue/page.tsx +51 -0
  673. package/src/routes/admin/core/debug/page.tsx +25 -4
  674. package/src/routes/admin/core/staff/admins/create/page.tsx +17 -0
  675. package/src/routes/admin/core/staff/admins/edit/[id]/page.tsx +23 -0
  676. package/src/routes/admin/core/staff/admins/page.tsx +14 -0
  677. package/src/routes/admin/core/staff/moderators/create/page.tsx +17 -0
  678. package/src/routes/admin/core/staff/moderators/edit/[id]/page.tsx +23 -0
  679. package/src/routes/admin/core/staff/moderators/page.tsx +14 -0
  680. package/src/routes/admin/core/system/integrations/page.tsx +43 -0
  681. package/src/routes/admin/core/users/{[nameCode] → [id]}/page.tsx +7 -7
  682. package/src/routes/admin/core/users/page.tsx +10 -2
  683. package/src/routes/breadcrumb/admin/[...all]/page.tsx +2 -16
  684. package/src/routes/breadcrumb/admin/core/staff/admins/create/page.tsx +5 -0
  685. package/src/routes/breadcrumb/admin/core/staff/admins/edit/[id]/page.tsx +11 -0
  686. package/src/routes/breadcrumb/admin/core/staff/admins/page.tsx +5 -0
  687. package/src/routes/breadcrumb/admin/core/staff/moderators/create/page.tsx +5 -0
  688. package/src/routes/breadcrumb/admin/core/staff/moderators/edit/[id]/page.tsx +11 -0
  689. package/src/routes/breadcrumb/admin/core/staff/moderators/page.tsx +5 -0
  690. package/src/routes/breadcrumb/admin/core/users/[id]/page.tsx +11 -0
  691. package/src/routes/breadcrumb/main/[...rest]/page.tsx +2 -16
  692. package/src/routes/breadcrumb/main/settings/overview/page.tsx +17 -0
  693. package/src/routes/breadcrumb/main/{register → settings}/page.tsx +3 -3
  694. package/src/routes/breadcrumb/main/settings/security/page.tsx +17 -0
  695. package/src/routes/main/settings/layout.tsx +16 -0
  696. package/src/routes/main/settings/overview/page.tsx +15 -0
  697. package/src/routes/main/settings/page.tsx +15 -0
  698. package/src/routes/main/settings/security/page.tsx +15 -0
  699. package/dist/scripts/get-config.js +0 -66
  700. package/dist/scripts/plugin.js +0 -206
  701. package/dist/scripts/prepare-database.js +0 -177
  702. package/dist/scripts/prepare-plugins-files.js +0 -152
  703. package/dist/scripts/run-interactive-shell-command.js +0 -21
  704. package/dist/scripts/shared/file-utils.js +0 -203
  705. package/dist/src/locales/en.json +0 -372
  706. package/dist/src/routes/admin/core/users/[nameCode]/page.d.ts.map +0 -1
  707. package/dist/src/routes/admin/core/users/[nameCode]/page.js +0 -1
  708. package/dist/src/routes/breadcrumb/admin/core/users/[nameCode]/page.d.ts.map +0 -1
  709. package/dist/src/routes/breadcrumb/main/login/page.d.ts.map +0 -1
  710. package/dist/src/routes/breadcrumb/main/login/page.js +0 -1
  711. package/dist/src/routes/breadcrumb/main/login/reset-password/page.d.ts.map +0 -1
  712. package/dist/src/routes/breadcrumb/main/login/reset-password/page.js +0 -1
  713. package/dist/src/routes/breadcrumb/main/register/page.d.ts.map +0 -1
  714. package/dist/tsup.config.js +0 -17
  715. package/dist/vitest.config.js +0 -48
  716. package/src/routes/breadcrumb/admin/core/users/[nameCode]/page.tsx +0 -12
  717. package/src/routes/breadcrumb/main/login/page.tsx +0 -11
  718. package/src/routes/breadcrumb/main/login/reset-password/page.tsx +0 -20
  719. /package/dist/src/routes/breadcrumb/main/{login → settings/overview}/page.d.ts +0 -0
  720. /package/dist/src/routes/breadcrumb/main/{login/reset-password → settings}/page.d.ts +0 -0
  721. /package/dist/src/routes/breadcrumb/main/{register → settings/security}/page.d.ts +0 -0
@@ -0,0 +1,273 @@
1
+ export declare const core_queue: Omit<import("drizzle-orm/pg-core").PgTableWithColumns<{
2
+ name: "core_queue";
3
+ schema: undefined;
4
+ columns: {
5
+ id: import("drizzle-orm/pg-core").PgColumn<{
6
+ name: "id";
7
+ tableName: "core_queue";
8
+ dataType: "number";
9
+ columnType: "PgSerial";
10
+ data: number;
11
+ driverParam: number;
12
+ notNull: true;
13
+ hasDefault: true;
14
+ isPrimaryKey: true;
15
+ isAutoincrement: false;
16
+ hasRuntimeDefault: false;
17
+ enumValues: undefined;
18
+ baseColumn: never;
19
+ identity: undefined;
20
+ generated: undefined;
21
+ }, {}, {}>;
22
+ pluginId: import("drizzle-orm/pg-core").PgColumn<{
23
+ name: "pluginId";
24
+ tableName: "core_queue";
25
+ dataType: "string";
26
+ columnType: "PgVarchar";
27
+ data: string;
28
+ driverParam: string;
29
+ notNull: true;
30
+ hasDefault: false;
31
+ isPrimaryKey: false;
32
+ isAutoincrement: false;
33
+ hasRuntimeDefault: false;
34
+ enumValues: [string, ...string[]];
35
+ baseColumn: never;
36
+ identity: undefined;
37
+ generated: undefined;
38
+ }, {}, {
39
+ length: 100;
40
+ }>;
41
+ name: import("drizzle-orm/pg-core").PgColumn<{
42
+ name: "name";
43
+ tableName: "core_queue";
44
+ dataType: "string";
45
+ columnType: "PgVarchar";
46
+ data: string;
47
+ driverParam: string;
48
+ notNull: true;
49
+ hasDefault: false;
50
+ isPrimaryKey: false;
51
+ isAutoincrement: false;
52
+ hasRuntimeDefault: false;
53
+ enumValues: [string, ...string[]];
54
+ baseColumn: never;
55
+ identity: undefined;
56
+ generated: undefined;
57
+ }, {}, {
58
+ length: 100;
59
+ }>;
60
+ queue: import("drizzle-orm/pg-core").PgColumn<{
61
+ name: "queue";
62
+ tableName: "core_queue";
63
+ dataType: "string";
64
+ columnType: "PgVarchar";
65
+ data: string;
66
+ driverParam: string;
67
+ notNull: true;
68
+ hasDefault: true;
69
+ isPrimaryKey: false;
70
+ isAutoincrement: false;
71
+ hasRuntimeDefault: false;
72
+ enumValues: [string, ...string[]];
73
+ baseColumn: never;
74
+ identity: undefined;
75
+ generated: undefined;
76
+ }, {}, {
77
+ length: 100;
78
+ }>;
79
+ status: import("drizzle-orm/pg-core").PgColumn<{
80
+ name: "status";
81
+ tableName: "core_queue";
82
+ dataType: "string";
83
+ columnType: "PgVarchar";
84
+ data: "pending" | "processing" | "completed" | "failed";
85
+ driverParam: string;
86
+ notNull: true;
87
+ hasDefault: true;
88
+ isPrimaryKey: false;
89
+ isAutoincrement: false;
90
+ hasRuntimeDefault: false;
91
+ enumValues: ["pending", "processing", "completed", "failed"];
92
+ baseColumn: never;
93
+ identity: undefined;
94
+ generated: undefined;
95
+ }, {}, {
96
+ length: 20;
97
+ }>;
98
+ payload: import("drizzle-orm/pg-core").PgColumn<{
99
+ name: "payload";
100
+ tableName: "core_queue";
101
+ dataType: "json";
102
+ columnType: "PgJsonb";
103
+ data: Record<string, unknown>;
104
+ driverParam: unknown;
105
+ notNull: true;
106
+ hasDefault: true;
107
+ isPrimaryKey: false;
108
+ isAutoincrement: false;
109
+ hasRuntimeDefault: false;
110
+ enumValues: undefined;
111
+ baseColumn: never;
112
+ identity: undefined;
113
+ generated: undefined;
114
+ }, {}, {
115
+ $type: Record<string, unknown>;
116
+ }>;
117
+ priority: import("drizzle-orm/pg-core").PgColumn<{
118
+ name: "priority";
119
+ tableName: "core_queue";
120
+ dataType: "number";
121
+ columnType: "PgInteger";
122
+ data: number;
123
+ driverParam: string | number;
124
+ notNull: true;
125
+ hasDefault: true;
126
+ isPrimaryKey: false;
127
+ isAutoincrement: false;
128
+ hasRuntimeDefault: false;
129
+ enumValues: undefined;
130
+ baseColumn: never;
131
+ identity: undefined;
132
+ generated: undefined;
133
+ }, {}, {}>;
134
+ attempts: import("drizzle-orm/pg-core").PgColumn<{
135
+ name: "attempts";
136
+ tableName: "core_queue";
137
+ dataType: "number";
138
+ columnType: "PgInteger";
139
+ data: number;
140
+ driverParam: string | number;
141
+ notNull: true;
142
+ hasDefault: true;
143
+ isPrimaryKey: false;
144
+ isAutoincrement: false;
145
+ hasRuntimeDefault: false;
146
+ enumValues: undefined;
147
+ baseColumn: never;
148
+ identity: undefined;
149
+ generated: undefined;
150
+ }, {}, {}>;
151
+ maxAttempts: import("drizzle-orm/pg-core").PgColumn<{
152
+ name: "maxAttempts";
153
+ tableName: "core_queue";
154
+ dataType: "number";
155
+ columnType: "PgInteger";
156
+ data: number;
157
+ driverParam: string | number;
158
+ notNull: true;
159
+ hasDefault: true;
160
+ isPrimaryKey: false;
161
+ isAutoincrement: false;
162
+ hasRuntimeDefault: false;
163
+ enumValues: undefined;
164
+ baseColumn: never;
165
+ identity: undefined;
166
+ generated: undefined;
167
+ }, {}, {}>;
168
+ availableAt: import("drizzle-orm/pg-core").PgColumn<{
169
+ name: "availableAt";
170
+ tableName: "core_queue";
171
+ dataType: "date";
172
+ columnType: "PgTimestamp";
173
+ data: Date;
174
+ driverParam: string;
175
+ notNull: true;
176
+ hasDefault: true;
177
+ isPrimaryKey: false;
178
+ isAutoincrement: false;
179
+ hasRuntimeDefault: false;
180
+ enumValues: undefined;
181
+ baseColumn: never;
182
+ identity: undefined;
183
+ generated: undefined;
184
+ }, {}, {}>;
185
+ reservedAt: import("drizzle-orm/pg-core").PgColumn<{
186
+ name: "reservedAt";
187
+ tableName: "core_queue";
188
+ dataType: "date";
189
+ columnType: "PgTimestamp";
190
+ data: Date;
191
+ driverParam: string;
192
+ notNull: false;
193
+ hasDefault: false;
194
+ isPrimaryKey: false;
195
+ isAutoincrement: false;
196
+ hasRuntimeDefault: false;
197
+ enumValues: undefined;
198
+ baseColumn: never;
199
+ identity: undefined;
200
+ generated: undefined;
201
+ }, {}, {}>;
202
+ lastError: import("drizzle-orm/pg-core").PgColumn<{
203
+ name: "lastError";
204
+ tableName: "core_queue";
205
+ dataType: "string";
206
+ columnType: "PgText";
207
+ data: string;
208
+ driverParam: string;
209
+ notNull: false;
210
+ hasDefault: false;
211
+ isPrimaryKey: false;
212
+ isAutoincrement: false;
213
+ hasRuntimeDefault: false;
214
+ enumValues: [string, ...string[]];
215
+ baseColumn: never;
216
+ identity: undefined;
217
+ generated: undefined;
218
+ }, {}, {}>;
219
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
220
+ name: "createdAt";
221
+ tableName: "core_queue";
222
+ dataType: "date";
223
+ columnType: "PgTimestamp";
224
+ data: Date;
225
+ driverParam: string;
226
+ notNull: true;
227
+ hasDefault: true;
228
+ isPrimaryKey: false;
229
+ isAutoincrement: false;
230
+ hasRuntimeDefault: false;
231
+ enumValues: undefined;
232
+ baseColumn: never;
233
+ identity: undefined;
234
+ generated: undefined;
235
+ }, {}, {}>;
236
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
237
+ name: "updatedAt";
238
+ tableName: "core_queue";
239
+ dataType: "date";
240
+ columnType: "PgTimestamp";
241
+ data: Date;
242
+ driverParam: string;
243
+ notNull: true;
244
+ hasDefault: true;
245
+ isPrimaryKey: false;
246
+ isAutoincrement: false;
247
+ hasRuntimeDefault: false;
248
+ enumValues: undefined;
249
+ baseColumn: never;
250
+ identity: undefined;
251
+ generated: undefined;
252
+ }, {}, {}>;
253
+ completedAt: import("drizzle-orm/pg-core").PgColumn<{
254
+ name: "completedAt";
255
+ tableName: "core_queue";
256
+ dataType: "date";
257
+ columnType: "PgTimestamp";
258
+ data: Date;
259
+ driverParam: string;
260
+ notNull: false;
261
+ hasDefault: false;
262
+ isPrimaryKey: false;
263
+ isAutoincrement: false;
264
+ hasRuntimeDefault: false;
265
+ enumValues: undefined;
266
+ baseColumn: never;
267
+ identity: undefined;
268
+ generated: undefined;
269
+ }, {}, {}>;
270
+ };
271
+ dialect: "pg";
272
+ }>, "enableRLS">;
273
+ //# sourceMappingURL=queue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../src/database/queue.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAgCV,CAAC"}
@@ -0,0 +1 @@
1
+ import{index,pgTable}from"drizzle-orm/pg-core";export const core_queue=pgTable("core_queue",t=>({id:t.serial().primaryKey(),pluginId:t.varchar({length:100}).notNull(),name:t.varchar({length:100}).notNull(),queue:t.varchar({length:100}).notNull().default("default"),status:t.varchar({enum:["pending","processing","completed","failed"],length:20}).notNull().default("pending"),payload:t.jsonb().$type().notNull().default({}),priority:t.integer().notNull().default(0),attempts:t.integer().notNull().default(0),maxAttempts:t.integer().notNull().default(3),availableAt:t.timestamp().notNull().defaultNow(),reservedAt:t.timestamp(),lastError:t.text(),createdAt:t.timestamp().notNull().defaultNow(),updatedAt:t.timestamp().notNull().defaultNow().$onUpdate(()=>new Date),completedAt:t.timestamp()}),t=>[index("core_queue_status_available_at_idx").on(t.status,t.availableAt)]).enableRLS();
@@ -242,11 +242,74 @@ export declare const core_users: Omit<import("drizzle-orm/pg-core").PgTableWithC
242
242
  }>, "enableRLS">;
243
243
  export declare const core_users_relations: import("drizzle-orm").Relations<"core_users", {
244
244
  group: import("drizzle-orm").One<"core_roles", true>;
245
+ secondary_roles: import("drizzle-orm").Many<"core_users_secondary_roles">;
245
246
  language: import("drizzle-orm").One<"core_languages", true>;
246
247
  confirm_email: import("drizzle-orm").One<"core_users_confirm_emails", true>;
247
248
  sso: import("drizzle-orm").Many<"core_users_sso">;
248
249
  forgot_password: import("drizzle-orm").One<"core_users_forgot_password", true>;
249
250
  }>;
251
+ export declare const core_users_secondary_roles: Omit<import("drizzle-orm/pg-core").PgTableWithColumns<{
252
+ name: "core_users_secondary_roles";
253
+ schema: undefined;
254
+ columns: {
255
+ userId: import("drizzle-orm/pg-core").PgColumn<{
256
+ name: "userId";
257
+ tableName: "core_users_secondary_roles";
258
+ dataType: "number";
259
+ columnType: "PgInteger";
260
+ data: number;
261
+ driverParam: string | number;
262
+ notNull: true;
263
+ hasDefault: false;
264
+ isPrimaryKey: false;
265
+ isAutoincrement: false;
266
+ hasRuntimeDefault: false;
267
+ enumValues: undefined;
268
+ baseColumn: never;
269
+ identity: undefined;
270
+ generated: undefined;
271
+ }, {}, {}>;
272
+ roleId: import("drizzle-orm/pg-core").PgColumn<{
273
+ name: "roleId";
274
+ tableName: "core_users_secondary_roles";
275
+ dataType: "number";
276
+ columnType: "PgInteger";
277
+ data: number;
278
+ driverParam: string | number;
279
+ notNull: true;
280
+ hasDefault: false;
281
+ isPrimaryKey: false;
282
+ isAutoincrement: false;
283
+ hasRuntimeDefault: false;
284
+ enumValues: undefined;
285
+ baseColumn: never;
286
+ identity: undefined;
287
+ generated: undefined;
288
+ }, {}, {}>;
289
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
290
+ name: "createdAt";
291
+ tableName: "core_users_secondary_roles";
292
+ dataType: "date";
293
+ columnType: "PgTimestamp";
294
+ data: Date;
295
+ driverParam: string;
296
+ notNull: true;
297
+ hasDefault: true;
298
+ isPrimaryKey: false;
299
+ isAutoincrement: false;
300
+ hasRuntimeDefault: false;
301
+ enumValues: undefined;
302
+ baseColumn: never;
303
+ identity: undefined;
304
+ generated: undefined;
305
+ }, {}, {}>;
306
+ };
307
+ dialect: "pg";
308
+ }>, "enableRLS">;
309
+ export declare const core_users_secondary_roles_relations: import("drizzle-orm").Relations<"core_users_secondary_roles", {
310
+ user: import("drizzle-orm").One<"core_users", true>;
311
+ role: import("drizzle-orm").One<"core_roles", true>;
312
+ }>;
250
313
  export declare const core_users_sso: Omit<import("drizzle-orm/pg-core").PgTableWithColumns<{
251
314
  name: "core_users_sso";
252
315
  schema: undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../../src/database/users.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA+BV,CAAC;AAEd,eAAO,MAAM,oBAAoB;;;;;;EAkB9B,CAAC;AAEJ,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAkBd,CAAC;AAEd,eAAO,MAAM,wBAAwB;;EAQpC,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAezB,CAAC;AAEd,eAAO,MAAM,mCAAmC;;EAQ/C,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAgB1B,CAAC;AAEd,eAAO,MAAM,oCAAoC;;EAQhD,CAAC"}
1
+ {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../../src/database/users.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA+BV,CAAC;AAEd,eAAO,MAAM,oBAAoB;;;;;;;EAmB9B,CAAC;AAEJ,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAsB1B,CAAC;AAEd,eAAO,MAAM,oCAAoC;;;EAYhD,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAmBd,CAAC;AAEd,eAAO,MAAM,wBAAwB;;EAQpC,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAezB,CAAC;AAEd,eAAO,MAAM,mCAAmC;;EAQ/C,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAgB1B,CAAC;AAEd,eAAO,MAAM,oCAAoC;;EAQhD,CAAC"}
@@ -1 +1 @@
1
- import{relations}from"drizzle-orm";import{index,pgTable}from"drizzle-orm/pg-core";import{core_languages}from"./languages.js";import{core_roles}from"./roles.js";export const core_users=pgTable("core_users",t=>({id:t.serial().primaryKey(),nameCode:t.varchar({length:255}).notNull().unique(),name:t.varchar({length:255}).notNull().unique(),email:t.varchar({length:255}).notNull().unique(),password:t.varchar(),createdAt:t.timestamp().notNull().defaultNow(),newsletter:t.boolean().notNull().default(false),avatarColor:t.varchar({length:6}).notNull(),emailVerified:t.boolean().notNull().default(false),roleId:t.integer().references(()=>core_roles.id).notNull(),birthday:t.timestamp(),ipAddress:t.varchar({length:40}).notNull(),language:t.varchar({length:32}).notNull().default("en").references(()=>core_languages.code,{onDelete:"set default"})}),t=>[index("core_users_name_code_idx").on(t.nameCode),index("core_users_name_idx").on(t.name),index("core_users_email_idx").on(t.email)]).enableRLS();export const core_users_relations=relations(core_users,({one,many})=>({group:one(core_roles,{fields:[core_users.roleId],references:[core_roles.id]}),language:one(core_languages,{fields:[core_users.language],references:[core_languages.code]}),confirm_email:one(core_users_confirm_emails,{fields:[core_users.id],references:[core_users_confirm_emails.userId]}),sso:many(core_users_sso),forgot_password:one(core_users_forgot_password,{fields:[core_users.id],references:[core_users_forgot_password.userId]})}));export const core_users_sso=pgTable("core_users_sso",t=>({userId:t.integer().references(()=>core_users.id,{onDelete:"cascade"}).notNull(),providerId:t.varchar({length:255}).notNull(),providerAccountId:t.varchar({length:255}).notNull(),createdAt:t.timestamp().notNull().defaultNow(),updatedAt:t.timestamp().notNull().$onUpdate(()=>new Date)}),t=>[index("core_users_sso_user_id_idx").on(t.userId)]).enableRLS();export const core_users_sso_relations=relations(core_users_sso,({one})=>({user:one(core_users,{fields:[core_users_sso.userId],references:[core_users.id]})}));export const core_users_confirm_emails=pgTable("core_users_confirm_emails",t=>({id:t.serial().primaryKey(),userId:t.integer().references(()=>core_users.id,{onDelete:"cascade"}).notNull(),token:t.varchar({length:100}).notNull().unique(),createdAt:t.timestamp().notNull().defaultNow(),expiresAt:t.timestamp().notNull(),ipAddress:t.varchar({length:40}).notNull()})).enableRLS();export const core_users_confirm_emails_relations=relations(core_users_confirm_emails,({one})=>({user:one(core_users,{fields:[core_users_confirm_emails.userId],references:[core_users.id]})}));export const core_users_forgot_password=pgTable("core_users_forgot_password",t=>({id:t.serial().primaryKey(),userId:t.integer().references(()=>core_users.id,{onDelete:"cascade"}).notNull().unique(),token:t.varchar({length:100}).notNull().unique(),ipAddress:t.varchar({length:40}).notNull(),createdAt:t.timestamp().notNull().defaultNow(),expiresAt:t.timestamp().notNull()})).enableRLS();export const core_users_forgot_password_relations=relations(core_users_forgot_password,({one})=>({user:one(core_users,{fields:[core_users_forgot_password.userId],references:[core_users.id]})}));
1
+ import{relations}from"drizzle-orm";import{index,pgTable,primaryKey}from"drizzle-orm/pg-core";import{core_languages}from"./languages.js";import{core_roles}from"./roles.js";export const core_users=pgTable("core_users",t=>({id:t.serial().primaryKey(),nameCode:t.varchar({length:255}).notNull().unique(),name:t.varchar({length:255}).notNull().unique(),email:t.varchar({length:255}).notNull().unique(),password:t.varchar(),createdAt:t.timestamp().notNull().defaultNow(),newsletter:t.boolean().notNull().default(false),avatarColor:t.varchar({length:6}).notNull(),emailVerified:t.boolean().notNull().default(false),roleId:t.integer().references(()=>core_roles.id).notNull(),birthday:t.timestamp(),ipAddress:t.varchar({length:40}).notNull(),language:t.varchar({length:32}).notNull().default("en").references(()=>core_languages.code,{onDelete:"set default"})}),t=>[index("core_users_name_code_idx").on(t.nameCode),index("core_users_name_idx").on(t.name),index("core_users_email_idx").on(t.email)]).enableRLS();export const core_users_relations=relations(core_users,({one,many})=>({group:one(core_roles,{fields:[core_users.roleId],references:[core_roles.id]}),secondary_roles:many(core_users_secondary_roles),language:one(core_languages,{fields:[core_users.language],references:[core_languages.code]}),confirm_email:one(core_users_confirm_emails,{fields:[core_users.id],references:[core_users_confirm_emails.userId]}),sso:many(core_users_sso),forgot_password:one(core_users_forgot_password,{fields:[core_users.id],references:[core_users_forgot_password.userId]})}));export const core_users_secondary_roles=pgTable("core_users_secondary_roles",t=>({userId:t.integer().references(()=>core_users.id,{onDelete:"cascade"}).notNull(),roleId:t.integer().references(()=>core_roles.id,{onDelete:"cascade"}).notNull(),createdAt:t.timestamp().notNull().defaultNow()}),t=>[primaryKey({columns:[t.userId,t.roleId]}),index("core_users_secondary_roles_user_id_idx").on(t.userId),index("core_users_secondary_roles_role_id_idx").on(t.roleId)]).enableRLS();export const core_users_secondary_roles_relations=relations(core_users_secondary_roles,({one})=>({user:one(core_users,{fields:[core_users_secondary_roles.userId],references:[core_users.id]}),role:one(core_roles,{fields:[core_users_secondary_roles.roleId],references:[core_roles.id]})}));export const core_users_sso=pgTable("core_users_sso",t=>({userId:t.integer().references(()=>core_users.id,{onDelete:"cascade"}).notNull(),providerId:t.varchar({length:255}).notNull(),providerAccountId:t.varchar({length:255}).notNull(),createdAt:t.timestamp().notNull().defaultNow(),updatedAt:t.timestamp().notNull().defaultNow().$onUpdate(()=>new Date)}),t=>[index("core_users_sso_user_id_idx").on(t.userId)]).enableRLS();export const core_users_sso_relations=relations(core_users_sso,({one})=>({user:one(core_users,{fields:[core_users_sso.userId],references:[core_users.id]})}));export const core_users_confirm_emails=pgTable("core_users_confirm_emails",t=>({id:t.serial().primaryKey(),userId:t.integer().references(()=>core_users.id,{onDelete:"cascade"}).notNull(),token:t.varchar({length:100}).notNull().unique(),createdAt:t.timestamp().notNull().defaultNow(),expiresAt:t.timestamp().notNull(),ipAddress:t.varchar({length:40}).notNull()})).enableRLS();export const core_users_confirm_emails_relations=relations(core_users_confirm_emails,({one})=>({user:one(core_users,{fields:[core_users_confirm_emails.userId],references:[core_users.id]})}));export const core_users_forgot_password=pgTable("core_users_forgot_password",t=>({id:t.serial().primaryKey(),userId:t.integer().references(()=>core_users.id,{onDelete:"cascade"}).notNull().unique(),token:t.varchar({length:100}).notNull().unique(),ipAddress:t.varchar({length:40}).notNull(),createdAt:t.timestamp().notNull().defaultNow(),expiresAt:t.timestamp().notNull()})).enableRLS();export const core_users_forgot_password_relations=relations(core_users_forgot_password,({one})=>({user:one(core_users,{fields:[core_users_forgot_password.userId],references:[core_users.id]})}));
@@ -1,4 +1,4 @@
1
- import { type TailwindConfig } from "@react-email/components";
1
+ import { type TailwindConfig } from "react-email";
2
2
  import type { EmailModelSendArgs } from "../api/models/email";
3
3
  export interface DefaultTemplateEmailProps extends Pick<EmailModelSendArgs, "user"> {
4
4
  i18n: {
@@ -1 +1 @@
1
- {"version":3,"file":"default-template.d.ts","sourceRoot":"","sources":["../../../src/emails/default-template.tsx"],"names":[],"mappings":"AAAA,OAAO,EAUL,KAAK,cAAc,EAEpB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAsB7D,MAAM,WAAW,yBAA0B,SAAQ,IAAI,CACrD,kBAAkB,EAClB,MAAM,CACP;IACC,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QAEf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC/B,CAAC;IACF,aAAa,EAAE;QACb,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QACvB,IAAI,CAAC,EAAE;YACL,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,CAAC;QACF,QAAQ,EAAE;YACR,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,KAAK,EAAE,MAAM,CAAC;YACd,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QACF,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,cAAc,CAAC;KACjC,CAAC;CACH;AAED,iBAAwB,oBAAoB,CAAC,EAC3C,QAAQ,EACR,IAAI,EAAE,EAAE,MAAM,EAAE,EAChB,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,GACrE,EAAE,yBAAyB,GAAG;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,+BAoE3D;kBAxEuB,oBAAoB;;;;;;;;;;;;;;;;;;;eAApB,oBAAoB"}
1
+ {"version":3,"file":"default-template.d.ts","sourceRoot":"","sources":["../../../src/emails/default-template.tsx"],"names":[],"mappings":"AAAA,OAAO,EAUL,KAAK,cAAc,EAEpB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAsB7D,MAAM,WAAW,yBAA0B,SAAQ,IAAI,CACrD,kBAAkB,EAClB,MAAM,CACP;IACC,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QAEf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC/B,CAAC;IACF,aAAa,EAAE;QACb,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QACvB,IAAI,CAAC,EAAE;YACL,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,CAAC;QACF,QAAQ,EAAE;YACR,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,KAAK,EAAE,MAAM,CAAC;YACd,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QACF,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,cAAc,CAAC;KACjC,CAAC;CACH;AAED,iBAAwB,oBAAoB,CAAC,EAC3C,QAAQ,EACR,IAAI,EAAE,EAAE,MAAM,EAAE,EAChB,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,GACrE,EAAE,yBAAyB,GAAG;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,+BAoE3D;kBAxEuB,oBAAoB;;;;;;;;;;;;;;;;;;;eAApB,oBAAoB"}
@@ -1 +1 @@
1
- import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{Body,Container,Head,Html,Img,Link,Preview,Section,Tailwind,Text}from"@react-email/components";import{CONFIG}from"../lib/config.js";DefaultTemplateEmail.PreviewProps={children:"This is a preview text for the email template.",templateProps:{metadata:{title:"VitNode - Email Template",shortTitle:"VitNode",url:CONFIG.web.href},logo:{src:"http://localhost:3000/logo_vitnode_dark.png"}},i18n:{messages:{},locale:"en"}};export default function DefaultTemplateEmail({children,i18n:{locale},templateProps:{logo,metadata,previewText,head,tailwindConfig}}){return _jsxs(Html,{lang:locale,children:[_jsx(Head,{children:head}),previewText&&_jsx(Preview,{children:previewText}),_jsx(Tailwind,{config:{...tailwindConfig,theme:{...tailwindConfig?.theme,extend:{...tailwindConfig?.theme?.extend,colors:{background:"#edf2f8",foreground:"#0e1216",card:"#ffffff","card-foreground":"#171b1f",popover:"#ffffff","popover-foreground":"#171b1f",primary:"#3160c0","primary-foreground":"#fafafa",secondary:"#f4f9ff","secondary-foreground":"#1e2226",muted:"#eaeff5","muted-foreground":"#686c72",accent:"#e0e5eb","accent-foreground":"#1e2226",destructive:"#de3b3f",warn:"#906600",border:"#d9dfe4",input:"#d9dfe4",ring:"#5aa3ec",...tailwindConfig?.theme?.extend?.colors}}}},children:_jsx(Body,{className:"text-foreground bg-background mx-auto px-2 font-sans",children:_jsxs(Container,{className:"mx-auto max-w-116.25",children:[_jsx(Section,{className:"my-8",children:logo?.src?_jsx(Img,{alt:logo.text??metadata.title,className:"mx-auto my-0 max-w-37.5",src:logo.src}):_jsx(Text,{className:"m-0 text-center text-2xl",children:logo?.text??metadata.title})}),children,_jsx(Section,{className:"my-8 text-center text-sm",children:_jsxs(Link,{className:"text-muted-foreground",href:metadata.url,children:[metadata.shortTitle??metadata.title," ©"," ",new Date().getFullYear()]})})]})})})]})}
1
+ import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{Body,Container,Head,Html,Img,Link,Preview,Section,Tailwind,Text}from"react-email";import{CONFIG}from"../lib/config.js";DefaultTemplateEmail.PreviewProps={children:"This is a preview text for the email template.",templateProps:{metadata:{title:"VitNode - Email Template",shortTitle:"VitNode",url:CONFIG.web.href},logo:{src:"http://localhost:3000/logo_vitnode_dark.png"}},i18n:{messages:{},locale:"en"}};export default function DefaultTemplateEmail({children,i18n:{locale},templateProps:{logo,metadata,previewText,head,tailwindConfig}}){return _jsxs(Html,{lang:locale,children:[_jsx(Head,{children:head}),previewText&&_jsx(Preview,{children:previewText}),_jsx(Tailwind,{config:{...tailwindConfig,theme:{...tailwindConfig?.theme,extend:{...tailwindConfig?.theme?.extend,colors:{background:"#edf2f8",foreground:"#0e1216",card:"#ffffff","card-foreground":"#171b1f",popover:"#ffffff","popover-foreground":"#171b1f",primary:"#3160c0","primary-foreground":"#fafafa",secondary:"#f4f9ff","secondary-foreground":"#1e2226",muted:"#eaeff5","muted-foreground":"#686c72",accent:"#e0e5eb","accent-foreground":"#1e2226",destructive:"#de3b3f",warn:"#906600",border:"#d9dfe4",input:"#d9dfe4",ring:"#5aa3ec",...tailwindConfig?.theme?.extend?.colors}}}},children:_jsx(Body,{className:"text-foreground bg-background mx-auto px-2 font-sans",children:_jsxs(Container,{className:"mx-auto max-w-116.25",children:[_jsx(Section,{className:"my-8",children:logo?.src?_jsx(Img,{alt:logo.text??metadata.title,className:"mx-auto my-0 max-w-37.5",src:logo.src}):_jsx(Text,{className:"m-0 text-center text-2xl",children:logo?.text??metadata.title})}),children,_jsx(Section,{className:"my-8 text-center text-sm",children:_jsxs(Link,{className:"text-muted-foreground",href:metadata.url,children:[metadata.shortTitle??metadata.title," ©"," ",new Date().getFullYear()]})})]})})})]})}
@@ -1 +1 @@
1
- import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{Hr,Link,Section,Text}from"@react-email/components";import{createTranslator}from"use-intl";import DefaultTemplateEmail from"./default-template.js";import{EmailButton}from"./ui/button.js";import{EmailCard,EmailCardContent,EmailCardDescription,EmailCardFooter,EmailCardHeader,EmailCardTitle}from"./ui/card.js";ResetPasswordEmailTemplate.PreviewProps={...DefaultTemplateEmail.PreviewProps,resetUrl:"https://example.com/reset-password?token=abc123",expiryDate:new Date(Date.now()+30*60*1e3),userIpAddress:"192.168.1.1",user:{id:1,name:"John Doe",email:"john@example.com",language:"en",nameCode:"john-doe"},i18n:{...DefaultTemplateEmail.PreviewProps.i18n,messages:{core:{auth:{reset_password:{email:{subject:"Reset your password",greeting:"Hello {name}!",intro:"We received a request to reset your password for your account.",button:"Reset Password",instructions:"Click the button above to reset your password. This link will expire in 30 minutes for security reasons.",no_action:"If you didn't request a password reset, you can safely ignore this email. Your password will remain unchanged.",security_note:"For your security, this request was made from IP address: {ip}",help:"If you're having trouble with the button above, copy and paste the URL below into your web browser:",expire_time:"This link will expire on {date}"}}}}}}};export default function ResetPasswordEmailTemplate({i18n,resetUrl,expiryDate,userIpAddress,user,...props}){const t=createTranslator(i18n);const userName=user?.name??"there";return _jsxs(DefaultTemplateEmail,{i18n:i18n,templateProps:{...props.templateProps,previewText:t("core.auth.reset_password.email.subject")},user:user,children:[_jsxs(EmailCard,{children:[_jsxs(EmailCardHeader,{children:[_jsx(EmailCardTitle,{children:t("core.auth.reset_password.email.greeting",{name:userName})}),_jsx(EmailCardDescription,{children:t("core.auth.reset_password.email.intro")})]}),_jsxs(EmailCardContent,{children:[_jsx(Section,{className:"text-center",children:_jsx(EmailButton,{className:"min-w-[200px]",href:resetUrl,size:"lg",children:t("core.auth.reset_password.email.button")})}),_jsx(Text,{className:"text-muted-foreground mt-6 text-sm leading-relaxed",children:t("core.auth.reset_password.email.instructions")}),_jsx(Text,{className:"text-muted-foreground mt-4 text-sm leading-relaxed",children:t("core.auth.reset_password.email.expire_time",{date:expiryDate.toLocaleString(i18n.locale,{year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit",timeZoneName:"short"})})})]}),_jsxs(EmailCardFooter,{children:[_jsx(Hr,{className:"border-border my-4 w-full border-t border-solid"}),_jsx(Text,{className:"text-muted-foreground m-0 text-sm leading-relaxed",children:t("core.auth.reset_password.email.no_action")}),userIpAddress&&_jsx(Text,{className:"text-muted-foreground mt-4 text-xs",children:t("core.auth.reset_password.email.security_note",{ip:userIpAddress})})]})]}),_jsxs(Section,{className:"mt-6",children:[_jsx(Text,{className:"text-muted-foreground text-sm",children:t("core.auth.reset_password.email.help")}),_jsx(Link,{className:"text-primary text-sm break-all underline",href:resetUrl,children:resetUrl})]})]})}
1
+ import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{createTranslator}from"next-intl";import{Hr,Link,Section,Text}from"react-email";import DefaultTemplateEmail from"./default-template.js";import{EmailButton}from"./ui/button.js";import{EmailCard,EmailCardContent,EmailCardDescription,EmailCardFooter,EmailCardHeader,EmailCardTitle}from"./ui/card.js";ResetPasswordEmailTemplate.PreviewProps={...DefaultTemplateEmail.PreviewProps,resetUrl:"https://example.com/reset-password?token=abc123",expiryDate:new Date(Date.now()+30*60*1e3),userIpAddress:"192.168.1.1",user:{id:1,name:"John Doe",email:"john@example.com",language:"en",nameCode:"john-doe"},i18n:{...DefaultTemplateEmail.PreviewProps.i18n,messages:{core:{auth:{reset_password:{email:{subject:"Reset your password",greeting:"Hello {name}!",intro:"We received a request to reset your password for your account.",button:"Reset Password",instructions:"Click the button above to reset your password. This link will expire in 30 minutes for security reasons.",no_action:"If you didn't request a password reset, you can safely ignore this email. Your password will remain unchanged.",security_note:"For your security, this request was made from IP address: {ip}",help:"If you're having trouble with the button above, copy and paste the URL below into your web browser:",expire_time:"This link will expire on {date}"}}}}}}};export default function ResetPasswordEmailTemplate({i18n,resetUrl,expiryDate,userIpAddress,user,...props}){const t=createTranslator(i18n);const userName=user?.name??"there";return _jsxs(DefaultTemplateEmail,{i18n:i18n,templateProps:{...props.templateProps,previewText:t("core.auth.reset_password.email.subject")},user:user,children:[_jsxs(EmailCard,{children:[_jsxs(EmailCardHeader,{children:[_jsx(EmailCardTitle,{children:t("core.auth.reset_password.email.greeting",{name:userName})}),_jsx(EmailCardDescription,{children:t("core.auth.reset_password.email.intro")})]}),_jsxs(EmailCardContent,{children:[_jsx(Section,{className:"text-center",children:_jsx(EmailButton,{className:"min-w-[200px]",href:resetUrl,size:"lg",children:t("core.auth.reset_password.email.button")})}),_jsx(Text,{className:"text-muted-foreground mt-6 text-sm leading-relaxed",children:t("core.auth.reset_password.email.instructions")}),_jsx(Text,{className:"text-muted-foreground mt-4 text-sm leading-relaxed",children:t("core.auth.reset_password.email.expire_time",{date:expiryDate.toLocaleString(i18n.locale,{year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit",timeZoneName:"short"})})})]}),_jsxs(EmailCardFooter,{children:[_jsx(Hr,{className:"border-border my-4 w-full border-t border-solid"}),_jsx(Text,{className:"text-muted-foreground m-0 text-sm leading-relaxed",children:t("core.auth.reset_password.email.no_action")}),userIpAddress&&_jsx(Text,{className:"text-muted-foreground mt-4 text-xs",children:t("core.auth.reset_password.email.security_note",{ip:userIpAddress})})]})]}),_jsxs(Section,{className:"mt-6",children:[_jsx(Text,{className:"text-muted-foreground text-sm",children:t("core.auth.reset_password.email.help")}),_jsx(Link,{className:"text-primary text-sm break-all underline",href:resetUrl,children:resetUrl})]})]})}
@@ -0,0 +1,26 @@
1
+ import { type DefaultTemplateEmailProps } from "./default-template";
2
+ declare function TestEmailTemplate({ content, ...props }: DefaultTemplateEmailProps & {
3
+ content: string;
4
+ }): import("react").JSX.Element;
5
+ declare namespace TestEmailTemplate {
6
+ var PreviewProps: {
7
+ content: string;
8
+ children: string;
9
+ templateProps: {
10
+ metadata: {
11
+ title: string;
12
+ shortTitle: string;
13
+ url: string;
14
+ };
15
+ logo: {
16
+ src: string;
17
+ };
18
+ };
19
+ i18n: {
20
+ messages: {};
21
+ locale: string;
22
+ };
23
+ };
24
+ }
25
+ export default TestEmailTemplate;
26
+ //# sourceMappingURL=test-email.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-email.d.ts","sourceRoot":"","sources":["../../../src/emails/test-email.tsx"],"names":[],"mappings":"AAEA,OAA6B,EAC3B,KAAK,yBAAyB,EAC/B,MAAM,oBAAoB,CAAC;AAE5B,iBAAwB,iBAAiB,CAAC,EACxC,OAAO,EACP,GAAG,KAAK,EACT,EAAE,yBAAyB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,+BAMjD;kBATuB,iBAAiB;;;;;;;;;;;;;;;;;;;;eAAjB,iBAAiB"}
@@ -0,0 +1 @@
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{Text}from"react-email";import DefaultTemplateEmail from"./default-template.js";export default function TestEmailTemplate({content,...props}){return _jsx(DefaultTemplateEmail,{...props,children:_jsx(Text,{className:"whitespace-pre-line",children:content})})}TestEmailTemplate.PreviewProps={...DefaultTemplateEmail.PreviewProps,content:"This is a test email sent from the VitNode admin panel."};
@@ -1,7 +1,7 @@
1
- import { Button as ButtonReactEmail } from "@react-email/components";
2
1
  import { type VariantProps } from "class-variance-authority";
2
+ import { Button as ButtonReactEmail } from "react-email";
3
3
  declare const buttonVariants: (props?: ({
4
- variant?: "link" | "secondary" | "destructive" | "default" | "outline" | "ghost" | "destructiveGhost" | null | undefined;
4
+ variant?: "default" | "link" | "secondary" | "destructive" | "outline" | "ghost" | "destructiveGhost" | null | undefined;
5
5
  size?: "default" | "sm" | "lg" | null | undefined;
6
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
7
  export declare const EmailButton: ({ className, variant, size, ...props }: React.ComponentProps<typeof ButtonReactEmail> & VariantProps<typeof buttonVariants>) => import("react").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../../src/emails/ui/button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,cAAc;;;8EAwBnB,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,wCAKzB,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,GAC9C,YAAY,CAAC,OAAO,cAAc,CAAC,gCAOpC,CAAC"}
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../../src/emails/ui/button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAIzD,QAAA,MAAM,cAAc;;;8EAwBnB,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,wCAKzB,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,GAC9C,YAAY,CAAC,OAAO,cAAc,CAAC,gCAOpC,CAAC"}
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{Button as ButtonReactEmail}from"@react-email/components";import{cva}from"class-variance-authority";import{cn}from"../../lib/utils.js";const buttonVariants=cva("cursor-pointer whitespace-nowrap rounded-md text-sm font-medium outline-none transition-all",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs",destructive:"bg-destructive text-white shadow-xs",destructiveGhost:"text-destructive",outline:"border bg-background shadow-xs",secondary:"bg-secondary text-secondary-foreground shadow-xs",ghost:"",link:"text-primary underline-offset-4"},size:{default:"px-4 py-2",sm:"rounded-md gap-1.5 px-3 py-1.5",lg:"rounded-md px-6 py-2.5"}},defaultVariants:{variant:"default",size:"default"}});export const EmailButton=({className,variant,size,...props})=>{return _jsx(ButtonReactEmail,{className:cn(buttonVariants({variant,size,className})),...props})};
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{cva}from"class-variance-authority";import{Button as ButtonReactEmail}from"react-email";import{cn}from"../../lib/utils.js";const buttonVariants=cva("cursor-pointer whitespace-nowrap rounded-md text-sm font-medium outline-none transition-all",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs",destructive:"bg-destructive text-white shadow-xs",destructiveGhost:"text-destructive",outline:"border bg-background shadow-xs",secondary:"bg-secondary text-secondary-foreground shadow-xs",ghost:"",link:"text-primary underline-offset-4"},size:{default:"px-4 py-2",sm:"rounded-md gap-1.5 px-3 py-1.5",lg:"rounded-md px-6 py-2.5"}},defaultVariants:{variant:"default",size:"default"}});export const EmailButton=({className,variant,size,...props})=>{return _jsx(ButtonReactEmail,{className:cn(buttonVariants({variant,size,className})),...props})};
@@ -1,4 +1,4 @@
1
- import { Section, Text } from "@react-email/components";
1
+ import { Section, Text } from "react-email";
2
2
  export declare const EmailCard: ({ className, ...props }: React.ComponentProps<typeof Section>) => import("react").JSX.Element;
3
3
  export declare const EmailCardHeader: ({ className, ...props }: React.ComponentProps<typeof Section>) => import("react").JSX.Element;
4
4
  export declare const EmailCardTitle: ({ className, ...props }: React.ComponentProps<typeof Text>) => import("react").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../../src/emails/ui/card.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAIxD,eAAO,MAAM,SAAS,GAAI,yBAGvB,KAAK,CAAC,cAAc,CAAC,OAAO,OAAO,CAAC,gCAUtC,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,yBAG7B,KAAK,CAAC,cAAc,CAAC,OAAO,OAAO,CAAC,gCAEtC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,yBAG5B,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,gCAOnC,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,yBAGlC,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,gCAOnC,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,yBAG9B,KAAK,CAAC,cAAc,CAAC,OAAO,OAAO,CAAC,gCAEtC,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,yBAG7B,KAAK,CAAC,cAAc,CAAC,OAAO,OAAO,CAAC,gCAEtC,CAAC"}
1
+ {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../../src/emails/ui/card.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAI5C,eAAO,MAAM,SAAS,GAAI,yBAGvB,KAAK,CAAC,cAAc,CAAC,OAAO,OAAO,CAAC,gCAUtC,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,yBAG7B,KAAK,CAAC,cAAc,CAAC,OAAO,OAAO,CAAC,gCAEtC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,yBAG5B,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,gCAOnC,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,yBAGlC,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,gCAOnC,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,yBAG9B,KAAK,CAAC,cAAc,CAAC,OAAO,OAAO,CAAC,gCAEtC,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,yBAG7B,KAAK,CAAC,cAAc,CAAC,OAAO,OAAO,CAAC,gCAEtC,CAAC"}
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{Section,Text}from"@react-email/components";import{cn}from"../../lib/utils.js";export const EmailCard=({className,...props})=>{return _jsx(Section,{className:cn("bg-card text-card-foreground border-border rounded-xl border border-solid py-6 shadow-sm",className),...props})};export const EmailCardHeader=({className,...props})=>{return _jsx(Section,{className:cn("mb-6 px-6",className),...props})};export const EmailCardTitle=({className,...props})=>{return _jsx(Text,{className:cn("text-xl leading-[0] font-semibold",className),...props})};export const EmailCardDescription=({className,...props})=>{return _jsx(Text,{className:cn("text-muted-foreground m-0 text-sm",className),...props})};export const EmailCardContent=({className,...props})=>{return _jsx(Section,{className:cn("px-6",className),...props})};export const EmailCardFooter=({className,...props})=>{return _jsx(Section,{className:cn("mt-6 px-6",className),...props})};
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{Section,Text}from"react-email";import{cn}from"../../lib/utils.js";export const EmailCard=({className,...props})=>{return _jsx(Section,{className:cn("bg-card text-card-foreground border-border rounded-xl border border-solid py-6 shadow-sm",className),...props})};export const EmailCardHeader=({className,...props})=>{return _jsx(Section,{className:cn("mb-6 px-6",className),...props})};export const EmailCardTitle=({className,...props})=>{return _jsx(Text,{className:cn("text-xl leading-[0] font-semibold",className),...props})};export const EmailCardDescription=({className,...props})=>{return _jsx(Text,{className:cn("text-muted-foreground m-0 text-sm",className),...props})};export const EmailCardContent=({className,...props})=>{return _jsx(Section,{className:cn("px-6",className),...props})};export const EmailCardFooter=({className,...props})=>{return _jsx(Section,{className:cn("mt-6 px-6",className),...props})};
@@ -1 +1 @@
1
- {"version":3,"file":"use-captcha.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-captcha.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAS7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAE7E,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,UAAU,CAAC,EAAE;YACX,OAAO,EAAE,CACP,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAA;aAAE,KACxB,OAAO,CAAC,MAAM,CAAC,CAAC;YACrB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;SACvC,CAAC;QACF,SAAS,CAAC,EAAE;YACV,MAAM,EAAE,CACN,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE;gBACN,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;gBAClC,kBAAkB,EAAE,MAAM,IAAI,CAAC;gBAC/B,QAAQ,EAAE,MAAM,CAAC;gBACjB,OAAO,EAAE,MAAM,CAAC;gBAChB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;aAC3B,KACE,MAAM,CAAC;YACZ,KAAK,EAAE,MAAM,IAAI,CAAC;SACnB,CAAC;KACH;CACF;AAED,eAAO,MAAM,UAAU,GACrB,SAAS,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC,SAAS,CAAC;;;oBAmG9B,OAAO,CAAC,MAAM,CAAC;CA6B3C,CAAC"}
1
+ {"version":3,"file":"use-captcha.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-captcha.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAS7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAE7E,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,UAAU,CAAC,EAAE;YACX,OAAO,EAAE,CACP,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAA;aAAE,KACxB,OAAO,CAAC,MAAM,CAAC,CAAC;YACrB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;SACvC,CAAC;QACF,SAAS,CAAC,EAAE;YACV,MAAM,EAAE,CACN,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE;gBACN,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;gBAClC,kBAAkB,EAAE,MAAM,IAAI,CAAC;gBAC/B,QAAQ,EAAE,MAAM,CAAC;gBACjB,OAAO,EAAE,MAAM,CAAC;gBAChB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;aAC3B,KACE,MAAM,CAAC;YACZ,KAAK,EAAE,MAAM,IAAI,CAAC;SACnB,CAAC;KACH;CACF;AAED,eAAO,MAAM,UAAU,GACrB,SAAS,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC,SAAS,CAAC;;;oBAmG9B,OAAO,CAAC,MAAM,CAAC;CA6B3C,CAAC"}
@@ -1 +1 @@
1
- import{useLocale,useTranslations}from"next-intl";import{useTheme}from"next-themes";import React from"react";import{toast}from"sonner";import{usePathname}from"../lib/navigation.js";export const useCaptcha=captcha=>{const t=useTranslations("core.global.errors");const locale=useLocale();const{resolvedTheme}=useTheme();const[isReady,setIsReady]=React.useState(false);const[token,setToken]=React.useState("");const pathname=usePathname();const onReset=()=>{if(!captcha)return;if(captcha.type==="cloudflare_turnstile"&&window.turnstile){window.turnstile.reset()}setToken("");setIsReady(false)};const handleLoaded=()=>{if(!captcha)return;const elementId="vitnode_captcha";if(captcha.type==="cloudflare_turnstile"&&window.turnstile){window.turnstile.render(`#${elementId}`,{sitekey:captcha.siteKey,theme:resolvedTheme,language:locale,callback:token=>{setToken(token);setIsReady(true)},"expired-callback":()=>{onReset()}})}else{setIsReady(true)}};const handleError=()=>{toast.error(t("title"),{description:t("captcha_internal_error")})};React.useEffect(()=>{if(!captcha){setIsReady(true);return}setIsReady(false);setToken("");const googleCaptchaDomain=`https://www.google.com/recaptcha/api.js?hl=${locale}`;const script=document.createElement("script");if(captcha.type==="cloudflare_turnstile"){script.src="https://challenges.cloudflare.com/turnstile/v0/api.js"}else if(captcha.type==="recaptcha_v3"){script.src=`${googleCaptchaDomain}&render=${captcha.siteKey}`}if(!script.src)return;script.async=true;script.defer=true;document.body.appendChild(script);script.addEventListener("load",handleLoaded);script.addEventListener("error",handleError);return()=>{script.removeEventListener("load",handleLoaded);script.removeEventListener("error",handleError);if(document.body.contains(script)){document.body.removeChild(script)}const widget=document.getElementById("vitnode_captcha");if(widget){widget.innerHTML=""}}},[pathname,locale,captcha?.type,captcha?.siteKey]);const getToken=async()=>{if(!captcha)return"";if(captcha.type==="recaptcha_v3"){return await new Promise(resolve=>{const grecaptcha=window.grecaptcha;if(grecaptcha){grecaptcha.ready(async()=>{try{const token=await grecaptcha.execute(captcha.siteKey,{action:"submit"});resolve(token)}catch(error){console.error("Captcha error",error);resolve("")}})}else{resolve("")}})}return token};return{isReady,onReset,getToken}};
1
+ import{useLocale,useTranslations}from"next-intl";import React from"react";import{toast}from"sonner";import{useTheme}from"../components/theme-provider.js";import{usePathname}from"../lib/navigation.js";export const useCaptcha=captcha=>{const t=useTranslations("core.global.errors");const locale=useLocale();const{resolvedTheme}=useTheme();const[isReady,setIsReady]=React.useState(false);const[token,setToken]=React.useState("");const pathname=usePathname();const onReset=()=>{if(!captcha)return;if(captcha.type==="cloudflare_turnstile"&&window.turnstile){window.turnstile.reset()}setToken("");setIsReady(false)};const handleLoaded=()=>{if(!captcha)return;const elementId="vitnode_captcha";if(captcha.type==="cloudflare_turnstile"&&window.turnstile){window.turnstile.render(`#${elementId}`,{sitekey:captcha.siteKey,theme:resolvedTheme,language:locale,callback:token=>{setToken(token);setIsReady(true)},"expired-callback":()=>{onReset()}})}else{setIsReady(true)}};const handleError=()=>{toast.error(t("title"),{description:t("captcha_internal_error")})};React.useEffect(()=>{if(!captcha){setIsReady(true);return}setIsReady(false);setToken("");const googleCaptchaDomain=`https://www.google.com/recaptcha/api.js?hl=${locale}`;const script=document.createElement("script");if(captcha.type==="cloudflare_turnstile"){script.src="https://challenges.cloudflare.com/turnstile/v0/api.js"}else if(captcha.type==="recaptcha_v3"){script.src=`${googleCaptchaDomain}&render=${captcha.siteKey}`}if(!script.src)return;script.async=true;script.defer=true;document.body.appendChild(script);script.addEventListener("load",handleLoaded);script.addEventListener("error",handleError);return()=>{script.removeEventListener("load",handleLoaded);script.removeEventListener("error",handleError);if(document.body.contains(script)){document.body.removeChild(script)}const widget=document.getElementById("vitnode_captcha");if(widget){widget.innerHTML=""}}},[pathname,locale,captcha?.type,captcha?.siteKey]);const getToken=async()=>{if(!captcha)return"";if(captcha.type==="recaptcha_v3"){return await new Promise(resolve=>{const grecaptcha=window.grecaptcha;if(grecaptcha){grecaptcha.ready(async()=>{try{const token=await grecaptcha.execute(captcha.siteKey,{action:"submit"});resolve(token)}catch(error){console.error("Captcha error",error);resolve("")}})}else{resolve("")}})}return token};return{isReady,onReset,getToken}};
@@ -1 +1 @@
1
- import*as React from"react";const MOBILE_BREAKPOINT=768;export function useIsMobile(){const[isMobile,setIsMobile]=React.useState(undefined);React.useEffect(()=>{const mql=window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT-1}px)`);const onChange=()=>{setIsMobile(window.innerWidth<MOBILE_BREAKPOINT)};mql.addEventListener("change",onChange);setIsMobile(window.innerWidth<MOBILE_BREAKPOINT);return()=>mql.removeEventListener("change",onChange)},[]);return!!isMobile}
1
+ import React from"react";const MOBILE_BREAKPOINT=768;export function useIsMobile(){const[isMobile,setIsMobile]=React.useState(undefined);React.useEffect(()=>{const mql=window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT-1}px)`);const onChange=()=>{setIsMobile(window.innerWidth<MOBILE_BREAKPOINT)};mql.addEventListener("change",onChange);setIsMobile(window.innerWidth<MOBILE_BREAKPOINT);return()=>mql.removeEventListener("change",onChange)},[]);return!!isMobile}
@@ -0,0 +1,4 @@
1
+ import type { PermissionsStaffArgs, StaffPermissionSet } from "../../api/lib/permission-staff";
2
+ export declare const getModeratorPermissionsApi: () => Promise<StaffPermissionSet>;
3
+ export declare const checkModeratorPermissionApi: (args: PermissionsStaffArgs) => Promise<boolean>;
4
+ //# sourceMappingURL=get-moderator-permissions-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-moderator-permissions-api.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/get-moderator-permissions-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,4BAA4B,CAAC;AAMpC,eAAO,MAAM,0BAA0B,QAC3B,OAAO,CAAC,kBAAkB,CAYnC,CAAC;AAEJ,eAAO,MAAM,2BAA2B,GACtC,MAAM,oBAAoB,KACzB,OAAO,CAAC,OAAO,CAIjB,CAAC"}
@@ -0,0 +1 @@
1
+ import{hasStaffPermission}from"../../api/lib/staff-permission.js";import{usersModule}from"../../api/modules/users/users.module.js";import{fetcher}from"../fetcher.js";export const getModeratorPermissionsApi=async()=>{const res=await fetcher(usersModule,{path:"/permissions",method:"get",module:"users"});if(res.status!==200){return{root:false,permissions:[]}}return await res.json()};export const checkModeratorPermissionApi=async args=>{const set=await getModeratorPermissionsApi();return hasStaffPermission(set,args)};
@@ -1 +1 @@
1
- import cronParser from"cron-parser";export const getNextCronRunDate=(schedule,lastRun)=>{try{const options={currentDate:lastRun??new Date(0)};const interval=cronParser.parse(schedule,options);return interval.next().toDate()}catch(err){console.error(`\x1b[34m[VitNode]\x1b[0m \x1b[38;5;208mError parsing schedule for nextRun\x1b[0m: ${schedule}`,err);return null}};
1
+ import{CronExpressionParser}from"cron-parser";export const getNextCronRunDate=(schedule,lastRun)=>{try{const options={currentDate:lastRun??new Date(0)};const interval=CronExpressionParser.parse(schedule,options);return interval.next().toDate()}catch(err){console.error(`\x1b[34m[VitNode]\x1b[0m \x1b[38;5;208mError parsing schedule for nextRun\x1b[0m: ${schedule}`,err);return null}};
@@ -0,0 +1,2 @@
1
+ export declare const getQueueBackoffDate: (attempts: number, from?: Date) => Date;
2
+ //# sourceMappingURL=get-queue-backoff-date.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-queue-backoff-date.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/get-queue-backoff-date.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,mBAAmB,GAC9B,UAAU,MAAM,EAChB,OAAM,IAAiB,KACtB,IAQF,CAAC"}
@@ -0,0 +1 @@
1
+ const BASE_DELAY_SECONDS=10;const MAX_DELAY_SECONDS=60*60;export const getQueueBackoffDate=(attempts,from=new Date)=>{const exponent=Math.max(0,attempts-1);const delaySeconds=Math.min(BASE_DELAY_SECONDS*2**exponent,MAX_DELAY_SECONDS);return new Date(from.getTime()+delaySeconds*1e3)};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=get-queue-backoff-date.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-queue-backoff-date.test.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/get-queue-backoff-date.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ import{describe,expect,it}from"vitest";import{getQueueBackoffDate}from"./get-queue-backoff-date.js";describe("getQueueBackoffDate",()=>{const from=new Date("2024-01-01T00:00:00Z");const secondsFrom=date=>(date.getTime()-from.getTime())/1e3;it("delays by the base amount after the first attempt",()=>{expect(secondsFrom(getQueueBackoffDate(1,from))).toBe(10)});it("grows exponentially with attempts",()=>{expect(secondsFrom(getQueueBackoffDate(2,from))).toBe(20);expect(secondsFrom(getQueueBackoffDate(3,from))).toBe(40);expect(secondsFrom(getQueueBackoffDate(4,from))).toBe(80)});it("is monotonically increasing",()=>{const delays=[1,2,3,4,5].map(a=>secondsFrom(getQueueBackoffDate(a,from)));for(let i=1;i<delays.length;i++){expect(delays[i]).toBeGreaterThan(delays[i-1])}});it("caps the delay at one hour",()=>{expect(secondsFrom(getQueueBackoffDate(50,from))).toBe(3600)});it("treats attempts <= 1 as the base delay (no negative exponent)",()=>{expect(secondsFrom(getQueueBackoffDate(0,from))).toBe(10)});it("returns a date after the provided origin",()=>{expect(getQueueBackoffDate(1,from).getTime()).toBeGreaterThan(from.getTime())})});
@@ -1,3 +1,4 @@
1
+ import type { PermissionsStaffArgs } from "../../api/lib/permission-staff";
1
2
  export declare const getSessionAdminApi: () => Promise<{
2
3
  user: {
3
4
  id: number;
@@ -11,6 +12,17 @@ export declare const getSessionAdminApi: () => Promise<{
11
12
  roleId: number;
12
13
  birthday: Date | null;
13
14
  };
15
+ permissions: {
16
+ root: boolean;
17
+ permissions: {
18
+ plugin: string;
19
+ module: string;
20
+ permission: string;
21
+ }[];
22
+ };
14
23
  vitnode_version: string;
15
24
  } | undefined>;
25
+ export declare const checkAdminPermissionApi: ({ plugin, module, permission, }: Omit<PermissionsStaffArgs, "plugin"> & {
26
+ plugin?: string;
27
+ }) => Promise<boolean>;
16
28
  //# sourceMappingURL=get-session-admin-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-session-admin-api.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/get-session-admin-api.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;cAmB9B,CAAC"}
1
+ {"version":3,"file":"get-session-admin-api.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/get-session-admin-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AASvE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;cAmB9B,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAU,iCAI3C,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,GAAG;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,KAAG,OAAO,CAAC,OAAO,CASlB,CAAC"}
@@ -1 +1 @@
1
- import{adminModule}from"../../api/modules/admin/admin.module.js";import{fetcher}from"../fetcher.js";import{redirect}from"../navigation.js";export const getSessionAdminApi=async()=>{const res=await fetcher(adminModule,{path:"/session",method:"get",module:"admin",options:{cache:"force-cache"}});if(res.status!==200){await redirect("/admin");return}const data=await res.json();return data};
1
+ import{hasStaffPermission}from"../../api/lib/staff-permission.js";import{adminModule}from"../../api/modules/admin/admin.module.js";import{CONFIG_PLUGIN}from"../../config.js";import{fetcher}from"../fetcher.js";import{redirect}from"../navigation.js";export const getSessionAdminApi=async()=>{const res=await fetcher(adminModule,{path:"/session",method:"get",module:"admin",options:{cache:"force-cache"}});if(res.status!==200){await redirect("/admin");return}const data=await res.json();return data};export const checkAdminPermissionApi=async({plugin=CONFIG_PLUGIN.pluginId,module,permission})=>{const session=await getSessionAdminApi();if(!session)return false;return hasStaffPermission(session.permissions,{plugin,module,permission})};