@vitnode/core 1.2.0-canary.59 → 1.2.0-canary.61

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 (283) hide show
  1. package/dist/scripts/get-config.js +15 -0
  2. package/dist/scripts/plugin.js +188 -0
  3. package/dist/scripts/prepare-database.js +177 -0
  4. package/dist/scripts/prepare-plugins-files.js +134 -0
  5. package/dist/scripts/run-interactive-shell-command.js +21 -0
  6. package/dist/scripts/scripts.js +39 -13
  7. package/dist/scripts/shared/file-utils.js +203 -0
  8. package/dist/src/api/adapters/sso/discord.js +1 -77
  9. package/dist/src/api/adapters/sso/facebook.js +1 -76
  10. package/dist/src/api/adapters/sso/google.js +1 -87
  11. package/dist/src/api/config.js +1 -67
  12. package/dist/src/api/lib/check-plugin-id.js +1 -43
  13. package/dist/src/api/lib/cron.js +1 -22
  14. package/dist/src/api/lib/logger-middleware.js +1 -35
  15. package/dist/src/api/lib/module.js +1 -22
  16. package/dist/src/api/lib/plugin.js +1 -22
  17. package/dist/src/api/lib/route.js +1 -27
  18. package/dist/src/api/lib/with-pagination.js +1 -83
  19. package/dist/src/api/middlewares/captcha.middleware.js +1 -63
  20. package/dist/src/api/middlewares/cron-auth.middleware.js +1 -19
  21. package/dist/src/api/middlewares/global.middleware.d.ts.map +1 -1
  22. package/dist/src/api/middlewares/global.middleware.js +1 -104
  23. package/dist/src/api/middlewares/rate-limiter.middleware.js +1 -32
  24. package/dist/src/api/models/device.js +1 -61
  25. package/dist/src/api/models/email.d.ts.map +1 -1
  26. package/dist/src/api/models/email.js +1 -77
  27. package/dist/src/api/models/password.js +1 -36
  28. package/dist/src/api/models/session-admin.d.ts.map +1 -1
  29. package/dist/src/api/models/session-admin.js +1 -97
  30. package/dist/src/api/models/session.d.ts.map +1 -1
  31. package/dist/src/api/models/session.js +1 -76
  32. package/dist/src/api/models/sso.js +1 -120
  33. package/dist/src/api/models/user/get-user-by-id.js +1 -19
  34. package/dist/src/api/models/user/sign-in-with-passwords.js +1 -22
  35. package/dist/src/api/models/user/sign-up.js +1 -73
  36. package/dist/src/api/models/user.js +1 -8
  37. package/dist/src/api/modules/admin/admin.module.js +1 -19
  38. package/dist/src/api/modules/admin/advanced/advanced.admin.module.js +1 -11
  39. package/dist/src/api/modules/admin/advanced/cron/cron.admin.module.js +1 -12
  40. package/dist/src/api/modules/admin/advanced/cron/routes/get.route.js +1 -66
  41. package/dist/src/api/modules/admin/advanced/cron/routes/run.route.js +1 -95
  42. package/dist/src/api/modules/admin/debug/debug.admin.module.js +1 -10
  43. package/dist/src/api/modules/admin/debug/routes/logs.route.js +1 -94
  44. package/dist/src/api/modules/admin/routes/session.route.js +1 -47
  45. package/dist/src/api/modules/admin/users/routes/list.route.js +1 -79
  46. package/dist/src/api/modules/admin/users/routes/users.route.js +1 -84
  47. package/dist/src/api/modules/admin/users/users.admin.module.js +1 -10
  48. package/dist/src/api/modules/cron/cron/clean.cron.js +1 -24
  49. package/dist/src/api/modules/cron/cron.module.js +1 -14
  50. package/dist/src/api/modules/cron/helpers/process-cron-jobs.d.ts.map +1 -1
  51. package/dist/src/api/modules/cron/helpers/process-cron-jobs.js +1 -72
  52. package/dist/src/api/modules/cron/routes/cron.route.d.ts.map +1 -1
  53. package/dist/src/api/modules/cron/routes/cron.route.js +1 -95
  54. package/dist/src/api/modules/middleware/middleware.module.js +1 -10
  55. package/dist/src/api/modules/middleware/route.js +1 -49
  56. package/dist/src/api/modules/users/avatar-color.js +1 -43
  57. package/dist/src/api/modules/users/routes/change-password.route.js +1 -58
  58. package/dist/src/api/modules/users/routes/reset-passowrd.route.js +1 -91
  59. package/dist/src/api/modules/users/routes/session.route.js +1 -46
  60. package/dist/src/api/modules/users/routes/sign-in.route.js +1 -71
  61. package/dist/src/api/modules/users/routes/sign-out.route.js +1 -43
  62. package/dist/src/api/modules/users/routes/sign-up.route.js +1 -77
  63. package/dist/src/api/modules/users/routes/test.route.js +1 -33
  64. package/dist/src/api/modules/users/sso/routes/callback.route.js +1 -52
  65. package/dist/src/api/modules/users/sso/routes/create-url.route.js +1 -36
  66. package/dist/src/api/modules/users/sso/sso.module.js +1 -12
  67. package/dist/src/api/modules/users/users.module.js +1 -26
  68. package/dist/src/api/plugin.js +1 -15
  69. package/dist/src/app/login/page.js +1 -16
  70. package/dist/src/app/login/reset-password/page.js +1 -18
  71. package/dist/src/app/login/sso/[providerId]/page.js +1 -10
  72. package/dist/src/app/register/page.js +1 -16
  73. package/dist/src/app_admin/core/advanced/cron/page.js +1 -42
  74. package/dist/src/app_admin/core/debug/page.js +1 -45
  75. package/dist/src/app_admin/core/page.js +1 -5
  76. package/dist/src/app_admin/core/test/page.js +1 -5
  77. package/dist/src/app_admin/core/users/page.js +1 -38
  78. package/dist/src/components/avatar.js +1 -14
  79. package/dist/src/components/confirm-action/confirm-action-alert-dialog.js +1 -42
  80. package/dist/src/components/confirm-action/content.js +1 -31
  81. package/dist/src/components/date-format.js +1 -41
  82. package/dist/src/components/form/auto-form.js +1 -103
  83. package/dist/src/components/form/common/desc.js +1 -9
  84. package/dist/src/components/form/common/label.js +1 -18
  85. package/dist/src/components/form/fields/checkbox.js +1 -37
  86. package/dist/src/components/form/fields/combobox-async.js +1 -123
  87. package/dist/src/components/form/fields/combobox.js +1 -87
  88. package/dist/src/components/form/fields/input.js +1 -39
  89. package/dist/src/components/form/fields/radio-group.js +1 -50
  90. package/dist/src/components/form/fields/select.js +1 -58
  91. package/dist/src/components/form/fields/switch.js +1 -36
  92. package/dist/src/components/form/fields/textarea.js +1 -36
  93. package/dist/src/components/i18n-provider.js +1 -43
  94. package/dist/src/components/logo-vitnode.js +1 -119
  95. package/dist/src/components/switchers/langs/language-switcher.js +1 -47
  96. package/dist/src/components/switchers/themes/theme-switcher.js +1 -28
  97. package/dist/src/components/table/content.js +1 -81
  98. package/dist/src/components/table/data-table.js +1 -68
  99. package/dist/src/components/table/order-table-head.js +1 -50
  100. package/dist/src/components/table/pagination.js +1 -122
  101. package/dist/src/components/tiptap/extension.js +1 -33
  102. package/dist/src/components/tiptap/toolbar/actions/alignment-action.js +1 -91
  103. package/dist/src/components/tiptap/toolbar/actions/bold-action.js +1 -39
  104. package/dist/src/components/tiptap/toolbar/actions/headings-action.js +1 -93
  105. package/dist/src/components/tiptap/toolbar/actions/italic-action.js +1 -38
  106. package/dist/src/components/tiptap/toolbar/actions/list-action.js +1 -61
  107. package/dist/src/components/tiptap/toolbar/actions/text-format-more/text-format-more.js +1 -59
  108. package/dist/src/components/tiptap/toolbar/actions/underline-action.js +1 -38
  109. package/dist/src/components/tiptap/toolbar/actions/undo-redo-actions.js +1 -63
  110. package/dist/src/components/tiptap/toolbar/actions/utils/tooltip-shortcut.js +1 -11
  111. package/dist/src/components/tiptap/toolbar/tiptap-toolbar.js +1 -55
  112. package/dist/src/components/tiptap/toolbar/use-toolbar-editor.js +1 -5
  113. package/dist/src/components/ui/accordion.js +1 -46
  114. package/dist/src/components/ui/alert-dialog.js +1 -123
  115. package/dist/src/components/ui/alert.js +1 -39
  116. package/dist/src/components/ui/badge.js +1 -28
  117. package/dist/src/components/ui/button-client.js +1 -57
  118. package/dist/src/components/ui/button.js +1 -32
  119. package/dist/src/components/ui/card.js +1 -52
  120. package/dist/src/components/ui/checkbox.js +1 -20
  121. package/dist/src/components/ui/collapsible.js +1 -22
  122. package/dist/src/components/ui/command.js +1 -98
  123. package/dist/src/components/ui/context-menu.js +1 -140
  124. package/dist/src/components/ui/dialog.js +1 -189
  125. package/dist/src/components/ui/drawer.js +1 -83
  126. package/dist/src/components/ui/dropdown-menu.js +1 -141
  127. package/dist/src/components/ui/editor-content.js +1 -10
  128. package/dist/src/components/ui/editor.js +1 -35
  129. package/dist/src/components/ui/form.js +1 -148
  130. package/dist/src/components/ui/header-content.js +1 -30
  131. package/dist/src/components/ui/hover-card.js +1 -29
  132. package/dist/src/components/ui/input-otp.js +1 -48
  133. package/dist/src/components/ui/input.js +1 -11
  134. package/dist/src/components/ui/label.js +1 -12
  135. package/dist/src/components/ui/loader.js +1 -16
  136. package/dist/src/components/ui/menubar.js +1 -151
  137. package/dist/src/components/ui/navigation-menu.js +1 -82
  138. package/dist/src/components/ui/popover.js +1 -35
  139. package/dist/src/components/ui/progress.js +1 -19
  140. package/dist/src/components/ui/radio-group.js +1 -27
  141. package/dist/src/components/ui/scroll-area.js +1 -33
  142. package/dist/src/components/ui/select.js +1 -113
  143. package/dist/src/components/ui/separator.js +1 -14
  144. package/dist/src/components/ui/sheet.js +1 -92
  145. package/dist/src/components/ui/sidebar.js +1 -433
  146. package/dist/src/components/ui/skeleton.js +1 -10
  147. package/dist/src/components/ui/slider.js +1 -50
  148. package/dist/src/components/ui/sonner.js +1 -26
  149. package/dist/src/components/ui/switch.js +1 -16
  150. package/dist/src/components/ui/table.js +1 -63
  151. package/dist/src/components/ui/tabs.js +1 -33
  152. package/dist/src/components/ui/textarea.js +1 -10
  153. package/dist/src/components/ui/toggle-group.js +1 -45
  154. package/dist/src/components/ui/toggle.js +1 -34
  155. package/dist/src/components/ui/tooltip.js +1 -57
  156. package/dist/src/config.js +1 -4
  157. package/dist/src/database/admins.js +1 -74
  158. package/dist/src/database/cron.js +1 -22
  159. package/dist/src/database/languages.js +1 -52
  160. package/dist/src/database/logs.js +1 -34
  161. package/dist/src/database/moderators.js +1 -37
  162. package/dist/src/database/roles.js +1 -13
  163. package/dist/src/database/sessions.js +1 -60
  164. package/dist/src/database/users.js +1 -145
  165. package/dist/src/drizzle.config.js +1 -67
  166. package/dist/src/emails/default-template.js +1 -99
  167. package/dist/src/emails/reset-password.js +1 -132
  168. package/dist/src/emails/ui/button.js +1 -36
  169. package/dist/src/emails/ui/card.js +1 -39
  170. package/dist/src/hooks/use-before-unload.js +1 -30
  171. package/dist/src/hooks/use-captcha.js +1 -122
  172. package/dist/src/hooks/use-mobile.js +1 -16
  173. package/dist/src/lib/api/get-middleware-api.js +1 -13
  174. package/dist/src/lib/api/get-next-cron-run-date.js +1 -14
  175. package/dist/src/lib/api/get-next-cron-run-date.test.js +1 -55
  176. package/dist/src/lib/api/get-session-admin-api.js +1 -19
  177. package/dist/src/lib/api/get-session-api.js +1 -14
  178. package/dist/src/lib/api/should-cron-job-run.js +1 -16
  179. package/dist/src/lib/api/should-cron-job-run.test.js +1 -213
  180. package/dist/src/lib/api/validate-cron-schedule.d.ts +2 -0
  181. package/dist/src/lib/api/validate-cron-schedule.d.ts.map +1 -0
  182. package/dist/src/lib/api/validate-cron-schedule.js +1 -0
  183. package/dist/src/lib/api/validate-cron-schedule.test.d.ts +2 -0
  184. package/dist/src/lib/api/validate-cron-schedule.test.d.ts.map +1 -0
  185. package/dist/src/lib/api/validate-cron-schedule.test.js +1 -0
  186. package/dist/src/lib/colors.js +1 -140
  187. package/dist/src/lib/colors.test.js +1 -173
  188. package/dist/src/lib/config.js +1 -14
  189. package/dist/src/lib/ctrl-or-command-character.js +1 -5
  190. package/dist/src/lib/fetcher/cookie-from-string-to-object.js +1 -12
  191. package/dist/src/lib/fetcher/cookie-from-string-to-object.test.js +1 -78
  192. package/dist/src/lib/fetcher/core.js +3 -48
  193. package/dist/src/lib/fetcher/helpers-server.js +1 -18
  194. package/dist/src/lib/fetcher/helpers.js +1 -16
  195. package/dist/src/lib/fetcher/helpers.test.js +1 -37
  196. package/dist/src/lib/fetcher/types.js +1 -1
  197. package/dist/src/lib/fetcher-client.js +1 -17
  198. package/dist/src/lib/fetcher.js +1 -33
  199. package/dist/src/lib/helpers/auto-form.js +1 -98
  200. package/dist/src/lib/helpers/auto-form.test.js +1 -336
  201. package/dist/src/lib/navigation.d.ts +15 -13
  202. package/dist/src/lib/navigation.d.ts.map +1 -1
  203. package/dist/src/lib/navigation.js +1 -11
  204. package/dist/src/lib/plugin.js +1 -3
  205. package/dist/src/lib/special-characters.js +1 -4
  206. package/dist/src/lib/special-characters.test.js +1 -56
  207. package/dist/src/lib/utils.js +1 -5
  208. package/dist/src/locales/en.json +308 -0
  209. package/dist/src/tests/setup.js +1 -6
  210. package/dist/src/views/admin/layouts/admin-layout.js +1 -73
  211. package/dist/src/views/admin/layouts/sidebar/nav/item.js +1 -98
  212. package/dist/src/views/admin/layouts/sidebar/nav/nav.js +1 -60
  213. package/dist/src/views/admin/layouts/sidebar/sidebar.js +1 -28
  214. package/dist/src/views/admin/layouts/sidebar/sign-out.js +1 -14
  215. package/dist/src/views/admin/layouts/user-bar/client.js +1 -69
  216. package/dist/src/views/admin/layouts/user-bar/user-bar.js +1 -32
  217. package/dist/src/views/admin/sign-in/sign-in-admin-view.js +1 -27
  218. package/dist/src/views/admin/views/core/advanced/cron/cron-table-view.js +1 -97
  219. package/dist/src/views/admin/views/core/advanced/cron/run-action/mutation-api.js +1 -23
  220. package/dist/src/views/admin/views/core/advanced/cron/run-action/run-action.js +1 -38
  221. package/dist/src/views/admin/views/core/dashboard/dashboard-admin-view.js +1 -44
  222. package/dist/src/views/admin/views/core/debug/actions/clear-cache/clear-cache.js +1 -35
  223. package/dist/src/views/admin/views/core/debug/actions/clear-cache/mutation-api.js +1 -5
  224. package/dist/src/views/admin/views/core/debug/system-logs/actions/more/content.js +1 -281
  225. package/dist/src/views/admin/views/core/debug/system-logs/actions/more/more.js +1 -67
  226. package/dist/src/views/admin/views/core/debug/system-logs/badges/badge-status.js +1 -14
  227. package/dist/src/views/admin/views/core/debug/system-logs/badges/badge-type-log.js +1 -30
  228. package/dist/src/views/admin/views/core/debug/system-logs/system-logs-view.js +1 -96
  229. package/dist/src/views/admin/views/core/test.js +1 -161
  230. package/dist/src/views/admin/views/core/users/users-admin-view.js +1 -89
  231. package/dist/src/views/auth/password-reset/change-password-form/form.js +1 -48
  232. package/dist/src/views/auth/password-reset/change-password-form/mutation-api.js +1 -22
  233. package/dist/src/views/auth/password-reset/change-password-form/use-form.js +1 -36
  234. package/dist/src/views/auth/password-reset/form/form.js +1 -104
  235. package/dist/src/views/auth/password-reset/form/mutation-api.js +1 -21
  236. package/dist/src/views/auth/password-reset/form/use-form.js +1 -33
  237. package/dist/src/views/auth/password-reset/password-reset-view.js +1 -37
  238. package/dist/src/views/auth/sign-in/form/form.js +1 -64
  239. package/dist/src/views/auth/sign-in/form/mutation-api.js +1 -33
  240. package/dist/src/views/auth/sign-in/form/use-form.d.ts.map +1 -1
  241. package/dist/src/views/auth/sign-in/form/use-form.js +1 -38
  242. package/dist/src/views/auth/sign-in/sign-in-view.js +1 -61
  243. package/dist/src/views/auth/sign-up/components/password-input.js +1 -96
  244. package/dist/src/views/auth/sign-up/email-confirmation-view.js +1 -55
  245. package/dist/src/views/auth/sign-up/form/form.js +1 -89
  246. package/dist/src/views/auth/sign-up/form/mutation-api.js +1 -30
  247. package/dist/src/views/auth/sign-up/form/use-form.js +1 -70
  248. package/dist/src/views/auth/sign-up/sign-up-view.js +1 -65
  249. package/dist/src/views/auth/sign-up/wrapper.js +1 -22
  250. package/dist/src/views/auth/sso/buttons/client.js +1 -22
  251. package/dist/src/views/auth/sso/buttons/mutation-api.js +1 -24
  252. package/dist/src/views/auth/sso/buttons/sso-buttons.js +1 -56
  253. package/dist/src/views/auth/sso/callback/callback-sso-view.js +1 -32
  254. package/dist/src/views/auth/sso/callback/client/client.js +1 -68
  255. package/dist/src/views/auth/sso/callback/client/mutation-api.js +1 -32
  256. package/dist/src/views/error/back-button.js +1 -14
  257. package/dist/src/views/error/error-view.js +1 -58
  258. package/dist/src/views/error/global-error-view.js +1 -50
  259. package/dist/src/views/layouts/provider.js +1 -44
  260. package/dist/src/views/layouts/root-layout.js +1 -25
  261. package/dist/src/views/layouts/theme/header/header.js +1 -38
  262. package/dist/src/views/layouts/theme/header/user/auth/auth.js +1 -33
  263. package/dist/src/views/layouts/theme/header/user/auth/client.js +1 -47
  264. package/dist/src/views/layouts/theme/header/user/auth/log-out-mutation-api.js +1 -27
  265. package/dist/src/views/layouts/theme/header/user/user.js +1 -32
  266. package/dist/src/views/layouts/theme/layout.js +1 -16
  267. package/dist/src/vitnode.config.d.ts.map +1 -1
  268. package/dist/src/vitnode.config.js +1 -42
  269. package/dist/tsconfig.tsbuildinfo +1 -1
  270. package/dist/tsup.config.js +18 -0
  271. package/dist/vitest.config.d.ts.map +1 -1
  272. package/dist/vitest.config.js +49 -0
  273. package/eslint.config.mjs +2 -0
  274. package/package.json +40 -44
  275. package/dist/src/api/adapters/cron/node-cron.adapter.d.ts +0 -3
  276. package/dist/src/api/adapters/cron/node-cron.adapter.d.ts.map +0 -1
  277. package/dist/src/api/adapters/cron/node-cron.adapter.js +0 -11
  278. package/dist/src/api/adapters/email/nodemailer.d.ts +0 -10
  279. package/dist/src/api/adapters/email/nodemailer.d.ts.map +0 -1
  280. package/dist/src/api/adapters/email/nodemailer.js +0 -30
  281. package/dist/src/api/adapters/email/resend.d.ts +0 -6
  282. package/dist/src/api/adapters/email/resend.d.ts.map +0 -1
  283. package/dist/src/api/adapters/email/resend.js +0 -21
@@ -1,8 +1 @@
1
- import { getUserById } from "./user/get-user-by-id.js";
2
- import { signInWithPassword } from "./user/sign-in-with-passwords.js";
3
- import { signUp } from "./user/sign-up.js";
4
- export class UserModel {
5
- getUserById = getUserById;
6
- signInWithPassword = signInWithPassword;
7
- signUp = signUp;
8
- }
1
+ import{getUserById}from"./user/get-user-by-id.js";import{signInWithPassword}from"./user/sign-in-with-passwords.js";import{signUp}from"./user/sign-up.js";export class UserModel{getUserById=getUserById;signInWithPassword=signInWithPassword;signUp=signUp}
@@ -1,19 +1 @@
1
- import { buildModule } from "../../lib/module.js";
2
- import { CONFIG_PLUGIN } from "../../../config.js";
3
- import { advancedAdminModule } from "./advanced/advanced.admin.module.js";
4
- import { debugAdminModule } from "./debug/debug.admin.module.js";
5
- import { sessionAdminRoute } from "./routes/session.route.js";
6
- import { usersAdminModule } from "./users/users.admin.module.js";
7
- export const adminModule = buildModule({
8
- pluginId: CONFIG_PLUGIN.pluginId,
9
- name: "admin",
10
- routes: [
11
- sessionAdminRoute
12
- ],
13
- modules: [
14
- usersAdminModule,
15
- debugAdminModule,
16
- advancedAdminModule
17
- ],
18
- cronJobs: []
19
- });
1
+ import{buildModule}from"../../lib/module.js";import{CONFIG_PLUGIN}from"../../../config.js";import{advancedAdminModule}from"./advanced/advanced.admin.module.js";import{debugAdminModule}from"./debug/debug.admin.module.js";import{sessionAdminRoute}from"./routes/session.route.js";import{usersAdminModule}from"./users/users.admin.module.js";export const adminModule=buildModule({pluginId:CONFIG_PLUGIN.pluginId,name:"admin",routes:[sessionAdminRoute],modules:[usersAdminModule,debugAdminModule,advancedAdminModule],cronJobs:[]});
@@ -1,11 +1 @@
1
- import { buildModule } from "../../../lib/module.js";
2
- import { CONFIG_PLUGIN } from "../../../../config.js";
3
- import { cronAdminModule } from "./cron/cron.admin.module.js";
4
- export const advancedAdminModule = buildModule({
5
- pluginId: CONFIG_PLUGIN.pluginId,
6
- name: "advanced",
7
- routes: [],
8
- modules: [
9
- cronAdminModule
10
- ]
11
- });
1
+ import{buildModule}from"../../../lib/module.js";import{CONFIG_PLUGIN}from"../../../../config.js";import{cronAdminModule}from"./cron/cron.admin.module.js";export const advancedAdminModule=buildModule({pluginId:CONFIG_PLUGIN.pluginId,name:"advanced",routes:[],modules:[cronAdminModule]});
@@ -1,12 +1 @@
1
- import { buildModule } from "../../../../lib/module.js";
2
- import { CONFIG_PLUGIN } from "../../../../../config.js";
3
- import { getCronsRoute } from "./routes/get.route.js";
4
- import { runCronRoute } from "./routes/run.route.js";
5
- export const cronAdminModule = buildModule({
6
- pluginId: CONFIG_PLUGIN.pluginId,
7
- name: "cron",
8
- routes: [
9
- getCronsRoute,
10
- runCronRoute
11
- ]
12
- });
1
+ import{buildModule}from"../../../../lib/module.js";import{CONFIG_PLUGIN}from"../../../../../config.js";import{getCronsRoute}from"./routes/get.route.js";import{runCronRoute}from"./routes/run.route.js";export const cronAdminModule=buildModule({pluginId:CONFIG_PLUGIN.pluginId,name:"cron",routes:[getCronsRoute,runCronRoute]});
@@ -1,66 +1 @@
1
- import z from "zod";
2
- import { buildRoute } from "../../../../../lib/route.js";
3
- import { withPagination, zodPaginationPageInfo, zodPaginationQuery } from "../../../../../lib/with-pagination.js";
4
- import { CONFIG_PLUGIN } from "../../../../../../config.js";
5
- import { core_cron } from "../../../../../../database/cron.js";
6
- export const getCronsRoute = buildRoute({
7
- pluginId: CONFIG_PLUGIN.pluginId,
8
- route: {
9
- method: "get",
10
- description: "Get Admin Cron Logs",
11
- path: "/",
12
- request: {
13
- query: zodPaginationQuery.extend({
14
- order: z.enum([
15
- "asc",
16
- "desc"
17
- ]).optional(),
18
- orderBy: z.enum([
19
- "createdAt",
20
- "lastRun",
21
- "nextRun"
22
- ]).optional()
23
- })
24
- },
25
- responses: {
26
- 200: {
27
- content: {
28
- "application/json": {
29
- schema: z.object({
30
- edges: z.array(z.object({
31
- id: z.number(),
32
- createdAt: z.date(),
33
- name: z.string(),
34
- description: z.string().nullable(),
35
- pluginId: z.string(),
36
- module: z.string(),
37
- lastRun: z.date().nullable(),
38
- nextRun: z.date().nullable(),
39
- schedule: z.string()
40
- })),
41
- pageInfo: zodPaginationPageInfo
42
- })
43
- }
44
- },
45
- description: "List of cron jobs"
46
- }
47
- }
48
- },
49
- handler: async (c)=>{
50
- const query = c.req.valid("query");
51
- const data = await withPagination({
52
- params: {
53
- query
54
- },
55
- c,
56
- primaryCursor: core_cron.id,
57
- query: async ({ limit, where, orderBy })=>await c.get("db").select().from(core_cron).where(where).orderBy(orderBy).limit(limit),
58
- table: core_cron,
59
- orderBy: {
60
- column: query.orderBy ? core_cron[query.orderBy] : core_cron.lastRun,
61
- order: query.order ?? "desc"
62
- }
63
- });
64
- return c.json(data);
65
- }
66
- });
1
+ import z from"zod";import{buildRoute}from"../../../../../lib/route.js";import{withPagination,zodPaginationPageInfo,zodPaginationQuery}from"../../../../../lib/with-pagination.js";import{CONFIG_PLUGIN}from"../../../../../../config.js";import{core_cron}from"../../../../../../database/cron.js";export const getCronsRoute=buildRoute({pluginId:CONFIG_PLUGIN.pluginId,route:{method:"get",description:"Get Admin Cron Logs",path:"/",request:{query:zodPaginationQuery.extend({order:z.enum(["asc","desc"]).optional(),orderBy:z.enum(["createdAt","lastRun","nextRun"]).optional()})},responses:{200:{content:{"application/json":{schema:z.object({edges:z.array(z.object({id:z.number(),createdAt:z.date(),name:z.string(),description:z.string().nullable(),pluginId:z.string(),module:z.string(),lastRun:z.date().nullable(),nextRun:z.date().nullable(),schedule:z.string()})),pageInfo:zodPaginationPageInfo})}},description:"List of cron jobs"}}},handler:async c=>{const query=c.req.valid("query");const data=await withPagination({params:{query},c,primaryCursor:core_cron.id,query:async({limit,where,orderBy})=>await c.get("db").select().from(core_cron).where(where).orderBy(orderBy).limit(limit),table:core_cron,orderBy:{column:query.orderBy?core_cron[query.orderBy]:core_cron.lastRun,order:query.order??"desc"}});return c.json(data)}});
@@ -1,95 +1 @@
1
- import { eq } from "drizzle-orm";
2
- import { z } from "zod";
3
- import { buildRoute } from "../../../../../lib/route.js";
4
- import { CONFIG_PLUGIN } from "../../../../../../config.js";
5
- import { core_cron } from "../../../../../../database/cron.js";
6
- import { getNextCronRunDate } from "../../../../../../lib/api/get-next-cron-run-date.js";
7
- export const runCronRoute = buildRoute({
8
- pluginId: CONFIG_PLUGIN.pluginId,
9
- route: {
10
- method: "post",
11
- description: "Run a specific cron job",
12
- path: "/{id}",
13
- request: {
14
- params: z.object({
15
- id: z.string()
16
- })
17
- },
18
- responses: {
19
- 201: {
20
- content: {
21
- "application/json": {
22
- schema: z.object({
23
- message: z.string().optional(),
24
- error: z.string().optional()
25
- })
26
- }
27
- },
28
- description: "Cron job executed successfully"
29
- },
30
- 404: {
31
- content: {
32
- "application/json": {
33
- schema: z.object({
34
- message: z.string().optional(),
35
- error: z.string().optional()
36
- })
37
- }
38
- },
39
- description: "Cron job not found"
40
- },
41
- 500: {
42
- content: {
43
- "application/json": {
44
- schema: z.object({
45
- message: z.string().optional(),
46
- error: z.string().optional()
47
- })
48
- }
49
- },
50
- description: "Internal server error"
51
- }
52
- }
53
- },
54
- handler: async (c)=>{
55
- const db = c.get("db");
56
- const cronJobs = c.get("core").cron;
57
- const param = c.req.valid("param");
58
- try {
59
- const cronFromDb = await db.select().from(core_cron).where(eq(core_cron.id, +param.id)).limit(1);
60
- if (cronFromDb.length === 0) {
61
- return c.json({
62
- error: "Cron job not found"
63
- }, 404);
64
- }
65
- const dbCron = cronFromDb[0];
66
- const job = cronJobs.find((j)=>j.name === dbCron.name && j.pluginId === dbCron.pluginId && j.module === dbCron.module);
67
- if (!job) {
68
- return c.json({
69
- error: "Cron job configuration not found"
70
- }, 404);
71
- }
72
- const now = new Date();
73
- try {
74
- await job.handler(c);
75
- await db.update(core_cron).set({
76
- lastRun: now,
77
- nextRun: getNextCronRunDate(job.schedule, now)
78
- }).where(eq(core_cron.id, dbCron.id));
79
- return c.json({
80
- message: "Cron job executed successfully"
81
- }, 201);
82
- } catch (error) {
83
- await c.get("log").error(`Error executing cron job: ${error}`);
84
- return c.json({
85
- error: "Failed to execute cron job"
86
- }, 500);
87
- }
88
- } catch (error) {
89
- await c.get("log").error(`Error running cron job: ${error}`);
90
- return c.json({
91
- error: "Internal server error"
92
- }, 500);
93
- }
94
- }
95
- });
1
+ import{eq}from"drizzle-orm";import{z}from"zod";import{buildRoute}from"../../../../../lib/route.js";import{CONFIG_PLUGIN}from"../../../../../../config.js";import{core_cron}from"../../../../../../database/cron.js";import{getNextCronRunDate}from"../../../../../../lib/api/get-next-cron-run-date.js";export const runCronRoute=buildRoute({pluginId:CONFIG_PLUGIN.pluginId,route:{method:"post",description:"Run a specific cron job",path:"/{id}",request:{params:z.object({id:z.string()})},responses:{201:{content:{"application/json":{schema:z.object({message:z.string().optional(),error:z.string().optional()})}},description:"Cron job executed successfully"},404:{content:{"application/json":{schema:z.object({message:z.string().optional(),error:z.string().optional()})}},description:"Cron job not found"},500:{content:{"application/json":{schema:z.object({message:z.string().optional(),error:z.string().optional()})}},description:"Internal server error"}}},handler:async c=>{const db=c.get("db");const cronJobs=c.get("core").cron;const param=c.req.valid("param");try{const cronFromDb=await db.select().from(core_cron).where(eq(core_cron.id,+param.id)).limit(1);if(cronFromDb.length===0){return c.json({error:"Cron job not found"},404)}const dbCron=cronFromDb[0];const job=cronJobs.find(j=>j.name===dbCron.name&&j.pluginId===dbCron.pluginId&&j.module===dbCron.module);if(!job){return c.json({error:"Cron job configuration not found"},404)}const now=new Date;try{await job.handler(c);await db.update(core_cron).set({lastRun:now,nextRun:getNextCronRunDate(job.schedule,now)}).where(eq(core_cron.id,dbCron.id));return c.json({message:"Cron job executed successfully"},201)}catch(error){await c.get("log").error(`Error executing cron job: ${error}`);return c.json({error:"Failed to execute cron job"},500)}}catch(error){await c.get("log").error(`Error running cron job: ${error}`);return c.json({error:"Internal server error"},500)}}});
@@ -1,10 +1 @@
1
- import { CONFIG_PLUGIN } from "../../../../config.js";
2
- import { buildModule } from "../../../lib/module.js";
3
- import { logsDebugAdminRoute } from "./routes/logs.route.js";
4
- export const debugAdminModule = buildModule({
5
- pluginId: CONFIG_PLUGIN.pluginId,
6
- name: "debug",
7
- routes: [
8
- logsDebugAdminRoute
9
- ]
10
- });
1
+ import{CONFIG_PLUGIN}from"../../../../config.js";import{buildModule}from"../../../lib/module.js";import{logsDebugAdminRoute}from"./routes/logs.route.js";export const debugAdminModule=buildModule({pluginId:CONFIG_PLUGIN.pluginId,name:"debug",routes:[logsDebugAdminRoute]});
@@ -1,94 +1 @@
1
- import { eq } from "drizzle-orm";
2
- import { z } from "zod";
3
- import { CONFIG_PLUGIN } from "../../../../../config.js";
4
- import { core_logs } from "../../../../../database/logs.js";
5
- import { core_users } from "../../../../../database/users.js";
6
- import { buildRoute } from "../../../../lib/route.js";
7
- import { withPagination, zodPaginationPageInfo, zodPaginationQuery } from "../../../../lib/with-pagination.js";
8
- export const logsDebugAdminRoute = buildRoute({
9
- pluginId: CONFIG_PLUGIN.pluginId,
10
- route: {
11
- method: "get",
12
- description: "Get Admin Debug Logs",
13
- path: "/logs",
14
- request: {
15
- query: zodPaginationQuery.extend({
16
- order: z.enum([
17
- "asc",
18
- "desc"
19
- ]).optional(),
20
- orderBy: z.enum([
21
- "type",
22
- "createdAt",
23
- "pluginId"
24
- ]).optional()
25
- })
26
- },
27
- responses: {
28
- 200: {
29
- content: {
30
- "application/json": {
31
- schema: z.object({
32
- edges: z.array(z.object({
33
- id: z.number(),
34
- pluginId: z.string(),
35
- type: z.enum([
36
- "warn",
37
- "error",
38
- "debug"
39
- ]),
40
- content: z.string(),
41
- createdAt: z.date(),
42
- ipAddress: z.string(),
43
- method: z.string(),
44
- path: z.string(),
45
- userAgent: z.string().nullable(),
46
- statusCode: z.number(),
47
- user: z.object({
48
- id: z.number(),
49
- name: z.string(),
50
- nameCode: z.string()
51
- }).nullable()
52
- })),
53
- pageInfo: zodPaginationPageInfo
54
- })
55
- }
56
- },
57
- description: "List of users"
58
- }
59
- }
60
- },
61
- handler: async (c)=>{
62
- const query = c.req.valid("query");
63
- const data = await withPagination({
64
- params: {
65
- query
66
- },
67
- primaryCursor: core_logs.id,
68
- query: async ({ limit, where, orderBy })=>await c.get("db").select({
69
- id: core_logs.id,
70
- pluginId: core_logs.pluginId,
71
- type: core_logs.type,
72
- content: core_logs.content,
73
- createdAt: core_logs.createdAt,
74
- ipAddress: core_logs.ipAddress,
75
- method: core_logs.method,
76
- path: core_logs.path,
77
- userAgent: core_logs.userAgent,
78
- statusCode: core_logs.statusCode,
79
- user: {
80
- id: core_users.id,
81
- name: core_users.name,
82
- nameCode: core_users.nameCode
83
- }
84
- }).from(core_logs).leftJoin(core_users, eq(core_users.id, core_logs.userId)).where(where).orderBy(orderBy).limit(limit),
85
- table: core_logs,
86
- orderBy: {
87
- column: query.orderBy ? core_logs[query.orderBy] : core_logs.createdAt,
88
- order: query.order ?? "desc"
89
- },
90
- c
91
- });
92
- return c.json(data);
93
- }
94
- });
1
+ import{eq}from"drizzle-orm";import{z}from"zod";import{CONFIG_PLUGIN}from"../../../../../config.js";import{core_logs}from"../../../../../database/logs.js";import{core_users}from"../../../../../database/users.js";import{buildRoute}from"../../../../lib/route.js";import{withPagination,zodPaginationPageInfo,zodPaginationQuery}from"../../../../lib/with-pagination.js";export const logsDebugAdminRoute=buildRoute({pluginId:CONFIG_PLUGIN.pluginId,route:{method:"get",description:"Get Admin Debug Logs",path:"/logs",request:{query:zodPaginationQuery.extend({order:z.enum(["asc","desc"]).optional(),orderBy:z.enum(["type","createdAt","pluginId"]).optional()})},responses:{200:{content:{"application/json":{schema:z.object({edges:z.array(z.object({id:z.number(),pluginId:z.string(),type:z.enum(["warn","error","debug"]),content:z.string(),createdAt:z.date(),ipAddress:z.string(),method:z.string(),path:z.string(),userAgent:z.string().nullable(),statusCode:z.number(),user:z.object({id:z.number(),name:z.string(),nameCode:z.string()}).nullable()})),pageInfo:zodPaginationPageInfo})}},description:"List of users"}}},handler:async c=>{const query=c.req.valid("query");const data=await withPagination({params:{query},primaryCursor:core_logs.id,query:async({limit,where,orderBy})=>await c.get("db").select({id:core_logs.id,pluginId:core_logs.pluginId,type:core_logs.type,content:core_logs.content,createdAt:core_logs.createdAt,ipAddress:core_logs.ipAddress,method:core_logs.method,path:core_logs.path,userAgent:core_logs.userAgent,statusCode:core_logs.statusCode,user:{id:core_users.id,name:core_users.name,nameCode:core_users.nameCode}}).from(core_logs).leftJoin(core_users,eq(core_users.id,core_logs.userId)).where(where).orderBy(orderBy).limit(limit),table:core_logs,orderBy:{column:query.orderBy?core_logs[query.orderBy]:core_logs.createdAt,order:query.order??"desc"},c});return c.json(data)}});
@@ -1,47 +1 @@
1
- import { HTTPException } from "hono/http-exception";
2
- import { z } from "zod";
3
- import { buildRoute } from "../../../lib/route.js";
4
- import { CONFIG_PLUGIN } from "../../../../config.js";
5
- export const sessionAdminRoute = buildRoute({
6
- pluginId: CONFIG_PLUGIN.pluginId,
7
- route: {
8
- method: "get",
9
- description: "Verify admin session",
10
- path: "/session",
11
- responses: {
12
- 200: {
13
- content: {
14
- "application/json": {
15
- schema: z.object({
16
- user: z.object({
17
- id: z.number(),
18
- email: z.string(),
19
- name: z.string(),
20
- nameCode: z.string(),
21
- createdAt: z.date(),
22
- newsletter: z.boolean(),
23
- avatarColor: z.string(),
24
- emailVerified: z.boolean(),
25
- roleId: z.number(),
26
- birthday: z.date().nullable()
27
- }),
28
- vitnode_version: z.string()
29
- })
30
- }
31
- },
32
- description: "User"
33
- },
34
- 403: {
35
- description: "Access Denied"
36
- }
37
- }
38
- },
39
- handler: (c)=>{
40
- const user = c.get("admin")?.user;
41
- if (!user) throw new HTTPException(403);
42
- return c.json({
43
- user,
44
- vitnode_version: CONFIG_PLUGIN.version
45
- });
46
- }
47
- });
1
+ import{HTTPException}from"hono/http-exception";import{z}from"zod";import{buildRoute}from"../../../lib/route.js";import{CONFIG_PLUGIN}from"../../../../config.js";export const sessionAdminRoute=buildRoute({pluginId:CONFIG_PLUGIN.pluginId,route:{method:"get",description:"Verify admin session",path:"/session",responses:{200:{content:{"application/json":{schema:z.object({user:z.object({id:z.number(),email:z.string(),name:z.string(),nameCode:z.string(),createdAt:z.date(),newsletter:z.boolean(),avatarColor:z.string(),emailVerified:z.boolean(),roleId:z.number(),birthday:z.date().nullable()}),vitnode_version:z.string()})}},description:"User"},403:{description:"Access Denied"}}},handler:c=>{const user=c.get("admin")?.user;if(!user)throw new HTTPException(403);return c.json({user,vitnode_version:CONFIG_PLUGIN.version})}});
@@ -1,79 +1 @@
1
- import { z } from "@hono/zod-openapi";
2
- import { buildRoute } from "../../../../lib/route.js";
3
- import { withPagination, zodPaginationPageInfo, zodPaginationQuery } from "../../../../lib/with-pagination.js";
4
- import { CONFIG_PLUGIN } from "../../../../../config.js";
5
- import { core_users } from "../../../../../database/users.js";
6
- export const listUsersAdminRoute = buildRoute({
7
- pluginId: CONFIG_PLUGIN.pluginId,
8
- route: {
9
- method: "get",
10
- description: "Get list of all users",
11
- path: "/list",
12
- request: {
13
- query: zodPaginationQuery.extend({
14
- order: z.enum([
15
- "asc",
16
- "desc"
17
- ]).optional(),
18
- orderBy: z.enum([
19
- "name",
20
- "createdAt"
21
- ]).optional()
22
- })
23
- },
24
- responses: {
25
- 200: {
26
- content: {
27
- "application/json": {
28
- schema: z.object({
29
- edges: z.array(z.object({
30
- id: z.number(),
31
- name: z.string(),
32
- email: z.string(),
33
- nameCode: z.string(),
34
- createdAt: z.date(),
35
- newsletter: z.boolean(),
36
- avatarColor: z.string(),
37
- emailVerified: z.boolean(),
38
- roleId: z.number(),
39
- birthday: z.date().nullable(),
40
- language: z.string()
41
- })),
42
- pageInfo: zodPaginationPageInfo
43
- })
44
- }
45
- },
46
- description: "List of users"
47
- }
48
- }
49
- },
50
- handler: async (c)=>{
51
- const query = c.req.valid("query");
52
- const data = await withPagination({
53
- params: {
54
- query
55
- },
56
- primaryCursor: core_users.id,
57
- query: async ({ limit, where, orderBy })=>await c.get("db").select({
58
- id: core_users.id,
59
- name: core_users.name,
60
- email: core_users.email,
61
- nameCode: core_users.nameCode,
62
- createdAt: core_users.createdAt,
63
- newsletter: core_users.newsletter,
64
- avatarColor: core_users.avatarColor,
65
- emailVerified: core_users.emailVerified,
66
- roleId: core_users.roleId,
67
- birthday: core_users.birthday,
68
- language: core_users.language
69
- }).from(core_users).where(where).orderBy(orderBy).limit(limit),
70
- table: core_users,
71
- orderBy: {
72
- column: query.orderBy ? core_users[query.orderBy] : core_users.createdAt,
73
- order: query.order ?? "desc"
74
- },
75
- c
76
- });
77
- return c.json(data);
78
- }
79
- });
1
+ import{z}from"@hono/zod-openapi";import{buildRoute}from"../../../../lib/route.js";import{withPagination,zodPaginationPageInfo,zodPaginationQuery}from"../../../../lib/with-pagination.js";import{CONFIG_PLUGIN}from"../../../../../config.js";import{core_users}from"../../../../../database/users.js";export const listUsersAdminRoute=buildRoute({pluginId:CONFIG_PLUGIN.pluginId,route:{method:"get",description:"Get list of all users",path:"/list",request:{query:zodPaginationQuery.extend({order:z.enum(["asc","desc"]).optional(),orderBy:z.enum(["name","createdAt"]).optional()})},responses:{200:{content:{"application/json":{schema:z.object({edges:z.array(z.object({id:z.number(),name:z.string(),email:z.string(),nameCode:z.string(),createdAt:z.date(),newsletter:z.boolean(),avatarColor:z.string(),emailVerified:z.boolean(),roleId:z.number(),birthday:z.date().nullable(),language:z.string()})),pageInfo:zodPaginationPageInfo})}},description:"List of users"}}},handler:async c=>{const query=c.req.valid("query");const data=await withPagination({params:{query},primaryCursor:core_users.id,query:async({limit,where,orderBy})=>await c.get("db").select({id:core_users.id,name:core_users.name,email:core_users.email,nameCode:core_users.nameCode,createdAt:core_users.createdAt,newsletter:core_users.newsletter,avatarColor:core_users.avatarColor,emailVerified:core_users.emailVerified,roleId:core_users.roleId,birthday:core_users.birthday,language:core_users.language}).from(core_users).where(where).orderBy(orderBy).limit(limit),table:core_users,orderBy:{column:query.orderBy?core_users[query.orderBy]:core_users.createdAt,order:query.order??"desc"},c});return c.json(data)}});
@@ -1,84 +1 @@
1
- import { z } from "@hono/zod-openapi";
2
- import { buildRoute } from "../../../../lib/route.js";
3
- import { withPagination, zodPaginationPageInfo, zodPaginationQuery } from "../../../../lib/with-pagination.js";
4
- import { CONFIG_PLUGIN } from "../../../../../config.js";
5
- import { core_users } from "../../../../../database/users.js";
6
- export const usersAdminRoute = buildRoute({
7
- pluginId: CONFIG_PLUGIN.pluginId,
8
- route: {
9
- method: "get",
10
- description: "Get list of all users (Admin only)",
11
- path: "/list",
12
- request: {
13
- query: zodPaginationQuery.extend({
14
- order: z.enum([
15
- "asc",
16
- "desc"
17
- ]).optional(),
18
- orderBy: z.enum([
19
- "id",
20
- "name",
21
- "email",
22
- "createdAt"
23
- ]).optional()
24
- })
25
- },
26
- responses: {
27
- 200: {
28
- content: {
29
- "application/json": {
30
- schema: z.object({
31
- edges: z.array(z.object({
32
- id: z.number(),
33
- name: z.string(),
34
- email: z.string(),
35
- nameCode: z.string(),
36
- createdAt: z.date(),
37
- newsletter: z.boolean(),
38
- avatarColor: z.string(),
39
- emailVerified: z.boolean(),
40
- roleId: z.number(),
41
- birthday: z.date().nullable(),
42
- language: z.string()
43
- })),
44
- pageInfo: zodPaginationPageInfo
45
- })
46
- }
47
- },
48
- description: "List of users"
49
- },
50
- 403: {
51
- description: "Access Denied"
52
- }
53
- }
54
- },
55
- handler: async (c)=>{
56
- const query = c.req.valid("query");
57
- const data = await withPagination({
58
- params: {
59
- query
60
- },
61
- primaryCursor: core_users.id,
62
- query: async ({ limit, where, orderBy })=>await c.get("db").select({
63
- id: core_users.id,
64
- name: core_users.name,
65
- email: core_users.email,
66
- nameCode: core_users.nameCode,
67
- createdAt: core_users.createdAt,
68
- newsletter: core_users.newsletter,
69
- avatarColor: core_users.avatarColor,
70
- emailVerified: core_users.emailVerified,
71
- roleId: core_users.roleId,
72
- birthday: core_users.birthday,
73
- language: core_users.language
74
- }).from(core_users).where(where).orderBy(orderBy).limit(limit),
75
- table: core_users,
76
- orderBy: {
77
- column: query.orderBy ? core_users[query.orderBy] : core_users.createdAt,
78
- order: query.order ?? "desc"
79
- },
80
- c
81
- });
82
- return c.json(data);
83
- }
84
- });
1
+ import{z}from"@hono/zod-openapi";import{buildRoute}from"../../../../lib/route.js";import{withPagination,zodPaginationPageInfo,zodPaginationQuery}from"../../../../lib/with-pagination.js";import{CONFIG_PLUGIN}from"../../../../../config.js";import{core_users}from"../../../../../database/users.js";export const usersAdminRoute=buildRoute({pluginId:CONFIG_PLUGIN.pluginId,route:{method:"get",description:"Get list of all users (Admin only)",path:"/list",request:{query:zodPaginationQuery.extend({order:z.enum(["asc","desc"]).optional(),orderBy:z.enum(["id","name","email","createdAt"]).optional()})},responses:{200:{content:{"application/json":{schema:z.object({edges:z.array(z.object({id:z.number(),name:z.string(),email:z.string(),nameCode:z.string(),createdAt:z.date(),newsletter:z.boolean(),avatarColor:z.string(),emailVerified:z.boolean(),roleId:z.number(),birthday:z.date().nullable(),language:z.string()})),pageInfo:zodPaginationPageInfo})}},description:"List of users"},403:{description:"Access Denied"}}},handler:async c=>{const query=c.req.valid("query");const data=await withPagination({params:{query},primaryCursor:core_users.id,query:async({limit,where,orderBy})=>await c.get("db").select({id:core_users.id,name:core_users.name,email:core_users.email,nameCode:core_users.nameCode,createdAt:core_users.createdAt,newsletter:core_users.newsletter,avatarColor:core_users.avatarColor,emailVerified:core_users.emailVerified,roleId:core_users.roleId,birthday:core_users.birthday,language:core_users.language}).from(core_users).where(where).orderBy(orderBy).limit(limit),table:core_users,orderBy:{column:query.orderBy?core_users[query.orderBy]:core_users.createdAt,order:query.order??"desc"},c});return c.json(data)}});
@@ -1,10 +1 @@
1
- import { buildModule } from "../../../lib/module.js";
2
- import { CONFIG_PLUGIN } from "../../../../config.js";
3
- import { listUsersAdminRoute } from "./routes/list.route.js";
4
- export const usersAdminModule = buildModule({
5
- pluginId: CONFIG_PLUGIN.pluginId,
6
- name: "users",
7
- routes: [
8
- listUsersAdminRoute
9
- ]
10
- });
1
+ import{buildModule}from"../../../lib/module.js";import{CONFIG_PLUGIN}from"../../../../config.js";import{listUsersAdminRoute}from"./routes/list.route.js";export const usersAdminModule=buildModule({pluginId:CONFIG_PLUGIN.pluginId,name:"users",routes:[listUsersAdminRoute]});
@@ -1,24 +1 @@
1
- import { lt } from "drizzle-orm";
2
- import { buildCron } from "../../../lib/cron.js";
3
- import { core_admin_sessions } from "../../../../database/admins.js";
4
- import { core_sessions } from "../../../../database/sessions.js";
5
- import { core_users_forgot_password } from "../../../../database/users.js";
6
- export const cleanCron = buildCron({
7
- name: "clean",
8
- description: "Clean up expired sessions and tokens",
9
- // Run every 1 hour
10
- schedule: "0 * * * *",
11
- handler: async (c)=>{
12
- await c.get("db").transaction(async (tx)=>{
13
- // Delete expired sessions
14
- await tx.delete(core_sessions).where(lt(core_sessions.expiresAt, new Date()));
15
- await tx.delete(core_admin_sessions).where(lt(core_admin_sessions.expiresAt, new Date()));
16
- // Delete expired forgot password tokens
17
- await tx.delete(core_users_forgot_password).where(lt(core_users_forgot_password.expiresAt, new Date()));
18
- // // Delete expired email confirmation tokens
19
- // await tx
20
- // .delete(core_users_confirm_emails)
21
- // .where(lt(core_users_confirm_emails.expiresAt, new Date()));
22
- });
23
- }
24
- });
1
+ import{lt}from"drizzle-orm";import{buildCron}from"../../../lib/cron.js";import{core_admin_sessions}from"../../../../database/admins.js";import{core_sessions}from"../../../../database/sessions.js";import{core_users_forgot_password}from"../../../../database/users.js";export const cleanCron=buildCron({name:"clean",description:"Clean up expired sessions and tokens",schedule:"0 * * * *",handler:async c=>{await c.get("db").transaction(async tx=>{await tx.delete(core_sessions).where(lt(core_sessions.expiresAt,new Date));await tx.delete(core_admin_sessions).where(lt(core_admin_sessions.expiresAt,new Date));await tx.delete(core_users_forgot_password).where(lt(core_users_forgot_password.expiresAt,new Date))})}});
@@ -1,14 +1 @@
1
- import { buildModule } from "../../lib/module.js";
2
- import { CONFIG_PLUGIN } from "../../../config.js";
3
- import { cleanCron } from "./cron/clean.cron.js";
4
- import { runCronRoute } from "./routes/cron.route.js";
5
- export const cronModule = buildModule({
6
- pluginId: CONFIG_PLUGIN.pluginId,
7
- name: "cron",
8
- routes: [
9
- runCronRoute
10
- ],
11
- cronJobs: [
12
- cleanCron
13
- ]
14
- });
1
+ import{buildModule}from"../../lib/module.js";import{CONFIG_PLUGIN}from"../../../config.js";import{cleanCron}from"./cron/clean.cron.js";import{runCronRoute}from"./routes/cron.route.js";export const cronModule=buildModule({pluginId:CONFIG_PLUGIN.pluginId,name:"cron",routes:[runCronRoute],cronJobs:[cleanCron]});
@@ -1 +1 @@
1
- {"version":3,"file":"process-cron-jobs.d.ts","sourceRoot":"","sources":["../../../../../../src/api/modules/cron/helpers/process-cron-jobs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAsB,MAAM,yBAAyB,CAAC;AAK3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAKpD,UAAU,aAAa;IACrB,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,EAAE,IAAI,GAAG,MAAM,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AA6BD,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,EAC9B,UAAU,EAAE,aAAa,EAAE,EAC3B,eAAe,EAAE,aAAa,EAAE,iBAoBjC;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,aAAa,EAAE,EACzB,UAAU,EAAE,aAAa,EAAE;;;;iBAKhB;YAAE,WAAW,CAAC,EAAE,OAAO,CAAC;YAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;SAAE;qBACzC,aAAa;aACrB,aAAa;;EA6BrB;AAED,wBAAsB,cAAc,CAClC,EAAE,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,EAC9B,YAAY,EAAE;IACZ,OAAO,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACvD,WAAW,EAAE,aAAa,CAAC;IAC3B,GAAG,EAAE,aAAa,CAAC;CACpB,EAAE,iBAyBJ"}
1
+ {"version":3,"file":"process-cron-jobs.d.ts","sourceRoot":"","sources":["../../../../../../src/api/modules/cron/helpers/process-cron-jobs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAIvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAMpD,UAAU,aAAa;IACrB,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,EAAE,IAAI,GAAG,MAAM,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAiBD,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,EAC9B,UAAU,EAAE,aAAa,EAAE,EAC3B,eAAe,EAAE,aAAa,EAAE,iBAqBjC;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,aAAa,EAAE,EACzB,UAAU,EAAE,aAAa,EAAE;;;;iBAKhB;YAAE,WAAW,CAAC,EAAE,OAAO,CAAC;YAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;SAAE;qBACzC,aAAa;aACrB,aAAa;;EAsCrB;AAED,wBAAsB,cAAc,CAClC,EAAE,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,EAC9B,YAAY,EAAE;IACZ,OAAO,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACvD,WAAW,EAAE,aAAa,CAAC;IAC3B,GAAG,EAAE,aAAa,CAAC;CACpB,EAAE,iBAyBJ"}