@vitnode/core 1.2.0-canary.76 → 1.2.0-canary.78

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 (2116) hide show
  1. package/cli.mjs +2 -0
  2. package/dist/scripts/build.d.ts +2 -0
  3. package/dist/scripts/build.d.ts.map +1 -0
  4. package/dist/scripts/dev.d.ts +4 -0
  5. package/dist/scripts/dev.d.ts.map +1 -0
  6. package/dist/scripts/get-config.d.ts +12 -0
  7. package/dist/scripts/get-config.d.ts.map +1 -0
  8. package/dist/scripts/i18n-check.d.ts +2 -0
  9. package/dist/scripts/i18n-check.d.ts.map +1 -0
  10. package/dist/scripts/i18n-create.d.ts +20 -0
  11. package/dist/scripts/i18n-create.d.ts.map +1 -0
  12. package/dist/scripts/i18n-delete.d.ts +4 -0
  13. package/dist/scripts/i18n-delete.d.ts.map +1 -0
  14. package/dist/scripts/i18n-shared.d.ts +51 -0
  15. package/dist/scripts/i18n-shared.d.ts.map +1 -0
  16. package/dist/scripts/i18n-update.d.ts +3 -0
  17. package/dist/scripts/i18n-update.d.ts.map +1 -0
  18. package/dist/scripts/plugin.d.ts +4 -0
  19. package/dist/scripts/plugin.d.ts.map +1 -0
  20. package/dist/scripts/prepare-database.d.ts +8 -0
  21. package/dist/scripts/prepare-database.d.ts.map +1 -0
  22. package/dist/scripts/prepare-plugins-files.d.ts +2 -0
  23. package/dist/scripts/prepare-plugins-files.d.ts.map +1 -0
  24. package/dist/scripts/run-interactive-shell-command.d.ts +2 -0
  25. package/dist/scripts/run-interactive-shell-command.d.ts.map +1 -0
  26. package/dist/scripts/scripts.d.ts +3 -0
  27. package/dist/scripts/scripts.d.ts.map +1 -0
  28. package/dist/scripts/scripts.js +58 -2
  29. package/dist/scripts/shared/file-utils.d.ts +16 -0
  30. package/dist/scripts/shared/file-utils.d.ts.map +1 -0
  31. package/dist/src/api/adapters/events/local.d.ts +3 -0
  32. package/dist/src/api/adapters/events/local.d.ts.map +1 -0
  33. package/dist/src/api/adapters/events/local.js +1 -0
  34. package/dist/src/api/adapters/search/postgres.d.ts +3 -0
  35. package/dist/src/api/adapters/search/postgres.d.ts.map +1 -0
  36. package/dist/src/api/adapters/search/postgres.js +1 -0
  37. package/dist/src/api/adapters/sso/discord.d.ts +4 -7
  38. package/dist/src/api/adapters/sso/discord.d.ts.map +1 -1
  39. package/dist/src/api/adapters/sso/discord.js +1 -2
  40. package/dist/src/api/adapters/sso/facebook.d.ts +4 -7
  41. package/dist/src/api/adapters/sso/facebook.d.ts.map +1 -1
  42. package/dist/src/api/adapters/sso/facebook.js +1 -2
  43. package/dist/src/api/adapters/sso/google.d.ts +4 -7
  44. package/dist/src/api/adapters/sso/google.d.ts.map +1 -1
  45. package/dist/src/api/adapters/sso/google.js +1 -2
  46. package/dist/src/api/adapters/storage/local.d.ts +4 -7
  47. package/dist/src/api/adapters/storage/local.d.ts.map +1 -1
  48. package/dist/src/api/adapters/storage/local.js +1 -2
  49. package/dist/src/api/config.d.ts +16 -18
  50. package/dist/src/api/config.d.ts.map +1 -1
  51. package/dist/src/api/config.js +1 -2
  52. package/dist/src/api/lib/cache-client.d.ts +2 -5
  53. package/dist/src/api/lib/cache-client.d.ts.map +1 -1
  54. package/dist/src/api/lib/cache-client.js +1 -2
  55. package/dist/src/api/lib/cache.d.ts +29 -32
  56. package/dist/src/api/lib/cache.d.ts.map +1 -1
  57. package/dist/src/api/lib/cache.js +1 -2
  58. package/dist/src/api/lib/check-plugin-id.d.ts +13 -16
  59. package/dist/src/api/lib/check-plugin-id.d.ts.map +1 -1
  60. package/dist/src/api/lib/check-plugin-id.js +1 -2
  61. package/dist/src/api/lib/check-staff-permission.d.ts +14 -17
  62. package/dist/src/api/lib/check-staff-permission.d.ts.map +1 -1
  63. package/dist/src/api/lib/check-staff-permission.js +1 -2
  64. package/dist/src/api/lib/cron.d.ts +16 -17
  65. package/dist/src/api/lib/cron.d.ts.map +1 -1
  66. package/dist/src/api/lib/cron.js +1 -2
  67. package/dist/src/api/lib/events.d.ts +15 -0
  68. package/dist/src/api/lib/events.d.ts.map +1 -0
  69. package/dist/src/api/lib/events.js +1 -0
  70. package/dist/src/api/lib/logger-middleware.d.ts +6 -9
  71. package/dist/src/api/lib/logger-middleware.d.ts.map +1 -1
  72. package/dist/src/api/lib/logger-middleware.js +1 -2
  73. package/dist/src/api/lib/module.d.ts +29 -29
  74. package/dist/src/api/lib/module.d.ts.map +1 -1
  75. package/dist/src/api/lib/module.js +1 -2
  76. package/dist/src/api/lib/permission-staff.d.ts +24 -31
  77. package/dist/src/api/lib/permission-staff.d.ts.map +1 -1
  78. package/dist/src/api/lib/permission-staff.js +1 -2
  79. package/dist/src/api/lib/plugin.d.ts +24 -19
  80. package/dist/src/api/lib/plugin.d.ts.map +1 -1
  81. package/dist/src/api/lib/plugin.js +1 -2
  82. package/dist/src/api/lib/queue.d.ts +11 -14
  83. package/dist/src/api/lib/queue.d.ts.map +1 -1
  84. package/dist/src/api/lib/queue.js +1 -2
  85. package/dist/src/api/lib/resolve-role-names.d.ts +5 -8
  86. package/dist/src/api/lib/resolve-role-names.d.ts.map +1 -1
  87. package/dist/src/api/lib/resolve-role-names.js +1 -2
  88. package/dist/src/api/lib/route.d.ts +20 -23
  89. package/dist/src/api/lib/route.d.ts.map +1 -1
  90. package/dist/src/api/lib/route.js +1 -2
  91. package/dist/src/api/lib/save-language-words.d.ts +11 -0
  92. package/dist/src/api/lib/save-language-words.d.ts.map +1 -0
  93. package/dist/src/api/lib/save-language-words.js +1 -0
  94. package/dist/src/api/lib/staff-permission.d.ts +3 -6
  95. package/dist/src/api/lib/staff-permission.d.ts.map +1 -1
  96. package/dist/src/api/lib/staff-permission.js +1 -2
  97. package/dist/src/api/lib/websocket.d.ts +21 -24
  98. package/dist/src/api/lib/websocket.d.ts.map +1 -1
  99. package/dist/src/api/lib/websocket.js +1 -2
  100. package/dist/src/api/lib/with-pagination.d.ts +45 -48
  101. package/dist/src/api/lib/with-pagination.d.ts.map +1 -1
  102. package/dist/src/api/lib/with-pagination.js +1 -2
  103. package/dist/src/api/middlewares/captcha.middleware.d.ts +2 -5
  104. package/dist/src/api/middlewares/captcha.middleware.d.ts.map +1 -1
  105. package/dist/src/api/middlewares/captcha.middleware.js +1 -2
  106. package/dist/src/api/middlewares/cron-auth.middleware.d.ts +2 -5
  107. package/dist/src/api/middlewares/cron-auth.middleware.d.ts.map +1 -1
  108. package/dist/src/api/middlewares/cron-auth.middleware.js +1 -2
  109. package/dist/src/api/middlewares/global.middleware.d.ts +115 -95
  110. package/dist/src/api/middlewares/global.middleware.d.ts.map +1 -1
  111. package/dist/src/api/middlewares/global.middleware.js +1 -2
  112. package/dist/src/api/middlewares/plugin.middleware.d.ts +2 -5
  113. package/dist/src/api/middlewares/plugin.middleware.d.ts.map +1 -1
  114. package/dist/src/api/middlewares/plugin.middleware.js +1 -2
  115. package/dist/src/api/middlewares/rate-limiter.middleware.d.ts +7 -7
  116. package/dist/src/api/middlewares/rate-limiter.middleware.d.ts.map +1 -1
  117. package/dist/src/api/middlewares/rate-limiter.middleware.js +1 -2
  118. package/dist/src/api/models/device.d.ts +11 -14
  119. package/dist/src/api/models/device.d.ts.map +1 -1
  120. package/dist/src/api/models/device.js +1 -2
  121. package/dist/src/api/models/email.d.ts +41 -43
  122. package/dist/src/api/models/email.d.ts.map +1 -1
  123. package/dist/src/api/models/email.js +1 -2
  124. package/dist/src/api/models/events.d.ts +66 -0
  125. package/dist/src/api/models/events.d.ts.map +1 -0
  126. package/dist/src/api/models/events.js +1 -0
  127. package/dist/src/api/models/i18n.d.ts +15 -0
  128. package/dist/src/api/models/i18n.d.ts.map +1 -0
  129. package/dist/src/api/models/i18n.js +1 -0
  130. package/dist/src/api/models/password.d.ts +6 -9
  131. package/dist/src/api/models/password.d.ts.map +1 -1
  132. package/dist/src/api/models/password.js +1 -2
  133. package/dist/src/api/models/queue.d.ts +14 -17
  134. package/dist/src/api/models/queue.d.ts.map +1 -1
  135. package/dist/src/api/models/queue.js +1 -2
  136. package/dist/src/api/models/search.d.ts +102 -0
  137. package/dist/src/api/models/search.d.ts.map +1 -0
  138. package/dist/src/api/models/search.js +1 -0
  139. package/dist/src/api/models/session-admin.d.ts +23 -26
  140. package/dist/src/api/models/session-admin.d.ts.map +1 -1
  141. package/dist/src/api/models/session-admin.js +1 -2
  142. package/dist/src/api/models/session-cache.d.ts +7 -10
  143. package/dist/src/api/models/session-cache.d.ts.map +1 -1
  144. package/dist/src/api/models/session-cache.js +1 -2
  145. package/dist/src/api/models/session.d.ts +22 -25
  146. package/dist/src/api/models/session.d.ts.map +1 -1
  147. package/dist/src/api/models/session.js +1 -2
  148. package/dist/src/api/models/sso.d.ts +34 -37
  149. package/dist/src/api/models/sso.d.ts.map +1 -1
  150. package/dist/src/api/models/sso.js +1 -2
  151. package/dist/src/api/models/storage.d.ts +33 -36
  152. package/dist/src/api/models/storage.d.ts.map +1 -1
  153. package/dist/src/api/models/storage.js +1 -2
  154. package/dist/src/api/models/user/get-user-by-id.d.ts +15 -18
  155. package/dist/src/api/models/user/get-user-by-id.d.ts.map +1 -1
  156. package/dist/src/api/models/user/get-user-by-id.js +1 -2
  157. package/dist/src/api/models/user/get-user-by-name-code.d.ts +15 -18
  158. package/dist/src/api/models/user/get-user-by-name-code.d.ts.map +1 -1
  159. package/dist/src/api/models/user/get-user-by-name-code.js +1 -2
  160. package/dist/src/api/models/user/sign-in-with-passwords.d.ts +7 -10
  161. package/dist/src/api/models/user/sign-in-with-passwords.d.ts.map +1 -1
  162. package/dist/src/api/models/user/sign-in-with-passwords.js +1 -2
  163. package/dist/src/api/models/user/sign-up.d.ts +18 -21
  164. package/dist/src/api/models/user/sign-up.d.ts.map +1 -1
  165. package/dist/src/api/models/user/sign-up.js +1 -2
  166. package/dist/src/api/models/user.d.ts +60 -63
  167. package/dist/src/api/models/user.d.ts.map +1 -1
  168. package/dist/src/api/models/user.js +1 -2
  169. package/dist/src/api/modules/admin/admin.module.d.ts +1510 -1307
  170. package/dist/src/api/modules/admin/admin.module.d.ts.map +1 -1
  171. package/dist/src/api/modules/admin/admin.module.js +1 -2
  172. package/dist/src/api/modules/admin/advanced/advanced.admin.module.d.ts +150 -155
  173. package/dist/src/api/modules/admin/advanced/advanced.admin.module.d.ts.map +1 -1
  174. package/dist/src/api/modules/admin/advanced/advanced.admin.module.js +1 -2
  175. package/dist/src/api/modules/admin/advanced/cron/cron.admin.module.d.ts +91 -96
  176. package/dist/src/api/modules/admin/advanced/cron/cron.admin.module.d.ts.map +1 -1
  177. package/dist/src/api/modules/admin/advanced/cron/cron.admin.module.js +1 -2
  178. package/dist/src/api/modules/admin/advanced/cron/routes/get.route.d.ts +49 -53
  179. package/dist/src/api/modules/admin/advanced/cron/routes/get.route.d.ts.map +1 -1
  180. package/dist/src/api/modules/admin/advanced/cron/routes/get.route.js +1 -2
  181. package/dist/src/api/modules/admin/advanced/cron/routes/run.route.d.ts +42 -46
  182. package/dist/src/api/modules/admin/advanced/cron/routes/run.route.d.ts.map +1 -1
  183. package/dist/src/api/modules/admin/advanced/cron/routes/run.route.js +1 -2
  184. package/dist/src/api/modules/admin/advanced/queue/queue.admin.module.d.ts +60 -65
  185. package/dist/src/api/modules/admin/advanced/queue/queue.admin.module.d.ts.map +1 -1
  186. package/dist/src/api/modules/admin/advanced/queue/queue.admin.module.js +1 -2
  187. package/dist/src/api/modules/admin/advanced/queue/routes/get.route.d.ts +59 -63
  188. package/dist/src/api/modules/admin/advanced/queue/routes/get.route.d.ts.map +1 -1
  189. package/dist/src/api/modules/admin/advanced/queue/routes/get.route.js +1 -2
  190. package/dist/src/api/modules/admin/debug/debug.admin.module.d.ts +261 -207
  191. package/dist/src/api/modules/admin/debug/debug.admin.module.d.ts.map +1 -1
  192. package/dist/src/api/modules/admin/debug/debug.admin.module.js +1 -2
  193. package/dist/src/api/modules/admin/debug/routes/integrations.route.d.ts +50 -54
  194. package/dist/src/api/modules/admin/debug/routes/integrations.route.d.ts.map +1 -1
  195. package/dist/src/api/modules/admin/debug/routes/integrations.route.js +1 -2
  196. package/dist/src/api/modules/admin/debug/routes/logs.route.d.ts +60 -64
  197. package/dist/src/api/modules/admin/debug/routes/logs.route.d.ts.map +1 -1
  198. package/dist/src/api/modules/admin/debug/routes/logs.route.js +1 -2
  199. package/dist/src/api/modules/admin/debug/routes/queue.route.d.ts +36 -40
  200. package/dist/src/api/modules/admin/debug/routes/queue.route.d.ts.map +1 -1
  201. package/dist/src/api/modules/admin/debug/routes/queue.route.js +1 -2
  202. package/dist/src/api/modules/admin/debug/routes/rebuild-search.route.d.ts +36 -0
  203. package/dist/src/api/modules/admin/debug/routes/rebuild-search.route.d.ts.map +1 -0
  204. package/dist/src/api/modules/admin/debug/routes/rebuild-search.route.js +1 -0
  205. package/dist/src/api/modules/admin/debug/routes/search-status.route.d.ts +32 -0
  206. package/dist/src/api/modules/admin/debug/routes/search-status.route.d.ts.map +1 -0
  207. package/dist/src/api/modules/admin/debug/routes/search-status.route.js +1 -0
  208. package/dist/src/api/modules/admin/debug/routes/send-test-email.route.d.ts +36 -40
  209. package/dist/src/api/modules/admin/debug/routes/send-test-email.route.d.ts.map +1 -1
  210. package/dist/src/api/modules/admin/debug/routes/send-test-email.route.js +1 -2
  211. package/dist/src/api/modules/admin/debug/routes/test-storage-upload.route.d.ts +30 -34
  212. package/dist/src/api/modules/admin/debug/routes/test-storage-upload.route.d.ts.map +1 -1
  213. package/dist/src/api/modules/admin/debug/routes/test-storage-upload.route.js +1 -2
  214. package/dist/src/api/modules/admin/files/files.admin.module.d.ts +116 -121
  215. package/dist/src/api/modules/admin/files/files.admin.module.d.ts.map +1 -1
  216. package/dist/src/api/modules/admin/files/files.admin.module.js +1 -2
  217. package/dist/src/api/modules/admin/files/routes/delete.route.d.ts +22 -26
  218. package/dist/src/api/modules/admin/files/routes/delete.route.d.ts.map +1 -1
  219. package/dist/src/api/modules/admin/files/routes/delete.route.js +1 -2
  220. package/dist/src/api/modules/admin/files/routes/download.route.d.ts +27 -31
  221. package/dist/src/api/modules/admin/files/routes/download.route.d.ts.map +1 -1
  222. package/dist/src/api/modules/admin/files/routes/download.route.js +1 -2
  223. package/dist/src/api/modules/admin/files/routes/list.route.d.ts +66 -70
  224. package/dist/src/api/modules/admin/files/routes/list.route.d.ts.map +1 -1
  225. package/dist/src/api/modules/admin/files/routes/list.route.js +1 -2
  226. package/dist/src/api/modules/admin/roles/lib/assert-manage-admin-role.d.ts +6 -0
  227. package/dist/src/api/modules/admin/roles/lib/assert-manage-admin-role.d.ts.map +1 -0
  228. package/dist/src/api/modules/admin/roles/lib/assert-manage-admin-role.js +1 -0
  229. package/dist/src/api/modules/admin/roles/roles.admin.module.d.ts +250 -106
  230. package/dist/src/api/modules/admin/roles/roles.admin.module.d.ts.map +1 -1
  231. package/dist/src/api/modules/admin/roles/roles.admin.module.js +1 -2
  232. package/dist/src/api/modules/admin/roles/routes/create.route.d.ts +58 -0
  233. package/dist/src/api/modules/admin/roles/routes/create.route.d.ts.map +1 -0
  234. package/dist/src/api/modules/admin/roles/routes/create.route.js +1 -0
  235. package/dist/src/api/modules/admin/roles/routes/delete.route.d.ts +52 -0
  236. package/dist/src/api/modules/admin/roles/routes/delete.route.d.ts.map +1 -0
  237. package/dist/src/api/modules/admin/roles/routes/delete.route.js +1 -0
  238. package/dist/src/api/modules/admin/roles/routes/list.route.d.ts +61 -61
  239. package/dist/src/api/modules/admin/roles/routes/list.route.d.ts.map +1 -1
  240. package/dist/src/api/modules/admin/roles/routes/list.route.js +1 -2
  241. package/dist/src/api/modules/admin/roles/routes/show.route.d.ts +46 -47
  242. package/dist/src/api/modules/admin/roles/routes/show.route.d.ts.map +1 -1
  243. package/dist/src/api/modules/admin/roles/routes/show.route.js +1 -2
  244. package/dist/src/api/modules/admin/roles/routes/update.route.d.ts +66 -0
  245. package/dist/src/api/modules/admin/roles/routes/update.route.d.ts.map +1 -0
  246. package/dist/src/api/modules/admin/roles/routes/update.route.js +1 -0
  247. package/dist/src/api/modules/admin/routes/notifications.route.d.ts +47 -51
  248. package/dist/src/api/modules/admin/routes/notifications.route.d.ts.map +1 -1
  249. package/dist/src/api/modules/admin/routes/notifications.route.js +1 -2
  250. package/dist/src/api/modules/admin/routes/session.route.d.ts +39 -43
  251. package/dist/src/api/modules/admin/routes/session.route.d.ts.map +1 -1
  252. package/dist/src/api/modules/admin/routes/session.route.js +1 -2
  253. package/dist/src/api/modules/admin/staff/lib/resolve-staff-edges.d.ts +29 -34
  254. package/dist/src/api/modules/admin/staff/lib/resolve-staff-edges.d.ts.map +1 -1
  255. package/dist/src/api/modules/admin/staff/lib/resolve-staff-edges.js +1 -2
  256. package/dist/src/api/modules/admin/staff/lib/schema.d.ts +82 -85
  257. package/dist/src/api/modules/admin/staff/lib/schema.d.ts.map +1 -1
  258. package/dist/src/api/modules/admin/staff/lib/schema.js +1 -2
  259. package/dist/src/api/modules/admin/staff/routes/admins.route.d.ts +71 -75
  260. package/dist/src/api/modules/admin/staff/routes/admins.route.d.ts.map +1 -1
  261. package/dist/src/api/modules/admin/staff/routes/admins.route.js +1 -2
  262. package/dist/src/api/modules/admin/staff/routes/create.route.d.ts +43 -47
  263. package/dist/src/api/modules/admin/staff/routes/create.route.d.ts.map +1 -1
  264. package/dist/src/api/modules/admin/staff/routes/create.route.js +1 -2
  265. package/dist/src/api/modules/admin/staff/routes/delete.route.d.ts +29 -33
  266. package/dist/src/api/modules/admin/staff/routes/delete.route.d.ts.map +1 -1
  267. package/dist/src/api/modules/admin/staff/routes/delete.route.js +1 -2
  268. package/dist/src/api/modules/admin/staff/routes/moderators.route.d.ts +71 -75
  269. package/dist/src/api/modules/admin/staff/routes/moderators.route.d.ts.map +1 -1
  270. package/dist/src/api/modules/admin/staff/routes/moderators.route.js +1 -2
  271. package/dist/src/api/modules/admin/staff/routes/permission-catalog.route.d.ts +26 -30
  272. package/dist/src/api/modules/admin/staff/routes/permission-catalog.route.d.ts.map +1 -1
  273. package/dist/src/api/modules/admin/staff/routes/permission-catalog.route.js +1 -2
  274. package/dist/src/api/modules/admin/staff/routes/show-permissions.route.d.ts +68 -72
  275. package/dist/src/api/modules/admin/staff/routes/show-permissions.route.d.ts.map +1 -1
  276. package/dist/src/api/modules/admin/staff/routes/show-permissions.route.js +1 -2
  277. package/dist/src/api/modules/admin/staff/routes/update-permissions.route.d.ts +53 -57
  278. package/dist/src/api/modules/admin/staff/routes/update-permissions.route.d.ts.map +1 -1
  279. package/dist/src/api/modules/admin/staff/routes/update-permissions.route.js +1 -2
  280. package/dist/src/api/modules/admin/staff/staff.admin.module.d.ts +362 -367
  281. package/dist/src/api/modules/admin/staff/staff.admin.module.d.ts.map +1 -1
  282. package/dist/src/api/modules/admin/staff/staff.admin.module.js +1 -2
  283. package/dist/src/api/modules/admin/users/lib/assert-edit-user-permission.d.ts +3 -6
  284. package/dist/src/api/modules/admin/users/lib/assert-edit-user-permission.d.ts.map +1 -1
  285. package/dist/src/api/modules/admin/users/lib/assert-edit-user-permission.js +1 -2
  286. package/dist/src/api/modules/admin/users/routes/create.route.d.ts +39 -43
  287. package/dist/src/api/modules/admin/users/routes/create.route.d.ts.map +1 -1
  288. package/dist/src/api/modules/admin/users/routes/create.route.js +1 -2
  289. package/dist/src/api/modules/admin/users/routes/list.route.d.ts +68 -72
  290. package/dist/src/api/modules/admin/users/routes/list.route.d.ts.map +1 -1
  291. package/dist/src/api/modules/admin/users/routes/list.route.js +1 -2
  292. package/dist/src/api/modules/admin/users/routes/show.route.d.ts +59 -63
  293. package/dist/src/api/modules/admin/users/routes/show.route.d.ts.map +1 -1
  294. package/dist/src/api/modules/admin/users/routes/show.route.js +1 -2
  295. package/dist/src/api/modules/admin/users/routes/update.route.d.ts +71 -75
  296. package/dist/src/api/modules/admin/users/routes/update.route.d.ts.map +1 -1
  297. package/dist/src/api/modules/admin/users/routes/update.route.js +1 -2
  298. package/dist/src/api/modules/admin/users/routes/users.route.d.ts +55 -59
  299. package/dist/src/api/modules/admin/users/routes/users.route.d.ts.map +1 -1
  300. package/dist/src/api/modules/admin/users/routes/users.route.js +1 -2
  301. package/dist/src/api/modules/admin/users/routes/verify-email.route.d.ts +33 -37
  302. package/dist/src/api/modules/admin/users/routes/verify-email.route.d.ts.map +1 -1
  303. package/dist/src/api/modules/admin/users/routes/verify-email.route.js +1 -2
  304. package/dist/src/api/modules/admin/users/users.admin.module.d.ts +261 -266
  305. package/dist/src/api/modules/admin/users/users.admin.module.d.ts.map +1 -1
  306. package/dist/src/api/modules/admin/users/users.admin.module.js +1 -2
  307. package/dist/src/api/modules/cron/cron/clean.cron.d.ts +1 -5
  308. package/dist/src/api/modules/cron/cron/clean.cron.d.ts.map +1 -1
  309. package/dist/src/api/modules/cron/cron/clean.cron.js +1 -2
  310. package/dist/src/api/modules/cron/cron.module.d.ts +18 -23
  311. package/dist/src/api/modules/cron/cron.module.d.ts.map +1 -1
  312. package/dist/src/api/modules/cron/cron.module.js +1 -2
  313. package/dist/src/api/modules/cron/helpers/process-cron-jobs.d.ts +28 -30
  314. package/dist/src/api/modules/cron/helpers/process-cron-jobs.d.ts.map +1 -1
  315. package/dist/src/api/modules/cron/helpers/process-cron-jobs.js +1 -2
  316. package/dist/src/api/modules/cron/helpers/register-cron-jobs.d.ts +4 -0
  317. package/dist/src/api/modules/cron/helpers/register-cron-jobs.d.ts.map +1 -0
  318. package/dist/src/api/modules/cron/helpers/register-cron-jobs.js +1 -0
  319. package/dist/src/api/modules/cron/routes/cron.route.d.ts +18 -22
  320. package/dist/src/api/modules/cron/routes/cron.route.d.ts.map +1 -1
  321. package/dist/src/api/modules/cron/routes/cron.route.js +1 -2
  322. package/dist/src/api/modules/middleware/middleware.module.d.ts +27 -32
  323. package/dist/src/api/modules/middleware/middleware.module.d.ts.map +1 -1
  324. package/dist/src/api/modules/middleware/middleware.module.js +1 -2
  325. package/dist/src/api/modules/middleware/route.d.ts +41 -45
  326. package/dist/src/api/modules/middleware/route.d.ts.map +1 -1
  327. package/dist/src/api/modules/middleware/route.js +1 -2
  328. package/dist/src/api/modules/queue/cron/process-queue.cron.d.ts +1 -5
  329. package/dist/src/api/modules/queue/cron/process-queue.cron.d.ts.map +1 -1
  330. package/dist/src/api/modules/queue/cron/process-queue.cron.js +1 -2
  331. package/dist/src/api/modules/queue/helpers/process-queue-tasks.d.ts +3 -6
  332. package/dist/src/api/modules/queue/helpers/process-queue-tasks.d.ts.map +1 -1
  333. package/dist/src/api/modules/queue/helpers/process-queue-tasks.js +1 -2
  334. package/dist/src/api/modules/queue/queue.module.d.ts +1 -6
  335. package/dist/src/api/modules/queue/queue.module.d.ts.map +1 -1
  336. package/dist/src/api/modules/queue/queue.module.js +1 -2
  337. package/dist/src/api/modules/queue/tasks/send-email.task.d.ts +9 -13
  338. package/dist/src/api/modules/queue/tasks/send-email.task.d.ts.map +1 -1
  339. package/dist/src/api/modules/queue/tasks/send-email.task.js +1 -2
  340. package/dist/src/api/modules/search/routes/search.route.d.ts +91 -0
  341. package/dist/src/api/modules/search/routes/search.route.d.ts.map +1 -0
  342. package/dist/src/api/modules/search/routes/search.route.js +1 -0
  343. package/dist/src/api/modules/search/search.module.d.ts +68 -0
  344. package/dist/src/api/modules/search/search.module.d.ts.map +1 -0
  345. package/dist/src/api/modules/search/search.module.js +1 -0
  346. package/dist/src/api/modules/search/tasks/rebuild-index.task.d.ts +2 -0
  347. package/dist/src/api/modules/search/tasks/rebuild-index.task.d.ts.map +1 -0
  348. package/dist/src/api/modules/search/tasks/rebuild-index.task.js +1 -0
  349. package/dist/src/api/modules/users/avatar-color.d.ts +1 -4
  350. package/dist/src/api/modules/users/avatar-color.d.ts.map +1 -1
  351. package/dist/src/api/modules/users/avatar-color.js +1 -2
  352. package/dist/src/api/modules/users/files/files.module.d.ts +112 -117
  353. package/dist/src/api/modules/users/files/files.module.d.ts.map +1 -1
  354. package/dist/src/api/modules/users/files/files.module.js +1 -2
  355. package/dist/src/api/modules/users/files/routes/delete.route.d.ts +25 -29
  356. package/dist/src/api/modules/users/files/routes/delete.route.d.ts.map +1 -1
  357. package/dist/src/api/modules/users/files/routes/delete.route.js +1 -2
  358. package/dist/src/api/modules/users/files/routes/download.route.d.ts +30 -34
  359. package/dist/src/api/modules/users/files/routes/download.route.d.ts.map +1 -1
  360. package/dist/src/api/modules/users/files/routes/download.route.js +1 -2
  361. package/dist/src/api/modules/users/files/routes/list.route.d.ts +56 -60
  362. package/dist/src/api/modules/users/files/routes/list.route.d.ts.map +1 -1
  363. package/dist/src/api/modules/users/files/routes/list.route.js +1 -2
  364. package/dist/src/api/modules/users/routes/change-password.route.d.ts +27 -31
  365. package/dist/src/api/modules/users/routes/change-password.route.d.ts.map +1 -1
  366. package/dist/src/api/modules/users/routes/change-password.route.js +1 -2
  367. package/dist/src/api/modules/users/routes/devices.route.d.ts +34 -0
  368. package/dist/src/api/modules/users/routes/devices.route.d.ts.map +1 -0
  369. package/dist/src/api/modules/users/routes/devices.route.js +1 -0
  370. package/dist/src/api/modules/users/routes/permissions.route.d.ts +21 -25
  371. package/dist/src/api/modules/users/routes/permissions.route.d.ts.map +1 -1
  372. package/dist/src/api/modules/users/routes/permissions.route.js +1 -2
  373. package/dist/src/api/modules/users/routes/reset-passowrd.route.d.ts +21 -25
  374. package/dist/src/api/modules/users/routes/reset-passowrd.route.d.ts.map +1 -1
  375. package/dist/src/api/modules/users/routes/reset-passowrd.route.js +1 -2
  376. package/dist/src/api/modules/users/routes/revoke-device.route.d.ts +42 -0
  377. package/dist/src/api/modules/users/routes/revoke-device.route.d.ts.map +1 -0
  378. package/dist/src/api/modules/users/routes/revoke-device.route.js +1 -0
  379. package/dist/src/api/modules/users/routes/session.route.d.ts +29 -33
  380. package/dist/src/api/modules/users/routes/session.route.d.ts.map +1 -1
  381. package/dist/src/api/modules/users/routes/session.route.js +1 -2
  382. package/dist/src/api/modules/users/routes/sign-in.route.d.ts +37 -41
  383. package/dist/src/api/modules/users/routes/sign-in.route.d.ts.map +1 -1
  384. package/dist/src/api/modules/users/routes/sign-in.route.js +1 -2
  385. package/dist/src/api/modules/users/routes/sign-out.route.d.ts +21 -25
  386. package/dist/src/api/modules/users/routes/sign-out.route.d.ts.map +1 -1
  387. package/dist/src/api/modules/users/routes/sign-out.route.js +1 -2
  388. package/dist/src/api/modules/users/routes/sign-up.route.d.ts +44 -48
  389. package/dist/src/api/modules/users/routes/sign-up.route.d.ts.map +1 -1
  390. package/dist/src/api/modules/users/routes/sign-up.route.js +1 -2
  391. package/dist/src/api/modules/users/routes/test.route.d.ts +21 -25
  392. package/dist/src/api/modules/users/routes/test.route.d.ts.map +1 -1
  393. package/dist/src/api/modules/users/routes/test.route.js +1 -2
  394. package/dist/src/api/modules/users/sso/routes/callback.route.d.ts +29 -33
  395. package/dist/src/api/modules/users/sso/routes/callback.route.d.ts.map +1 -1
  396. package/dist/src/api/modules/users/sso/routes/callback.route.js +1 -2
  397. package/dist/src/api/modules/users/sso/routes/create-url.route.d.ts +21 -25
  398. package/dist/src/api/modules/users/sso/routes/create-url.route.d.ts.map +1 -1
  399. package/dist/src/api/modules/users/sso/routes/create-url.route.js +1 -2
  400. package/dist/src/api/modules/users/sso/sso.module.d.ts +49 -54
  401. package/dist/src/api/modules/users/sso/sso.module.d.ts.map +1 -1
  402. package/dist/src/api/modules/users/sso/sso.module.js +1 -2
  403. package/dist/src/api/modules/users/users.module.d.ts +439 -374
  404. package/dist/src/api/modules/users/users.module.d.ts.map +1 -1
  405. package/dist/src/api/modules/users/users.module.js +1 -2
  406. package/dist/src/api/plugin.d.ts +1 -5
  407. package/dist/src/api/plugin.d.ts.map +1 -1
  408. package/dist/src/api/plugin.js +1 -2
  409. package/dist/src/components/avatar.d.ts +7 -10
  410. package/dist/src/components/avatar.d.ts.map +1 -1
  411. package/dist/src/components/avatar.js +1 -2
  412. package/dist/src/components/confirm-action/confirm-action-alert-dialog.d.ts +10 -12
  413. package/dist/src/components/confirm-action/confirm-action-alert-dialog.d.ts.map +1 -1
  414. package/dist/src/components/confirm-action/confirm-action-alert-dialog.js +1 -2
  415. package/dist/src/components/confirm-action/content.d.ts +5 -8
  416. package/dist/src/components/confirm-action/content.d.ts.map +1 -1
  417. package/dist/src/components/confirm-action/content.js +1 -2
  418. package/dist/src/components/date-format.d.ts +4 -7
  419. package/dist/src/components/date-format.d.ts.map +1 -1
  420. package/dist/src/components/date-format.js +1 -2
  421. package/dist/src/components/files/file-preview.d.ts +4 -7
  422. package/dist/src/components/files/file-preview.d.ts.map +1 -1
  423. package/dist/src/components/files/file-preview.js +1 -2
  424. package/dist/src/components/files/metadata-cell.d.ts +4 -7
  425. package/dist/src/components/files/metadata-cell.d.ts.map +1 -1
  426. package/dist/src/components/files/metadata-cell.js +1 -2
  427. package/dist/src/components/form/auto-form.d.ts +48 -41
  428. package/dist/src/components/form/auto-form.d.ts.map +1 -1
  429. package/dist/src/components/form/auto-form.js +1 -2
  430. package/dist/src/components/form/common/desc.d.ts +1 -4
  431. package/dist/src/components/form/common/desc.d.ts.map +1 -1
  432. package/dist/src/components/form/common/desc.js +1 -2
  433. package/dist/src/components/form/common/label.d.ts +4 -7
  434. package/dist/src/components/form/common/label.d.ts.map +1 -1
  435. package/dist/src/components/form/common/label.js +1 -2
  436. package/dist/src/components/form/fields/array.d.ts +15 -18
  437. package/dist/src/components/form/fields/array.d.ts.map +1 -1
  438. package/dist/src/components/form/fields/array.js +1 -2
  439. package/dist/src/components/form/fields/checkbox.d.ts +3 -6
  440. package/dist/src/components/form/fields/checkbox.d.ts.map +1 -1
  441. package/dist/src/components/form/fields/checkbox.js +1 -2
  442. package/dist/src/components/form/fields/color.d.ts +5 -0
  443. package/dist/src/components/form/fields/color.d.ts.map +1 -0
  444. package/dist/src/components/form/fields/color.js +1 -0
  445. package/dist/src/components/form/fields/combobox.d.ts +20 -22
  446. package/dist/src/components/form/fields/combobox.d.ts.map +1 -1
  447. package/dist/src/components/form/fields/combobox.js +1 -2
  448. package/dist/src/components/form/fields/editor.d.ts +8 -7
  449. package/dist/src/components/form/fields/editor.d.ts.map +1 -1
  450. package/dist/src/components/form/fields/editor.js +1 -2
  451. package/dist/src/components/form/fields/input.d.ts +7 -6
  452. package/dist/src/components/form/fields/input.d.ts.map +1 -1
  453. package/dist/src/components/form/fields/input.js +1 -2
  454. package/dist/src/components/form/fields/multi-lang.d.ts +18 -0
  455. package/dist/src/components/form/fields/multi-lang.d.ts.map +1 -0
  456. package/dist/src/components/form/fields/multi-lang.js +1 -0
  457. package/dist/src/components/form/fields/nullable-number.d.ts +11 -0
  458. package/dist/src/components/form/fields/nullable-number.d.ts.map +1 -0
  459. package/dist/src/components/form/fields/nullable-number.js +1 -0
  460. package/dist/src/components/form/fields/radio-group.d.ts +11 -13
  461. package/dist/src/components/form/fields/radio-group.d.ts.map +1 -1
  462. package/dist/src/components/form/fields/radio-group.js +1 -2
  463. package/dist/src/components/form/fields/select.d.ts +9 -12
  464. package/dist/src/components/form/fields/select.d.ts.map +1 -1
  465. package/dist/src/components/form/fields/select.js +1 -2
  466. package/dist/src/components/form/fields/switch.d.ts +3 -6
  467. package/dist/src/components/form/fields/switch.d.ts.map +1 -1
  468. package/dist/src/components/form/fields/switch.js +1 -2
  469. package/dist/src/components/form/fields/textarea.d.ts +6 -9
  470. package/dist/src/components/form/fields/textarea.d.ts.map +1 -1
  471. package/dist/src/components/form/fields/textarea.js +1 -2
  472. package/dist/src/components/i18n-provider.d.ts +4 -7
  473. package/dist/src/components/i18n-provider.d.ts.map +1 -1
  474. package/dist/src/components/i18n-provider.js +1 -2
  475. package/dist/src/components/languages-provider.d.ts +8 -0
  476. package/dist/src/components/languages-provider.d.ts.map +1 -0
  477. package/dist/src/components/languages-provider.js +1 -0
  478. package/dist/src/components/logo-vitnode.d.ts +2 -5
  479. package/dist/src/components/logo-vitnode.d.ts.map +1 -1
  480. package/dist/src/components/logo-vitnode.js +1 -2
  481. package/dist/src/components/role-format.d.ts +9 -12
  482. package/dist/src/components/role-format.d.ts.map +1 -1
  483. package/dist/src/components/role-format.js +1 -2
  484. package/dist/src/components/staff-permission/provider.d.ts +9 -12
  485. package/dist/src/components/staff-permission/provider.d.ts.map +1 -1
  486. package/dist/src/components/staff-permission/provider.js +1 -2
  487. package/dist/src/components/switchers/langs/language-switcher.d.ts +3 -6
  488. package/dist/src/components/switchers/langs/language-switcher.d.ts.map +1 -1
  489. package/dist/src/components/switchers/langs/language-switcher.js +1 -2
  490. package/dist/src/components/switchers/themes/theme-switcher.d.ts +1 -4
  491. package/dist/src/components/switchers/themes/theme-switcher.d.ts.map +1 -1
  492. package/dist/src/components/switchers/themes/theme-switcher.js +1 -2
  493. package/dist/src/components/table/content.d.ts +2 -5
  494. package/dist/src/components/table/content.d.ts.map +1 -1
  495. package/dist/src/components/table/content.js +1 -2
  496. package/dist/src/components/table/data-table.d.ts +46 -48
  497. package/dist/src/components/table/data-table.d.ts.map +1 -1
  498. package/dist/src/components/table/data-table.js +1 -2
  499. package/dist/src/components/table/filters.d.ts +11 -14
  500. package/dist/src/components/table/filters.d.ts.map +1 -1
  501. package/dist/src/components/table/filters.js +1 -2
  502. package/dist/src/components/table/order-table-head.d.ts +4 -7
  503. package/dist/src/components/table/order-table-head.d.ts.map +1 -1
  504. package/dist/src/components/table/order-table-head.js +1 -2
  505. package/dist/src/components/table/pagination.d.ts +9 -12
  506. package/dist/src/components/table/pagination.d.ts.map +1 -1
  507. package/dist/src/components/table/pagination.js +1 -2
  508. package/dist/src/components/table/search.d.ts +2 -5
  509. package/dist/src/components/table/search.d.ts.map +1 -1
  510. package/dist/src/components/table/search.js +1 -2
  511. package/dist/src/components/theme-provider.d.ts +21 -23
  512. package/dist/src/components/theme-provider.d.ts.map +1 -1
  513. package/dist/src/components/theme-provider.js +1 -2
  514. package/dist/src/components/tiptap/extension.d.ts +3 -6
  515. package/dist/src/components/tiptap/extension.d.ts.map +1 -1
  516. package/dist/src/components/tiptap/extension.js +1 -2
  517. package/dist/src/components/tiptap/toolbar/actions/alignment-action.d.ts +1 -4
  518. package/dist/src/components/tiptap/toolbar/actions/alignment-action.d.ts.map +1 -1
  519. package/dist/src/components/tiptap/toolbar/actions/alignment-action.js +1 -2
  520. package/dist/src/components/tiptap/toolbar/actions/bold-action.d.ts +1 -4
  521. package/dist/src/components/tiptap/toolbar/actions/bold-action.d.ts.map +1 -1
  522. package/dist/src/components/tiptap/toolbar/actions/bold-action.js +1 -2
  523. package/dist/src/components/tiptap/toolbar/actions/headings-action.d.ts +1 -4
  524. package/dist/src/components/tiptap/toolbar/actions/headings-action.d.ts.map +1 -1
  525. package/dist/src/components/tiptap/toolbar/actions/headings-action.js +1 -2
  526. package/dist/src/components/tiptap/toolbar/actions/italic-action.d.ts +1 -4
  527. package/dist/src/components/tiptap/toolbar/actions/italic-action.d.ts.map +1 -1
  528. package/dist/src/components/tiptap/toolbar/actions/italic-action.js +1 -2
  529. package/dist/src/components/tiptap/toolbar/actions/list-action.d.ts +1 -4
  530. package/dist/src/components/tiptap/toolbar/actions/list-action.d.ts.map +1 -1
  531. package/dist/src/components/tiptap/toolbar/actions/list-action.js +1 -2
  532. package/dist/src/components/tiptap/toolbar/actions/text-format-more/text-format-more.d.ts +1 -4
  533. package/dist/src/components/tiptap/toolbar/actions/text-format-more/text-format-more.d.ts.map +1 -1
  534. package/dist/src/components/tiptap/toolbar/actions/text-format-more/text-format-more.js +1 -2
  535. package/dist/src/components/tiptap/toolbar/actions/underline-action.d.ts +1 -4
  536. package/dist/src/components/tiptap/toolbar/actions/underline-action.d.ts.map +1 -1
  537. package/dist/src/components/tiptap/toolbar/actions/underline-action.js +1 -2
  538. package/dist/src/components/tiptap/toolbar/actions/undo-redo-actions.d.ts +1 -4
  539. package/dist/src/components/tiptap/toolbar/actions/undo-redo-actions.d.ts.map +1 -1
  540. package/dist/src/components/tiptap/toolbar/actions/undo-redo-actions.js +1 -2
  541. package/dist/src/components/tiptap/toolbar/actions/utils/tooltip-shortcut.d.ts +2 -5
  542. package/dist/src/components/tiptap/toolbar/actions/utils/tooltip-shortcut.d.ts.map +1 -1
  543. package/dist/src/components/tiptap/toolbar/actions/utils/tooltip-shortcut.js +1 -2
  544. package/dist/src/components/tiptap/toolbar/tiptap-toolbar.d.ts +3 -6
  545. package/dist/src/components/tiptap/toolbar/tiptap-toolbar.d.ts.map +1 -1
  546. package/dist/src/components/tiptap/toolbar/tiptap-toolbar.js +1 -2
  547. package/dist/src/components/tiptap/toolbar/use-toolbar-editor.d.ts +5 -8
  548. package/dist/src/components/tiptap/toolbar/use-toolbar-editor.d.ts.map +1 -1
  549. package/dist/src/components/tiptap/toolbar/use-toolbar-editor.js +1 -2
  550. package/dist/src/components/ui/accordion.d.ts +5 -7
  551. package/dist/src/components/ui/accordion.d.ts.map +1 -1
  552. package/dist/src/components/ui/accordion.js +1 -2
  553. package/dist/src/components/ui/alert-dialog.d.ts +14 -16
  554. package/dist/src/components/ui/alert-dialog.d.ts.map +1 -1
  555. package/dist/src/components/ui/alert-dialog.js +1 -2
  556. package/dist/src/components/ui/alert.d.ts +2 -4
  557. package/dist/src/components/ui/alert.d.ts.map +1 -1
  558. package/dist/src/components/ui/alert.js +1 -2
  559. package/dist/src/components/ui/aspect-ratio.d.ts +1 -3
  560. package/dist/src/components/ui/aspect-ratio.d.ts.map +1 -1
  561. package/dist/src/components/ui/aspect-ratio.js +1 -2
  562. package/dist/src/components/ui/attachment.d.ts +18 -20
  563. package/dist/src/components/ui/attachment.d.ts.map +1 -1
  564. package/dist/src/components/ui/attachment.js +1 -2
  565. package/dist/src/components/ui/avatar.d.ts +6 -8
  566. package/dist/src/components/ui/avatar.d.ts.map +1 -1
  567. package/dist/src/components/ui/avatar.js +1 -2
  568. package/dist/src/components/ui/badge.d.ts +2 -4
  569. package/dist/src/components/ui/badge.d.ts.map +1 -1
  570. package/dist/src/components/ui/badge.js +1 -2
  571. package/dist/src/components/ui/breadcrumb.d.ts +2 -4
  572. package/dist/src/components/ui/breadcrumb.d.ts.map +1 -1
  573. package/dist/src/components/ui/breadcrumb.js +1 -2
  574. package/dist/src/components/ui/button-client.d.ts +2 -5
  575. package/dist/src/components/ui/button-client.d.ts.map +1 -1
  576. package/dist/src/components/ui/button-client.js +1 -2
  577. package/dist/src/components/ui/button-group.d.ts +4 -6
  578. package/dist/src/components/ui/button-group.d.ts.map +1 -1
  579. package/dist/src/components/ui/button-group.js +1 -2
  580. package/dist/src/components/ui/button.d.ts +11 -13
  581. package/dist/src/components/ui/button.d.ts.map +1 -1
  582. package/dist/src/components/ui/button.js +1 -2
  583. package/dist/src/components/ui/card.d.ts +2 -4
  584. package/dist/src/components/ui/card.d.ts.map +1 -1
  585. package/dist/src/components/ui/card.js +1 -2
  586. package/dist/src/components/ui/carousel.d.ts +13 -15
  587. package/dist/src/components/ui/carousel.d.ts.map +1 -1
  588. package/dist/src/components/ui/carousel.js +1 -2
  589. package/dist/src/components/ui/chart.d.ts +29 -30
  590. package/dist/src/components/ui/chart.d.ts.map +1 -1
  591. package/dist/src/components/ui/chart.js +4 -7
  592. package/dist/src/components/ui/checkbox.d.ts +2 -4
  593. package/dist/src/components/ui/checkbox.d.ts.map +1 -1
  594. package/dist/src/components/ui/checkbox.js +1 -2
  595. package/dist/src/components/ui/collapsible.d.ts +4 -6
  596. package/dist/src/components/ui/collapsible.d.ts.map +1 -1
  597. package/dist/src/components/ui/collapsible.js +1 -2
  598. package/dist/src/components/ui/color-picker.d.ts +8 -0
  599. package/dist/src/components/ui/color-picker.d.ts.map +1 -0
  600. package/dist/src/components/ui/color-picker.js +1 -0
  601. package/dist/src/components/ui/combobox.d.ts +20 -22
  602. package/dist/src/components/ui/combobox.d.ts.map +1 -1
  603. package/dist/src/components/ui/combobox.js +1 -2
  604. package/dist/src/components/ui/command.d.ts +14 -16
  605. package/dist/src/components/ui/command.d.ts.map +1 -1
  606. package/dist/src/components/ui/command.js +1 -2
  607. package/dist/src/components/ui/context-menu.d.ts +21 -23
  608. package/dist/src/components/ui/context-menu.d.ts.map +1 -1
  609. package/dist/src/components/ui/context-menu.js +1 -2
  610. package/dist/src/components/ui/dialog.d.ts +19 -21
  611. package/dist/src/components/ui/dialog.d.ts.map +1 -1
  612. package/dist/src/components/ui/dialog.js +1 -2
  613. package/dist/src/components/ui/direction.d.ts +4 -6
  614. package/dist/src/components/ui/direction.d.ts.map +1 -1
  615. package/dist/src/components/ui/direction.js +1 -2
  616. package/dist/src/components/ui/drawer.d.ts +10 -12
  617. package/dist/src/components/ui/drawer.d.ts.map +1 -1
  618. package/dist/src/components/ui/drawer.js +1 -2
  619. package/dist/src/components/ui/dropdown-menu.d.ts +21 -23
  620. package/dist/src/components/ui/dropdown-menu.d.ts.map +1 -1
  621. package/dist/src/components/ui/dropdown-menu.js +1 -2
  622. package/dist/src/components/ui/editor-content.d.ts +2 -5
  623. package/dist/src/components/ui/editor-content.d.ts.map +1 -1
  624. package/dist/src/components/ui/editor-content.js +1 -2
  625. package/dist/src/components/ui/editor.d.ts +5 -8
  626. package/dist/src/components/ui/editor.d.ts.map +1 -1
  627. package/dist/src/components/ui/editor.js +1 -2
  628. package/dist/src/components/ui/empty.d.ts +3 -5
  629. package/dist/src/components/ui/empty.d.ts.map +1 -1
  630. package/dist/src/components/ui/empty.js +1 -2
  631. package/dist/src/components/ui/field.d.ts +9 -11
  632. package/dist/src/components/ui/field.d.ts.map +1 -1
  633. package/dist/src/components/ui/field.js +1 -2
  634. package/dist/src/components/ui/form.d.ts +15 -17
  635. package/dist/src/components/ui/form.d.ts.map +1 -1
  636. package/dist/src/components/ui/form.js +1 -2
  637. package/dist/src/components/ui/header-content.d.ts +10 -12
  638. package/dist/src/components/ui/header-content.d.ts.map +1 -1
  639. package/dist/src/components/ui/header-content.js +1 -2
  640. package/dist/src/components/ui/hover-card.d.ts +4 -6
  641. package/dist/src/components/ui/hover-card.d.ts.map +1 -1
  642. package/dist/src/components/ui/hover-card.js +1 -2
  643. package/dist/src/components/ui/input-group.d.ts +6 -8
  644. package/dist/src/components/ui/input-group.d.ts.map +1 -1
  645. package/dist/src/components/ui/input-group.js +1 -2
  646. package/dist/src/components/ui/input-otp.d.ts +3 -5
  647. package/dist/src/components/ui/input-otp.d.ts.map +1 -1
  648. package/dist/src/components/ui/input-otp.js +1 -2
  649. package/dist/src/components/ui/input.d.ts +0 -2
  650. package/dist/src/components/ui/input.d.ts.map +1 -1
  651. package/dist/src/components/ui/input.js +1 -2
  652. package/dist/src/components/ui/item.d.ts +7 -9
  653. package/dist/src/components/ui/item.d.ts.map +1 -1
  654. package/dist/src/components/ui/item.js +1 -2
  655. package/dist/src/components/ui/kbd.d.ts +0 -2
  656. package/dist/src/components/ui/kbd.d.ts.map +1 -1
  657. package/dist/src/components/ui/kbd.js +1 -2
  658. package/dist/src/components/ui/label.d.ts +0 -2
  659. package/dist/src/components/ui/label.d.ts.map +1 -1
  660. package/dist/src/components/ui/label.js +1 -2
  661. package/dist/src/components/ui/loader.d.ts +3 -6
  662. package/dist/src/components/ui/loader.d.ts.map +1 -1
  663. package/dist/src/components/ui/loader.js +1 -2
  664. package/dist/src/components/ui/menubar.d.ts +23 -25
  665. package/dist/src/components/ui/menubar.d.ts.map +1 -1
  666. package/dist/src/components/ui/menubar.js +1 -2
  667. package/dist/src/components/ui/native-select.d.ts +1 -3
  668. package/dist/src/components/ui/native-select.d.ts.map +1 -1
  669. package/dist/src/components/ui/native-select.js +1 -2
  670. package/dist/src/components/ui/navigation-menu.d.ts +10 -12
  671. package/dist/src/components/ui/navigation-menu.d.ts.map +1 -1
  672. package/dist/src/components/ui/navigation-menu.js +1 -2
  673. package/dist/src/components/ui/pagination.d.ts +5 -7
  674. package/dist/src/components/ui/pagination.d.ts.map +1 -1
  675. package/dist/src/components/ui/pagination.js +1 -2
  676. package/dist/src/components/ui/popover.d.ts +7 -9
  677. package/dist/src/components/ui/popover.d.ts.map +1 -1
  678. package/dist/src/components/ui/popover.js +1 -2
  679. package/dist/src/components/ui/progress.d.ts +2 -4
  680. package/dist/src/components/ui/progress.d.ts.map +1 -1
  681. package/dist/src/components/ui/progress.js +1 -2
  682. package/dist/src/components/ui/radio-group.d.ts +4 -6
  683. package/dist/src/components/ui/radio-group.d.ts.map +1 -1
  684. package/dist/src/components/ui/radio-group.js +1 -2
  685. package/dist/src/components/ui/resizable.d.ts +1 -3
  686. package/dist/src/components/ui/resizable.d.ts.map +1 -1
  687. package/dist/src/components/ui/resizable.js +1 -2
  688. package/dist/src/components/ui/scroll-area.d.ts +3 -5
  689. package/dist/src/components/ui/scroll-area.d.ts.map +1 -1
  690. package/dist/src/components/ui/scroll-area.js +1 -2
  691. package/dist/src/components/ui/select.d.ts +13 -15
  692. package/dist/src/components/ui/select.d.ts.map +1 -1
  693. package/dist/src/components/ui/select.js +1 -2
  694. package/dist/src/components/ui/separator.d.ts +2 -4
  695. package/dist/src/components/ui/separator.d.ts.map +1 -1
  696. package/dist/src/components/ui/separator.js +1 -2
  697. package/dist/src/components/ui/sheet.d.ts +10 -12
  698. package/dist/src/components/ui/sheet.d.ts.map +1 -1
  699. package/dist/src/components/ui/sheet.js +1 -2
  700. package/dist/src/components/ui/sidebar.d.ts +28 -30
  701. package/dist/src/components/ui/sidebar.d.ts.map +1 -1
  702. package/dist/src/components/ui/sidebar.js +1 -2
  703. package/dist/src/components/ui/skeleton.d.ts +0 -2
  704. package/dist/src/components/ui/skeleton.d.ts.map +1 -1
  705. package/dist/src/components/ui/skeleton.js +1 -2
  706. package/dist/src/components/ui/slider.d.ts +2 -4
  707. package/dist/src/components/ui/slider.d.ts.map +1 -1
  708. package/dist/src/components/ui/slider.js +1 -2
  709. package/dist/src/components/ui/sonner.d.ts +1 -3
  710. package/dist/src/components/ui/sonner.d.ts.map +1 -1
  711. package/dist/src/components/ui/sonner.js +1 -2
  712. package/dist/src/components/ui/spinner.d.ts +0 -2
  713. package/dist/src/components/ui/spinner.d.ts.map +1 -1
  714. package/dist/src/components/ui/spinner.js +1 -2
  715. package/dist/src/components/ui/switch.d.ts +3 -5
  716. package/dist/src/components/ui/switch.d.ts.map +1 -1
  717. package/dist/src/components/ui/switch.js +1 -2
  718. package/dist/src/components/ui/table.d.ts +1 -3
  719. package/dist/src/components/ui/table.d.ts.map +1 -1
  720. package/dist/src/components/ui/table.js +1 -2
  721. package/dist/src/components/ui/tabs.d.ts +8 -10
  722. package/dist/src/components/ui/tabs.d.ts.map +1 -1
  723. package/dist/src/components/ui/tabs.js +1 -2
  724. package/dist/src/components/ui/textarea.d.ts +0 -2
  725. package/dist/src/components/ui/textarea.d.ts.map +1 -1
  726. package/dist/src/components/ui/textarea.js +1 -2
  727. package/dist/src/components/ui/toggle-group.d.ts +8 -10
  728. package/dist/src/components/ui/toggle-group.d.ts.map +1 -1
  729. package/dist/src/components/ui/toggle-group.js +1 -2
  730. package/dist/src/components/ui/toggle.d.ts +5 -7
  731. package/dist/src/components/ui/toggle.d.ts.map +1 -1
  732. package/dist/src/components/ui/toggle.js +1 -2
  733. package/dist/src/components/ui/tooltip.d.ts +8 -10
  734. package/dist/src/components/ui/tooltip.d.ts.map +1 -1
  735. package/dist/src/components/ui/tooltip.js +1 -2
  736. package/dist/src/components/user-format.d.ts +10 -13
  737. package/dist/src/components/user-format.d.ts.map +1 -1
  738. package/dist/src/components/user-format.js +1 -2
  739. package/dist/src/config.d.ts +3 -6
  740. package/dist/src/config.d.ts.map +1 -1
  741. package/dist/src/config.js +1 -2
  742. package/dist/src/database/admins.d.ts +278 -264
  743. package/dist/src/database/admins.d.ts.map +1 -1
  744. package/dist/src/database/admins.js +1 -2
  745. package/dist/src/database/cron.d.ts +169 -172
  746. package/dist/src/database/cron.d.ts.map +1 -1
  747. package/dist/src/database/cron.js +1 -2
  748. package/dist/src/database/files.d.ts +190 -193
  749. package/dist/src/database/files.d.ts.map +1 -1
  750. package/dist/src/database/files.js +1 -2
  751. package/dist/src/database/languages.d.ts +300 -320
  752. package/dist/src/database/languages.d.ts.map +1 -1
  753. package/dist/src/database/languages.js +1 -2
  754. package/dist/src/database/logs.d.ts +218 -221
  755. package/dist/src/database/logs.d.ts.map +1 -1
  756. package/dist/src/database/logs.js +1 -2
  757. package/dist/src/database/moderators.d.ts +148 -134
  758. package/dist/src/database/moderators.d.ts.map +1 -1
  759. package/dist/src/database/moderators.js +1 -2
  760. package/dist/src/database/queue.d.ts +271 -274
  761. package/dist/src/database/queue.d.ts.map +1 -1
  762. package/dist/src/database/queue.js +1 -2
  763. package/dist/src/database/roles.d.ts +195 -147
  764. package/dist/src/database/roles.d.ts.map +1 -1
  765. package/dist/src/database/roles.js +1 -2
  766. package/dist/src/database/search.d.ts +314 -0
  767. package/dist/src/database/search.d.ts.map +1 -0
  768. package/dist/src/database/search.js +1 -0
  769. package/dist/src/database/sessions.d.ts +210 -213
  770. package/dist/src/database/sessions.d.ts.map +1 -1
  771. package/dist/src/database/sessions.js +1 -2
  772. package/dist/src/database/users.d.ts +633 -636
  773. package/dist/src/database/users.d.ts.map +1 -1
  774. package/dist/src/database/users.js +1 -2
  775. package/dist/src/drizzle.config.d.ts +4 -7
  776. package/dist/src/drizzle.config.d.ts.map +1 -1
  777. package/dist/src/drizzle.config.js +1 -2
  778. package/dist/src/emails/default-template.d.ts +38 -40
  779. package/dist/src/emails/default-template.d.ts.map +1 -1
  780. package/dist/src/emails/default-template.js +1 -2
  781. package/dist/src/emails/reset-password.d.ts +47 -49
  782. package/dist/src/emails/reset-password.d.ts.map +1 -1
  783. package/dist/src/emails/reset-password.js +1 -2
  784. package/dist/src/emails/test-email.d.ts +20 -22
  785. package/dist/src/emails/test-email.d.ts.map +1 -1
  786. package/dist/src/emails/test-email.js +1 -2
  787. package/dist/src/emails/ui/button.d.ts +6 -8
  788. package/dist/src/emails/ui/button.d.ts.map +1 -1
  789. package/dist/src/emails/ui/button.js +1 -2
  790. package/dist/src/emails/ui/card.d.ts +6 -9
  791. package/dist/src/emails/ui/card.d.ts.map +1 -1
  792. package/dist/src/emails/ui/card.js +1 -2
  793. package/dist/src/globals.css +45 -0
  794. package/dist/src/hooks/use-before-unload.d.ts +1 -4
  795. package/dist/src/hooks/use-before-unload.d.ts.map +1 -1
  796. package/dist/src/hooks/use-before-unload.js +1 -2
  797. package/dist/src/hooks/use-captcha.d.ts +24 -27
  798. package/dist/src/hooks/use-captcha.d.ts.map +1 -1
  799. package/dist/src/hooks/use-captcha.js +1 -2
  800. package/dist/src/hooks/use-mobile.d.ts +1 -4
  801. package/dist/src/hooks/use-mobile.d.ts.map +1 -1
  802. package/dist/src/hooks/use-mobile.js +1 -2
  803. package/dist/src/lib/api/get-devices-api.d.ts +14 -0
  804. package/dist/src/lib/api/get-devices-api.d.ts.map +1 -0
  805. package/dist/src/lib/api/get-devices-api.js +1 -0
  806. package/dist/src/lib/api/get-middleware-api.d.ts +10 -13
  807. package/dist/src/lib/api/get-middleware-api.d.ts.map +1 -1
  808. package/dist/src/lib/api/get-middleware-api.js +1 -2
  809. package/dist/src/lib/api/get-moderator-permissions-api.d.ts +3 -6
  810. package/dist/src/lib/api/get-moderator-permissions-api.d.ts.map +1 -1
  811. package/dist/src/lib/api/get-moderator-permissions-api.js +1 -2
  812. package/dist/src/lib/api/get-next-cron-run-date.d.ts +1 -4
  813. package/dist/src/lib/api/get-next-cron-run-date.d.ts.map +1 -1
  814. package/dist/src/lib/api/get-next-cron-run-date.js +1 -2
  815. package/dist/src/lib/api/get-queue-backoff-date.d.ts +1 -4
  816. package/dist/src/lib/api/get-queue-backoff-date.d.ts.map +1 -1
  817. package/dist/src/lib/api/get-queue-backoff-date.js +1 -2
  818. package/dist/src/lib/api/get-queue-status.d.ts +11 -0
  819. package/dist/src/lib/api/get-queue-status.d.ts.map +1 -0
  820. package/dist/src/lib/api/get-queue-status.js +1 -0
  821. package/dist/src/lib/api/get-session-admin-api.d.ts +24 -27
  822. package/dist/src/lib/api/get-session-admin-api.d.ts.map +1 -1
  823. package/dist/src/lib/api/get-session-admin-api.js +1 -2
  824. package/dist/src/lib/api/get-session-api.d.ts +16 -19
  825. package/dist/src/lib/api/get-session-api.d.ts.map +1 -1
  826. package/dist/src/lib/api/get-session-api.js +1 -2
  827. package/dist/src/lib/api/is-cron-stale.d.ts +2 -5
  828. package/dist/src/lib/api/is-cron-stale.d.ts.map +1 -1
  829. package/dist/src/lib/api/is-cron-stale.js +1 -2
  830. package/dist/src/lib/api/parse-user-agent.d.ts +8 -0
  831. package/dist/src/lib/api/parse-user-agent.d.ts.map +1 -0
  832. package/dist/src/lib/api/parse-user-agent.js +1 -0
  833. package/dist/src/lib/api/resolve-queue-task-outcome.d.ts +11 -14
  834. package/dist/src/lib/api/resolve-queue-task-outcome.d.ts.map +1 -1
  835. package/dist/src/lib/api/resolve-queue-task-outcome.js +1 -2
  836. package/dist/src/lib/api/should-cron-job-run.d.ts +1 -4
  837. package/dist/src/lib/api/should-cron-job-run.d.ts.map +1 -1
  838. package/dist/src/lib/api/should-cron-job-run.js +1 -2
  839. package/dist/src/lib/api/upload.d.ts +12 -15
  840. package/dist/src/lib/api/upload.d.ts.map +1 -1
  841. package/dist/src/lib/api/upload.js +1 -2
  842. package/dist/src/lib/api/validate-cron-schedule.d.ts +1 -4
  843. package/dist/src/lib/api/validate-cron-schedule.d.ts.map +1 -1
  844. package/dist/src/lib/api/validate-cron-schedule.js +1 -2
  845. package/dist/src/lib/colors.d.ts +20 -23
  846. package/dist/src/lib/colors.d.ts.map +1 -1
  847. package/dist/src/lib/colors.js +1 -2
  848. package/dist/src/lib/config.d.ts +6 -9
  849. package/dist/src/lib/config.d.ts.map +1 -1
  850. package/dist/src/lib/config.js +1 -2
  851. package/dist/src/lib/ctrl-or-command-character.d.ts +1 -4
  852. package/dist/src/lib/ctrl-or-command-character.d.ts.map +1 -1
  853. package/dist/src/lib/ctrl-or-command-character.js +1 -2
  854. package/dist/src/lib/fetcher/cookie-from-string-to-object.d.ts +8 -11
  855. package/dist/src/lib/fetcher/cookie-from-string-to-object.d.ts.map +1 -1
  856. package/dist/src/lib/fetcher/cookie-from-string-to-object.js +1 -2
  857. package/dist/src/lib/fetcher/core.d.ts +14 -16
  858. package/dist/src/lib/fetcher/core.d.ts.map +1 -1
  859. package/dist/src/lib/fetcher/core.js +3 -2
  860. package/dist/src/lib/fetcher/helpers-server.d.ts +1 -4
  861. package/dist/src/lib/fetcher/helpers-server.d.ts.map +1 -1
  862. package/dist/src/lib/fetcher/helpers-server.js +1 -2
  863. package/dist/src/lib/fetcher/helpers.d.ts +1 -4
  864. package/dist/src/lib/fetcher/helpers.d.ts.map +1 -1
  865. package/dist/src/lib/fetcher/helpers.js +1 -2
  866. package/dist/src/lib/fetcher/rate-limit.d.ts +10 -0
  867. package/dist/src/lib/fetcher/rate-limit.d.ts.map +1 -0
  868. package/dist/src/lib/fetcher/rate-limit.js +1 -0
  869. package/dist/src/lib/fetcher/types.d.ts +87 -83
  870. package/dist/src/lib/fetcher/types.d.ts.map +1 -1
  871. package/dist/src/lib/fetcher/types.js +1 -0
  872. package/dist/src/lib/fetcher-client.d.ts +10 -13
  873. package/dist/src/lib/fetcher-client.d.ts.map +1 -1
  874. package/dist/src/lib/fetcher-client.js +1 -2
  875. package/dist/src/lib/fetcher.d.ts +9 -12
  876. package/dist/src/lib/fetcher.d.ts.map +1 -1
  877. package/dist/src/lib/fetcher.js +1 -2
  878. package/dist/src/lib/format-bytes.d.ts +1 -4
  879. package/dist/src/lib/format-bytes.d.ts.map +1 -1
  880. package/dist/src/lib/format-bytes.js +1 -2
  881. package/dist/src/lib/helpers/auto-form.d.ts +19 -21
  882. package/dist/src/lib/helpers/auto-form.d.ts.map +1 -1
  883. package/dist/src/lib/helpers/auto-form.js +1 -2
  884. package/dist/src/lib/helpers/multi-lang.d.ts +21 -0
  885. package/dist/src/lib/helpers/multi-lang.d.ts.map +1 -0
  886. package/dist/src/lib/helpers/multi-lang.js +1 -0
  887. package/dist/src/lib/i18n/deep-merge.d.ts +4 -0
  888. package/dist/src/lib/i18n/deep-merge.d.ts.map +1 -0
  889. package/dist/src/lib/i18n/deep-merge.js +1 -0
  890. package/dist/src/lib/i18n/load-messages.d.ts +9 -0
  891. package/dist/src/lib/i18n/load-messages.d.ts.map +1 -0
  892. package/dist/src/lib/i18n/load-messages.js +1 -0
  893. package/dist/src/lib/i18n/negotiate-locale.d.ts +2 -0
  894. package/dist/src/lib/i18n/negotiate-locale.d.ts.map +1 -0
  895. package/dist/src/lib/i18n/negotiate-locale.js +1 -0
  896. package/dist/src/lib/i18n/sources.d.ts +16 -0
  897. package/dist/src/lib/i18n/sources.d.ts.map +1 -0
  898. package/dist/src/lib/i18n/sources.js +1 -0
  899. package/dist/src/lib/i18n/types.d.ts +26 -0
  900. package/dist/src/lib/i18n/types.d.ts.map +1 -0
  901. package/dist/src/lib/i18n/types.js +1 -0
  902. package/dist/src/lib/motion.d.ts +8 -0
  903. package/dist/src/lib/motion.d.ts.map +1 -0
  904. package/dist/src/lib/motion.js +1 -0
  905. package/dist/src/lib/navigation.d.ts +334 -336
  906. package/dist/src/lib/navigation.d.ts.map +1 -1
  907. package/dist/src/lib/navigation.js +1 -2
  908. package/dist/src/lib/plugin.d.ts +16 -16
  909. package/dist/src/lib/plugin.d.ts.map +1 -1
  910. package/dist/src/lib/plugin.js +1 -2
  911. package/dist/src/lib/special-characters.d.ts +2 -5
  912. package/dist/src/lib/special-characters.d.ts.map +1 -1
  913. package/dist/src/lib/special-characters.js +1 -2
  914. package/dist/src/lib/strip-html.d.ts +2 -0
  915. package/dist/src/lib/strip-html.d.ts.map +1 -0
  916. package/dist/src/lib/strip-html.js +1 -0
  917. package/dist/src/lib/tiptap/toolbar/actions/bold-action.d.ts +1 -1
  918. package/dist/src/lib/tiptap/toolbar/actions/bold-action.d.ts.map +1 -0
  919. package/dist/src/lib/utils.d.ts +3 -6
  920. package/dist/src/lib/utils.d.ts.map +1 -1
  921. package/dist/src/lib/utils.js +1 -2
  922. package/dist/src/locales/api/en.json +19 -0
  923. package/dist/src/locales/api/index.d.ts +4 -0
  924. package/dist/src/locales/api/index.d.ts.map +1 -0
  925. package/dist/src/locales/api/index.js +1 -0
  926. package/dist/src/locales/en.json +886 -0
  927. package/dist/src/locales/index.d.ts +4 -0
  928. package/dist/src/locales/index.d.ts.map +1 -0
  929. package/dist/src/locales/index.js +1 -0
  930. package/dist/src/routes/admin/core/advanced/cron/page.d.ts +6 -9
  931. package/dist/src/routes/admin/core/advanced/cron/page.d.ts.map +1 -1
  932. package/dist/src/routes/admin/core/advanced/cron/page.js +1 -2
  933. package/dist/src/routes/admin/core/advanced/queue/page.d.ts +8 -11
  934. package/dist/src/routes/admin/core/advanced/queue/page.d.ts.map +1 -1
  935. package/dist/src/routes/admin/core/advanced/queue/page.js +1 -2
  936. package/dist/src/routes/admin/core/advanced/search/page.d.ts +11 -0
  937. package/dist/src/routes/admin/core/advanced/search/page.d.ts.map +1 -0
  938. package/dist/src/routes/admin/core/advanced/search/page.js +1 -0
  939. package/dist/src/routes/admin/core/debug/page.d.ts +6 -8
  940. package/dist/src/routes/admin/core/debug/page.d.ts.map +1 -1
  941. package/dist/src/routes/admin/core/debug/page.js +1 -2
  942. package/dist/src/routes/admin/core/page.d.ts +1 -4
  943. package/dist/src/routes/admin/core/page.d.ts.map +1 -1
  944. package/dist/src/routes/admin/core/page.js +1 -2
  945. package/dist/src/routes/admin/core/staff/admins/create/page.d.ts +1 -4
  946. package/dist/src/routes/admin/core/staff/admins/create/page.d.ts.map +1 -1
  947. package/dist/src/routes/admin/core/staff/admins/create/page.js +1 -2
  948. package/dist/src/routes/admin/core/staff/admins/edit/[id]/page.d.ts +4 -7
  949. package/dist/src/routes/admin/core/staff/admins/edit/[id]/page.d.ts.map +1 -1
  950. package/dist/src/routes/admin/core/staff/admins/edit/[id]/page.js +1 -2
  951. package/dist/src/routes/admin/core/staff/admins/page.d.ts +2 -5
  952. package/dist/src/routes/admin/core/staff/admins/page.d.ts.map +1 -1
  953. package/dist/src/routes/admin/core/staff/admins/page.js +1 -2
  954. package/dist/src/routes/admin/core/staff/moderators/create/page.d.ts +1 -4
  955. package/dist/src/routes/admin/core/staff/moderators/create/page.d.ts.map +1 -1
  956. package/dist/src/routes/admin/core/staff/moderators/create/page.js +1 -2
  957. package/dist/src/routes/admin/core/staff/moderators/edit/[id]/page.d.ts +4 -7
  958. package/dist/src/routes/admin/core/staff/moderators/edit/[id]/page.d.ts.map +1 -1
  959. package/dist/src/routes/admin/core/staff/moderators/edit/[id]/page.js +1 -2
  960. package/dist/src/routes/admin/core/staff/moderators/page.d.ts +2 -5
  961. package/dist/src/routes/admin/core/staff/moderators/page.d.ts.map +1 -1
  962. package/dist/src/routes/admin/core/staff/moderators/page.js +1 -2
  963. package/dist/src/routes/admin/core/system/files/page.d.ts +6 -9
  964. package/dist/src/routes/admin/core/system/files/page.d.ts.map +1 -1
  965. package/dist/src/routes/admin/core/system/files/page.js +1 -2
  966. package/dist/src/routes/admin/core/system/integrations/page.d.ts +4 -7
  967. package/dist/src/routes/admin/core/system/integrations/page.d.ts.map +1 -1
  968. package/dist/src/routes/admin/core/system/integrations/page.js +1 -2
  969. package/dist/src/routes/admin/core/test/page.d.ts +1 -4
  970. package/dist/src/routes/admin/core/test/page.d.ts.map +1 -1
  971. package/dist/src/routes/admin/core/test/page.js +1 -2
  972. package/dist/src/routes/admin/core/users/[id]/page.d.ts +9 -12
  973. package/dist/src/routes/admin/core/users/[id]/page.d.ts.map +1 -1
  974. package/dist/src/routes/admin/core/users/[id]/page.js +1 -2
  975. package/dist/src/routes/admin/core/users/page.d.ts +5 -7
  976. package/dist/src/routes/admin/core/users/page.d.ts.map +1 -1
  977. package/dist/src/routes/admin/core/users/page.js +1 -2
  978. package/dist/src/routes/admin/core/users/roles/page.d.ts +5 -7
  979. package/dist/src/routes/admin/core/users/roles/page.d.ts.map +1 -1
  980. package/dist/src/routes/admin/core/users/roles/page.js +1 -2
  981. package/dist/src/routes/blank/test/page.d.ts +1 -4
  982. package/dist/src/routes/blank/test/page.d.ts.map +1 -1
  983. package/dist/src/routes/blank/test/page.js +1 -2
  984. package/dist/src/routes/breadcrumb/admin/[...all]/page.d.ts +1 -4
  985. package/dist/src/routes/breadcrumb/admin/[...all]/page.d.ts.map +1 -1
  986. package/dist/src/routes/breadcrumb/admin/[...all]/page.js +1 -2
  987. package/dist/src/routes/breadcrumb/admin/core/advanced/cron/page.d.ts +2 -0
  988. package/dist/src/routes/breadcrumb/admin/core/advanced/cron/page.d.ts.map +1 -0
  989. package/dist/src/routes/breadcrumb/admin/core/advanced/cron/page.js +1 -0
  990. package/dist/src/routes/breadcrumb/admin/core/advanced/queue/page.d.ts +2 -0
  991. package/dist/src/routes/breadcrumb/admin/core/advanced/queue/page.d.ts.map +1 -0
  992. package/dist/src/routes/breadcrumb/admin/core/advanced/queue/page.js +1 -0
  993. package/dist/src/routes/breadcrumb/admin/core/advanced/search/page.d.ts +2 -0
  994. package/dist/src/routes/breadcrumb/admin/core/advanced/search/page.d.ts.map +1 -0
  995. package/dist/src/routes/breadcrumb/admin/core/advanced/search/page.js +1 -0
  996. package/dist/src/routes/breadcrumb/admin/core/page.d.ts +2 -0
  997. package/dist/src/routes/breadcrumb/admin/core/page.d.ts.map +1 -0
  998. package/dist/src/routes/breadcrumb/admin/core/page.js +1 -0
  999. package/dist/src/routes/breadcrumb/admin/core/staff/admins/create/page.d.ts +1 -4
  1000. package/dist/src/routes/breadcrumb/admin/core/staff/admins/create/page.d.ts.map +1 -1
  1001. package/dist/src/routes/breadcrumb/admin/core/staff/admins/create/page.js +1 -2
  1002. package/dist/src/routes/breadcrumb/admin/core/staff/admins/edit/[id]/page.d.ts +4 -7
  1003. package/dist/src/routes/breadcrumb/admin/core/staff/admins/edit/[id]/page.d.ts.map +1 -1
  1004. package/dist/src/routes/breadcrumb/admin/core/staff/admins/edit/[id]/page.js +1 -2
  1005. package/dist/src/routes/breadcrumb/admin/core/staff/admins/page.d.ts +1 -4
  1006. package/dist/src/routes/breadcrumb/admin/core/staff/admins/page.d.ts.map +1 -1
  1007. package/dist/src/routes/breadcrumb/admin/core/staff/admins/page.js +1 -2
  1008. package/dist/src/routes/breadcrumb/admin/core/staff/moderators/create/page.d.ts +1 -4
  1009. package/dist/src/routes/breadcrumb/admin/core/staff/moderators/create/page.d.ts.map +1 -1
  1010. package/dist/src/routes/breadcrumb/admin/core/staff/moderators/create/page.js +1 -2
  1011. package/dist/src/routes/breadcrumb/admin/core/staff/moderators/edit/[id]/page.d.ts +4 -7
  1012. package/dist/src/routes/breadcrumb/admin/core/staff/moderators/edit/[id]/page.d.ts.map +1 -1
  1013. package/dist/src/routes/breadcrumb/admin/core/staff/moderators/edit/[id]/page.js +1 -2
  1014. package/dist/src/routes/breadcrumb/admin/core/staff/moderators/page.d.ts +1 -4
  1015. package/dist/src/routes/breadcrumb/admin/core/staff/moderators/page.d.ts.map +1 -1
  1016. package/dist/src/routes/breadcrumb/admin/core/staff/moderators/page.js +1 -2
  1017. package/dist/src/routes/breadcrumb/admin/core/system/files/page.d.ts +2 -0
  1018. package/dist/src/routes/breadcrumb/admin/core/system/files/page.d.ts.map +1 -0
  1019. package/dist/src/routes/breadcrumb/admin/core/system/files/page.js +1 -0
  1020. package/dist/src/routes/breadcrumb/admin/core/system/integrations/page.d.ts +2 -0
  1021. package/dist/src/routes/breadcrumb/admin/core/system/integrations/page.d.ts.map +1 -0
  1022. package/dist/src/routes/breadcrumb/admin/core/system/integrations/page.js +1 -0
  1023. package/dist/src/routes/breadcrumb/admin/core/users/[id]/page.d.ts +4 -7
  1024. package/dist/src/routes/breadcrumb/admin/core/users/[id]/page.d.ts.map +1 -1
  1025. package/dist/src/routes/breadcrumb/admin/core/users/[id]/page.js +1 -2
  1026. package/dist/src/routes/breadcrumb/admin/core/users/page.d.ts +2 -0
  1027. package/dist/src/routes/breadcrumb/admin/core/users/page.d.ts.map +1 -0
  1028. package/dist/src/routes/breadcrumb/admin/core/users/page.js +1 -0
  1029. package/dist/src/routes/breadcrumb/admin/core/users/roles/page.d.ts +2 -0
  1030. package/dist/src/routes/breadcrumb/admin/core/users/roles/page.d.ts.map +1 -0
  1031. package/dist/src/routes/breadcrumb/admin/core/users/roles/page.js +1 -0
  1032. package/dist/src/routes/breadcrumb/admin/default.d.ts +1 -4
  1033. package/dist/src/routes/breadcrumb/admin/default.d.ts.map +1 -1
  1034. package/dist/src/routes/breadcrumb/admin/default.js +1 -2
  1035. package/dist/src/routes/breadcrumb/main/[...rest]/page.d.ts +1 -4
  1036. package/dist/src/routes/breadcrumb/main/[...rest]/page.d.ts.map +1 -1
  1037. package/dist/src/routes/breadcrumb/main/[...rest]/page.js +1 -2
  1038. package/dist/src/routes/breadcrumb/main/default.d.ts +1 -4
  1039. package/dist/src/routes/breadcrumb/main/default.d.ts.map +1 -1
  1040. package/dist/src/routes/breadcrumb/main/default.js +1 -2
  1041. package/dist/src/routes/breadcrumb/main/discover/page.d.ts +2 -0
  1042. package/dist/src/routes/breadcrumb/main/discover/page.d.ts.map +1 -0
  1043. package/dist/src/routes/breadcrumb/main/discover/page.js +1 -0
  1044. package/dist/src/routes/breadcrumb/main/page.d.ts +1 -4
  1045. package/dist/src/routes/breadcrumb/main/page.d.ts.map +1 -1
  1046. package/dist/src/routes/breadcrumb/main/page.js +1 -2
  1047. package/dist/src/routes/breadcrumb/main/search/page.d.ts +2 -0
  1048. package/dist/src/routes/breadcrumb/main/search/page.d.ts.map +1 -0
  1049. package/dist/src/routes/breadcrumb/main/search/page.js +1 -0
  1050. package/dist/src/routes/breadcrumb/main/settings/devices/page.d.ts +2 -0
  1051. package/dist/src/routes/breadcrumb/main/settings/devices/page.d.ts.map +1 -0
  1052. package/dist/src/routes/breadcrumb/main/settings/devices/page.js +1 -0
  1053. package/dist/src/routes/breadcrumb/main/settings/overview/page.d.ts +1 -4
  1054. package/dist/src/routes/breadcrumb/main/settings/overview/page.d.ts.map +1 -1
  1055. package/dist/src/routes/breadcrumb/main/settings/overview/page.js +1 -2
  1056. package/dist/src/routes/breadcrumb/main/settings/page.d.ts +1 -4
  1057. package/dist/src/routes/breadcrumb/main/settings/page.d.ts.map +1 -1
  1058. package/dist/src/routes/breadcrumb/main/settings/page.js +1 -2
  1059. package/dist/src/routes/breadcrumb/main/settings/security/page.d.ts +1 -4
  1060. package/dist/src/routes/breadcrumb/main/settings/security/page.d.ts.map +1 -1
  1061. package/dist/src/routes/breadcrumb/main/settings/security/page.js +1 -2
  1062. package/dist/src/routes/main/discover/page.d.ts +11 -0
  1063. package/dist/src/routes/main/discover/page.d.ts.map +1 -0
  1064. package/dist/src/routes/main/discover/page.js +1 -0
  1065. package/dist/src/routes/main/files/page.d.ts +10 -13
  1066. package/dist/src/routes/main/files/page.d.ts.map +1 -1
  1067. package/dist/src/routes/main/files/page.js +1 -2
  1068. package/dist/src/routes/main/login/page.d.ts +6 -9
  1069. package/dist/src/routes/main/login/page.d.ts.map +1 -1
  1070. package/dist/src/routes/main/login/page.js +1 -2
  1071. package/dist/src/routes/main/login/reset-password/page.d.ts +7 -10
  1072. package/dist/src/routes/main/login/reset-password/page.d.ts.map +1 -1
  1073. package/dist/src/routes/main/login/reset-password/page.js +1 -2
  1074. package/dist/src/routes/main/login/sso/[providerId]/page.d.ts +5 -8
  1075. package/dist/src/routes/main/login/sso/[providerId]/page.d.ts.map +1 -1
  1076. package/dist/src/routes/main/login/sso/[providerId]/page.js +1 -2
  1077. package/dist/src/routes/main/register/page.d.ts +6 -9
  1078. package/dist/src/routes/main/register/page.d.ts.map +1 -1
  1079. package/dist/src/routes/main/register/page.js +1 -2
  1080. package/dist/src/routes/main/search/page.d.ts +15 -0
  1081. package/dist/src/routes/main/search/page.d.ts.map +1 -0
  1082. package/dist/src/routes/main/search/page.js +1 -0
  1083. package/dist/src/routes/main/settings/devices/page.d.ts +5 -0
  1084. package/dist/src/routes/main/settings/devices/page.d.ts.map +1 -0
  1085. package/dist/src/routes/main/settings/devices/page.js +1 -0
  1086. package/dist/src/routes/main/settings/layout.d.ts +4 -7
  1087. package/dist/src/routes/main/settings/layout.d.ts.map +1 -1
  1088. package/dist/src/routes/main/settings/layout.js +1 -2
  1089. package/dist/src/routes/main/settings/overview/page.d.ts +3 -6
  1090. package/dist/src/routes/main/settings/overview/page.d.ts.map +1 -1
  1091. package/dist/src/routes/main/settings/overview/page.js +1 -2
  1092. package/dist/src/routes/main/settings/page.d.ts +3 -6
  1093. package/dist/src/routes/main/settings/page.d.ts.map +1 -1
  1094. package/dist/src/routes/main/settings/page.js +1 -2
  1095. package/dist/src/routes/main/settings/security/page.d.ts +3 -6
  1096. package/dist/src/routes/main/settings/security/page.d.ts.map +1 -1
  1097. package/dist/src/routes/main/settings/security/page.js +1 -2
  1098. package/dist/src/tests/setup.d.ts +2 -0
  1099. package/dist/src/tests/setup.d.ts.map +1 -0
  1100. package/dist/src/tests/setup.js +1 -0
  1101. package/dist/src/tiptap.css +28 -0
  1102. package/dist/src/views/admin/layouts/admin-layout.d.ts +6 -9
  1103. package/dist/src/views/admin/layouts/admin-layout.d.ts.map +1 -1
  1104. package/dist/src/views/admin/layouts/admin-layout.js +1 -2
  1105. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-admin.d.ts +9 -12
  1106. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-admin.d.ts.map +1 -1
  1107. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-admin.js +1 -2
  1108. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-advanced-search.d.ts +5 -0
  1109. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-advanced-search.d.ts.map +1 -0
  1110. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-advanced-search.js +1 -0
  1111. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-roles-admin.d.ts +5 -0
  1112. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-roles-admin.d.ts.map +1 -0
  1113. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-roles-admin.js +1 -0
  1114. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-admin.d.ts +4 -7
  1115. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-admin.d.ts.map +1 -1
  1116. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-admin.js +1 -2
  1117. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-create-admin.d.ts +3 -6
  1118. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-create-admin.d.ts.map +1 -1
  1119. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-create-admin.js +1 -2
  1120. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-edit-admin.d.ts +4 -7
  1121. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-edit-admin.d.ts.map +1 -1
  1122. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-edit-admin.js +1 -2
  1123. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-user-admin.d.ts +4 -7
  1124. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-user-admin.d.ts.map +1 -1
  1125. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-user-admin.js +1 -2
  1126. package/dist/src/views/admin/layouts/breadcrumb/resolve-breadcrumb.d.ts +4 -6
  1127. package/dist/src/views/admin/layouts/breadcrumb/resolve-breadcrumb.d.ts.map +1 -1
  1128. package/dist/src/views/admin/layouts/breadcrumb/resolve-breadcrumb.js +1 -2
  1129. package/dist/src/views/admin/layouts/sidebar/nav/get-admin-nav.d.ts +8 -11
  1130. package/dist/src/views/admin/layouts/sidebar/nav/get-admin-nav.d.ts.map +1 -1
  1131. package/dist/src/views/admin/layouts/sidebar/nav/get-admin-nav.js +1 -2
  1132. package/dist/src/views/admin/layouts/sidebar/nav/item.d.ts +7 -9
  1133. package/dist/src/views/admin/layouts/sidebar/nav/item.d.ts.map +1 -1
  1134. package/dist/src/views/admin/layouts/sidebar/nav/item.js +1 -2
  1135. package/dist/src/views/admin/layouts/sidebar/nav/nav.d.ts +4 -7
  1136. package/dist/src/views/admin/layouts/sidebar/nav/nav.d.ts.map +1 -1
  1137. package/dist/src/views/admin/layouts/sidebar/nav/nav.js +1 -2
  1138. package/dist/src/views/admin/layouts/sidebar/sidebar.d.ts +2 -5
  1139. package/dist/src/views/admin/layouts/sidebar/sidebar.d.ts.map +1 -1
  1140. package/dist/src/views/admin/layouts/sidebar/sidebar.js +1 -2
  1141. package/dist/src/views/admin/layouts/sidebar/sign-out.d.ts +2 -5
  1142. package/dist/src/views/admin/layouts/sidebar/sign-out.d.ts.map +1 -1
  1143. package/dist/src/views/admin/layouts/sidebar/sign-out.js +1 -2
  1144. package/dist/src/views/admin/layouts/user-bar/client.d.ts +5 -8
  1145. package/dist/src/views/admin/layouts/user-bar/client.d.ts.map +1 -1
  1146. package/dist/src/views/admin/layouts/user-bar/client.js +1 -2
  1147. package/dist/src/views/admin/layouts/user-bar/user-bar.d.ts +2 -5
  1148. package/dist/src/views/admin/layouts/user-bar/user-bar.d.ts.map +1 -1
  1149. package/dist/src/views/admin/layouts/user-bar/user-bar.js +1 -2
  1150. package/dist/src/views/admin/sign-in/sign-in-admin-view.d.ts +1 -4
  1151. package/dist/src/views/admin/sign-in/sign-in-admin-view.d.ts.map +1 -1
  1152. package/dist/src/views/admin/sign-in/sign-in-admin-view.js +1 -2
  1153. package/dist/src/views/admin/views/core/advanced/cron/cron-table-view.d.ts +3 -6
  1154. package/dist/src/views/admin/views/core/advanced/cron/cron-table-view.d.ts.map +1 -1
  1155. package/dist/src/views/admin/views/core/advanced/cron/cron-table-view.js +1 -2
  1156. package/dist/src/views/admin/views/core/advanced/cron/run-action/mutation-api.server.d.ts +4 -0
  1157. package/dist/src/views/admin/views/core/advanced/cron/run-action/mutation-api.server.d.ts.map +1 -0
  1158. package/dist/src/views/admin/views/core/advanced/cron/run-action/mutation-api.server.js +1 -0
  1159. package/dist/src/views/admin/views/core/advanced/cron/run-action/run-action.d.ts +3 -6
  1160. package/dist/src/views/admin/views/core/advanced/cron/run-action/run-action.d.ts.map +1 -1
  1161. package/dist/src/views/admin/views/core/advanced/cron/run-action/run-action.js +1 -2
  1162. package/dist/src/views/admin/views/core/advanced/queue/badges/status-badge.d.ts +3 -6
  1163. package/dist/src/views/admin/views/core/advanced/queue/badges/status-badge.d.ts.map +1 -1
  1164. package/dist/src/views/admin/views/core/advanced/queue/badges/status-badge.js +1 -2
  1165. package/dist/src/views/admin/views/core/advanced/queue/queue-table-view.d.ts +5 -8
  1166. package/dist/src/views/admin/views/core/advanced/queue/queue-table-view.d.ts.map +1 -1
  1167. package/dist/src/views/admin/views/core/advanced/queue/queue-table-view.js +1 -2
  1168. package/dist/src/views/admin/views/core/advanced/search/collection-status.d.ts +11 -0
  1169. package/dist/src/views/admin/views/core/advanced/search/collection-status.d.ts.map +1 -0
  1170. package/dist/src/views/admin/views/core/advanced/search/collection-status.js +1 -0
  1171. package/dist/src/views/admin/views/core/advanced/search/collections-table.d.ts +6 -0
  1172. package/dist/src/views/admin/views/core/advanced/search/collections-table.d.ts.map +1 -0
  1173. package/dist/src/views/admin/views/core/advanced/search/collections-table.js +1 -0
  1174. package/dist/src/views/admin/views/core/advanced/search/cron-warning.d.ts +3 -0
  1175. package/dist/src/views/admin/views/core/advanced/search/cron-warning.d.ts.map +1 -0
  1176. package/dist/src/views/admin/views/core/advanced/search/cron-warning.js +1 -0
  1177. package/dist/src/views/admin/views/core/advanced/search/mutation-api.server.d.ts +10 -0
  1178. package/dist/src/views/admin/views/core/advanced/search/mutation-api.server.d.ts.map +1 -0
  1179. package/dist/src/views/admin/views/core/advanced/search/mutation-api.server.js +1 -0
  1180. package/dist/src/views/admin/views/core/advanced/search/reindex-action.d.ts +6 -0
  1181. package/dist/src/views/admin/views/core/advanced/search/reindex-action.d.ts.map +1 -0
  1182. package/dist/src/views/admin/views/core/advanced/search/reindex-action.js +1 -0
  1183. package/dist/src/views/admin/views/core/advanced/search/search-header-actions.d.ts +3 -0
  1184. package/dist/src/views/admin/views/core/advanced/search/search-header-actions.d.ts.map +1 -0
  1185. package/dist/src/views/admin/views/core/advanced/search/search-header-actions.js +1 -0
  1186. package/dist/src/views/admin/views/core/advanced/search/search-view.d.ts +7 -0
  1187. package/dist/src/views/admin/views/core/advanced/search/search-view.d.ts.map +1 -0
  1188. package/dist/src/views/admin/views/core/advanced/search/search-view.js +1 -0
  1189. package/dist/src/views/admin/views/core/dashboard/dashboard-admin-view.d.ts +1 -4
  1190. package/dist/src/views/admin/views/core/dashboard/dashboard-admin-view.d.ts.map +1 -1
  1191. package/dist/src/views/admin/views/core/dashboard/dashboard-admin-view.js +1 -2
  1192. package/dist/src/views/admin/views/core/dashboard/send-notification/mutation-api.server.d.ts +6 -0
  1193. package/dist/src/views/admin/views/core/dashboard/send-notification/mutation-api.server.d.ts.map +1 -0
  1194. package/dist/src/views/admin/views/core/dashboard/send-notification/mutation-api.server.js +1 -0
  1195. package/dist/src/views/admin/views/core/dashboard/send-notification/send-notification.d.ts +2 -5
  1196. package/dist/src/views/admin/views/core/dashboard/send-notification/send-notification.d.ts.map +1 -1
  1197. package/dist/src/views/admin/views/core/dashboard/send-notification/send-notification.js +1 -2
  1198. package/dist/src/views/admin/views/core/debug/actions/clear-cache/clear-cache.d.ts +1 -4
  1199. package/dist/src/views/admin/views/core/debug/actions/clear-cache/clear-cache.d.ts.map +1 -1
  1200. package/dist/src/views/admin/views/core/debug/actions/clear-cache/clear-cache.js +1 -2
  1201. package/dist/src/views/admin/views/core/debug/actions/clear-cache/mutation-api.server.d.ts +2 -0
  1202. package/dist/src/views/admin/views/core/debug/actions/clear-cache/mutation-api.server.d.ts.map +1 -0
  1203. package/dist/src/views/admin/views/core/debug/actions/clear-cache/mutation-api.server.js +1 -0
  1204. package/dist/src/views/admin/views/core/debug/queue/queue-view.d.ts +1 -4
  1205. package/dist/src/views/admin/views/core/debug/queue/queue-view.d.ts.map +1 -1
  1206. package/dist/src/views/admin/views/core/debug/queue/queue-view.js +1 -2
  1207. package/dist/src/views/admin/views/core/debug/system-logs/actions/more/content.d.ts +2 -5
  1208. package/dist/src/views/admin/views/core/debug/system-logs/actions/more/content.d.ts.map +1 -1
  1209. package/dist/src/views/admin/views/core/debug/system-logs/actions/more/content.js +1 -2
  1210. package/dist/src/views/admin/views/core/debug/system-logs/actions/more/more.d.ts +16 -18
  1211. package/dist/src/views/admin/views/core/debug/system-logs/actions/more/more.d.ts.map +1 -1
  1212. package/dist/src/views/admin/views/core/debug/system-logs/actions/more/more.js +1 -2
  1213. package/dist/src/views/admin/views/core/debug/system-logs/badges/badge-status.d.ts +2 -5
  1214. package/dist/src/views/admin/views/core/debug/system-logs/badges/badge-status.d.ts.map +1 -1
  1215. package/dist/src/views/admin/views/core/debug/system-logs/badges/badge-status.js +1 -2
  1216. package/dist/src/views/admin/views/core/debug/system-logs/badges/badge-type-log.d.ts +2 -5
  1217. package/dist/src/views/admin/views/core/debug/system-logs/badges/badge-type-log.d.ts.map +1 -1
  1218. package/dist/src/views/admin/views/core/debug/system-logs/badges/badge-type-log.js +1 -2
  1219. package/dist/src/views/admin/views/core/debug/system-logs/system-logs-view.d.ts +28 -31
  1220. package/dist/src/views/admin/views/core/debug/system-logs/system-logs-view.d.ts.map +1 -1
  1221. package/dist/src/views/admin/views/core/debug/system-logs/system-logs-view.js +1 -2
  1222. package/dist/src/views/admin/views/core/staff/create/create-staff-permissions-view.d.ts +3 -6
  1223. package/dist/src/views/admin/views/core/staff/create/create-staff-permissions-view.d.ts.map +1 -1
  1224. package/dist/src/views/admin/views/core/staff/create/create-staff-permissions-view.js +1 -2
  1225. package/dist/src/views/admin/views/core/staff/create/form.d.ts +3 -6
  1226. package/dist/src/views/admin/views/core/staff/create/form.d.ts.map +1 -1
  1227. package/dist/src/views/admin/views/core/staff/create/form.js +1 -2
  1228. package/dist/src/views/admin/views/core/staff/create/mutation-api.server.d.ts +14 -0
  1229. package/dist/src/views/admin/views/core/staff/create/mutation-api.server.d.ts.map +1 -0
  1230. package/dist/src/views/admin/views/core/staff/create/mutation-api.server.js +1 -0
  1231. package/dist/src/views/admin/views/core/staff/create/search.action.server.d.ts +8 -0
  1232. package/dist/src/views/admin/views/core/staff/create/search.action.server.d.ts.map +1 -0
  1233. package/dist/src/views/admin/views/core/staff/create/search.action.server.js +1 -0
  1234. package/dist/src/views/admin/views/core/staff/edit/edit-staff-permissions-view.d.ts +5 -7
  1235. package/dist/src/views/admin/views/core/staff/edit/edit-staff-permissions-view.d.ts.map +1 -1
  1236. package/dist/src/views/admin/views/core/staff/edit/edit-staff-permissions-view.js +1 -2
  1237. package/dist/src/views/admin/views/core/staff/edit/form.d.ts +21 -23
  1238. package/dist/src/views/admin/views/core/staff/edit/form.d.ts.map +1 -1
  1239. package/dist/src/views/admin/views/core/staff/edit/form.js +1 -2
  1240. package/dist/src/views/admin/views/core/staff/edit/mutation-api.server.d.ts +13 -0
  1241. package/dist/src/views/admin/views/core/staff/edit/mutation-api.server.d.ts.map +1 -0
  1242. package/dist/src/views/admin/views/core/staff/edit/mutation-api.server.js +1 -0
  1243. package/dist/src/views/admin/views/core/staff/selectable-card.d.ts +7 -9
  1244. package/dist/src/views/admin/views/core/staff/selectable-card.d.ts.map +1 -1
  1245. package/dist/src/views/admin/views/core/staff/selectable-card.js +1 -2
  1246. package/dist/src/views/admin/views/core/staff/table/actions/delete-action.server.d.ts +11 -0
  1247. package/dist/src/views/admin/views/core/staff/table/actions/delete-action.server.d.ts.map +1 -0
  1248. package/dist/src/views/admin/views/core/staff/table/actions/delete-action.server.js +1 -0
  1249. package/dist/src/views/admin/views/core/staff/table/actions/staff-row-actions.d.ts +8 -11
  1250. package/dist/src/views/admin/views/core/staff/table/actions/staff-row-actions.d.ts.map +1 -1
  1251. package/dist/src/views/admin/views/core/staff/table/actions/staff-row-actions.js +1 -2
  1252. package/dist/src/views/admin/views/core/staff/table/staff-table.d.ts +4 -6
  1253. package/dist/src/views/admin/views/core/staff/table/staff-table.d.ts.map +1 -1
  1254. package/dist/src/views/admin/views/core/staff/table/staff-table.js +1 -2
  1255. package/dist/src/views/admin/views/core/staff/table/staff-user-format.d.ts +13 -15
  1256. package/dist/src/views/admin/views/core/staff/table/staff-user-format.d.ts.map +1 -1
  1257. package/dist/src/views/admin/views/core/staff/table/staff-user-format.js +1 -2
  1258. package/dist/src/views/admin/views/core/staff/views/admins/admins-staff-view.d.ts +2 -5
  1259. package/dist/src/views/admin/views/core/staff/views/admins/admins-staff-view.d.ts.map +1 -1
  1260. package/dist/src/views/admin/views/core/staff/views/admins/admins-staff-view.js +1 -2
  1261. package/dist/src/views/admin/views/core/staff/views/moderators/moderators-staff-view.d.ts +2 -5
  1262. package/dist/src/views/admin/views/core/staff/views/moderators/moderators-staff-view.d.ts.map +1 -1
  1263. package/dist/src/views/admin/views/core/staff/views/moderators/moderators-staff-view.js +1 -2
  1264. package/dist/src/views/admin/views/core/system/files/actions/delete-action.server.d.ts +9 -0
  1265. package/dist/src/views/admin/views/core/system/files/actions/delete-action.server.d.ts.map +1 -0
  1266. package/dist/src/views/admin/views/core/system/files/actions/delete-action.server.js +1 -0
  1267. package/dist/src/views/admin/views/core/system/files/actions/file-row-actions.d.ts +5 -8
  1268. package/dist/src/views/admin/views/core/system/files/actions/file-row-actions.d.ts.map +1 -1
  1269. package/dist/src/views/admin/views/core/system/files/actions/file-row-actions.js +1 -2
  1270. package/dist/src/views/admin/views/core/system/files/files-table-view.d.ts +3 -6
  1271. package/dist/src/views/admin/views/core/system/files/files-table-view.d.ts.map +1 -1
  1272. package/dist/src/views/admin/views/core/system/files/files-table-view.js +1 -2
  1273. package/dist/src/views/admin/views/core/system/integrations/integration-card.d.ts +13 -16
  1274. package/dist/src/views/admin/views/core/system/integrations/integration-card.d.ts.map +1 -1
  1275. package/dist/src/views/admin/views/core/system/integrations/integration-card.js +1 -2
  1276. package/dist/src/views/admin/views/core/system/integrations/integrations-view.d.ts +2 -5
  1277. package/dist/src/views/admin/views/core/system/integrations/integrations-view.d.ts.map +1 -1
  1278. package/dist/src/views/admin/views/core/system/integrations/integrations-view.js +1 -2
  1279. package/dist/src/views/admin/views/core/system/integrations/send-test-email/content.d.ts +1 -4
  1280. package/dist/src/views/admin/views/core/system/integrations/send-test-email/content.d.ts.map +1 -1
  1281. package/dist/src/views/admin/views/core/system/integrations/send-test-email/content.js +1 -2
  1282. package/dist/src/views/admin/views/core/system/integrations/send-test-email/mutation-api.server.d.ts +12 -0
  1283. package/dist/src/views/admin/views/core/system/integrations/send-test-email/mutation-api.server.d.ts.map +1 -0
  1284. package/dist/src/views/admin/views/core/system/integrations/send-test-email/mutation-api.server.js +1 -0
  1285. package/dist/src/views/admin/views/core/system/integrations/send-test-email/send-test-email.d.ts +1 -4
  1286. package/dist/src/views/admin/views/core/system/integrations/send-test-email/send-test-email.d.ts.map +1 -1
  1287. package/dist/src/views/admin/views/core/system/integrations/send-test-email/send-test-email.js +1 -2
  1288. package/dist/src/views/admin/views/core/system/integrations/send-test-email/use-form.d.ts +13 -16
  1289. package/dist/src/views/admin/views/core/system/integrations/send-test-email/use-form.d.ts.map +1 -1
  1290. package/dist/src/views/admin/views/core/system/integrations/send-test-email/use-form.js +1 -2
  1291. package/dist/src/views/admin/views/core/system/integrations/test-storage/content.d.ts +1 -4
  1292. package/dist/src/views/admin/views/core/system/integrations/test-storage/content.d.ts.map +1 -1
  1293. package/dist/src/views/admin/views/core/system/integrations/test-storage/content.js +1 -2
  1294. package/dist/src/views/admin/views/core/system/integrations/test-storage/test-storage.d.ts +1 -4
  1295. package/dist/src/views/admin/views/core/system/integrations/test-storage/test-storage.d.ts.map +1 -1
  1296. package/dist/src/views/admin/views/core/system/integrations/test-storage/test-storage.js +1 -2
  1297. package/dist/src/views/admin/views/core/test.d.ts +1 -4
  1298. package/dist/src/views/admin/views/core/test.d.ts.map +1 -1
  1299. package/dist/src/views/admin/views/core/test.js +1 -4
  1300. package/dist/src/views/admin/views/core/users/actions/create/content.d.ts +1 -4
  1301. package/dist/src/views/admin/views/core/users/actions/create/content.d.ts.map +1 -1
  1302. package/dist/src/views/admin/views/core/users/actions/create/content.js +1 -2
  1303. package/dist/src/views/admin/views/core/users/actions/create/create.d.ts +1 -4
  1304. package/dist/src/views/admin/views/core/users/actions/create/create.d.ts.map +1 -1
  1305. package/dist/src/views/admin/views/core/users/actions/create/create.js +1 -2
  1306. package/dist/src/views/admin/views/core/users/actions/create/mutation-api.server.d.ts +14 -0
  1307. package/dist/src/views/admin/views/core/users/actions/create/mutation-api.server.d.ts.map +1 -0
  1308. package/dist/src/views/admin/views/core/users/actions/create/mutation-api.server.js +1 -0
  1309. package/dist/src/views/admin/views/core/users/actions/create/use-form.d.ts +13 -16
  1310. package/dist/src/views/admin/views/core/users/actions/create/use-form.d.ts.map +1 -1
  1311. package/dist/src/views/admin/views/core/users/actions/create/use-form.js +1 -2
  1312. package/dist/src/views/admin/views/core/users/actions/verify-email/mutation-api.server.d.ts +11 -0
  1313. package/dist/src/views/admin/views/core/users/actions/verify-email/mutation-api.server.d.ts.map +1 -0
  1314. package/dist/src/views/admin/views/core/users/actions/verify-email/mutation-api.server.js +1 -0
  1315. package/dist/src/views/admin/views/core/users/actions/verify-email/verify-email.d.ts +4 -7
  1316. package/dist/src/views/admin/views/core/users/actions/verify-email/verify-email.d.ts.map +1 -1
  1317. package/dist/src/views/admin/views/core/users/actions/verify-email/verify-email.js +1 -2
  1318. package/dist/src/views/admin/views/core/users/actions.d.ts +3 -6
  1319. package/dist/src/views/admin/views/core/users/actions.d.ts.map +1 -1
  1320. package/dist/src/views/admin/views/core/users/actions.js +1 -2
  1321. package/dist/src/views/admin/views/core/users/roles/actions/actions.d.ts +3 -0
  1322. package/dist/src/views/admin/views/core/users/roles/actions/actions.d.ts.map +1 -0
  1323. package/dist/src/views/admin/views/core/users/roles/actions/actions.js +1 -0
  1324. package/dist/src/views/admin/views/core/users/roles/actions/create-edit/create-edit.d.ts +15 -0
  1325. package/dist/src/views/admin/views/core/users/roles/actions/create-edit/create-edit.d.ts.map +1 -0
  1326. package/dist/src/views/admin/views/core/users/roles/actions/create-edit/create-edit.js +1 -0
  1327. package/dist/src/views/admin/views/core/users/roles/actions/create-edit/mutation-api.server.d.ts +11 -0
  1328. package/dist/src/views/admin/views/core/users/roles/actions/create-edit/mutation-api.server.d.ts.map +1 -0
  1329. package/dist/src/views/admin/views/core/users/roles/actions/create-edit/mutation-api.server.js +1 -0
  1330. package/dist/src/views/admin/views/core/users/roles/roles-admin-view.d.ts +2 -5
  1331. package/dist/src/views/admin/views/core/users/roles/roles-admin-view.d.ts.map +1 -1
  1332. package/dist/src/views/admin/views/core/users/roles/roles-admin-view.js +1 -2
  1333. package/dist/src/views/admin/views/core/users/roles/table/actions/delete-action.d.ts +13 -0
  1334. package/dist/src/views/admin/views/core/users/roles/table/actions/delete-action.d.ts.map +1 -0
  1335. package/dist/src/views/admin/views/core/users/roles/table/actions/delete-action.js +1 -0
  1336. package/dist/src/views/admin/views/core/users/roles/table/actions/delete-role.action.server.d.ts +9 -0
  1337. package/dist/src/views/admin/views/core/users/roles/table/actions/delete-role.action.server.d.ts.map +1 -0
  1338. package/dist/src/views/admin/views/core/users/roles/table/actions/delete-role.action.server.js +1 -0
  1339. package/dist/src/views/admin/views/core/users/roles/table/actions/edit-action.d.ts +7 -0
  1340. package/dist/src/views/admin/views/core/users/roles/table/actions/edit-action.d.ts.map +1 -0
  1341. package/dist/src/views/admin/views/core/users/roles/table/actions/edit-action.js +1 -0
  1342. package/dist/src/views/admin/views/core/users/roles/table/actions/row-actions.d.ts +22 -0
  1343. package/dist/src/views/admin/views/core/users/roles/table/actions/row-actions.d.ts.map +1 -0
  1344. package/dist/src/views/admin/views/core/users/roles/table/actions/row-actions.js +1 -0
  1345. package/dist/src/views/admin/views/core/users/roles/table/actions/search-roles.action.server.d.ts +10 -0
  1346. package/dist/src/views/admin/views/core/users/roles/table/actions/search-roles.action.server.d.ts.map +1 -0
  1347. package/dist/src/views/admin/views/core/users/roles/table/actions/search-roles.action.server.js +1 -0
  1348. package/dist/src/views/admin/views/core/users/search-roles.action.server.d.ts +3 -0
  1349. package/dist/src/views/admin/views/core/users/search-roles.action.server.d.ts.map +1 -0
  1350. package/dist/src/views/admin/views/core/users/search-roles.action.server.js +1 -0
  1351. package/dist/src/views/admin/views/core/users/show/edit-buttons.d.ts +2 -5
  1352. package/dist/src/views/admin/views/core/users/show/edit-buttons.d.ts.map +1 -1
  1353. package/dist/src/views/admin/views/core/users/show/edit-buttons.js +1 -2
  1354. package/dist/src/views/admin/views/core/users/show/edit-field.d.ts +10 -13
  1355. package/dist/src/views/admin/views/core/users/show/edit-field.d.ts.map +1 -1
  1356. package/dist/src/views/admin/views/core/users/show/edit-field.js +1 -2
  1357. package/dist/src/views/admin/views/core/users/show/edit-name-code.d.ts +3 -6
  1358. package/dist/src/views/admin/views/core/users/show/edit-name-code.d.ts.map +1 -1
  1359. package/dist/src/views/admin/views/core/users/show/edit-name-code.js +1 -2
  1360. package/dist/src/views/admin/views/core/users/show/mutation-api.server.d.ts +19 -0
  1361. package/dist/src/views/admin/views/core/users/show/mutation-api.server.d.ts.map +1 -0
  1362. package/dist/src/views/admin/views/core/users/show/mutation-api.server.js +1 -0
  1363. package/dist/src/views/admin/views/core/users/show/roles/edit-roles.d.ts +5 -8
  1364. package/dist/src/views/admin/views/core/users/show/roles/edit-roles.d.ts.map +1 -1
  1365. package/dist/src/views/admin/views/core/users/show/roles/edit-roles.js +1 -2
  1366. package/dist/src/views/admin/views/core/users/show/roles/roles.d.ts +6 -9
  1367. package/dist/src/views/admin/views/core/users/show/roles/roles.d.ts.map +1 -1
  1368. package/dist/src/views/admin/views/core/users/show/roles/roles.js +1 -2
  1369. package/dist/src/views/admin/views/core/users/show/roles/search-roles.action.server.d.ts +10 -0
  1370. package/dist/src/views/admin/views/core/users/show/roles/search-roles.action.server.d.ts.map +1 -0
  1371. package/dist/src/views/admin/views/core/users/show/roles/search-roles.action.server.js +1 -0
  1372. package/dist/src/views/admin/views/core/users/show/roles/update-roles.action.server.d.ts +13 -0
  1373. package/dist/src/views/admin/views/core/users/show/roles/update-roles.action.server.d.ts.map +1 -0
  1374. package/dist/src/views/admin/views/core/users/show/roles/update-roles.action.server.js +1 -0
  1375. package/dist/src/views/admin/views/core/users/show/show-user-admin-view.d.ts +2 -5
  1376. package/dist/src/views/admin/views/core/users/show/show-user-admin-view.d.ts.map +1 -1
  1377. package/dist/src/views/admin/views/core/users/show/show-user-admin-view.js +1 -2
  1378. package/dist/src/views/admin/views/core/users/show/tabs.d.ts +5 -0
  1379. package/dist/src/views/admin/views/core/users/show/tabs.d.ts.map +1 -0
  1380. package/dist/src/views/admin/views/core/users/show/tabs.js +1 -0
  1381. package/dist/src/views/admin/views/core/users/users-admin-view.d.ts +2 -5
  1382. package/dist/src/views/admin/views/core/users/users-admin-view.d.ts.map +1 -1
  1383. package/dist/src/views/admin/views/core/users/users-admin-view.js +1 -2
  1384. package/dist/src/views/auth/password-reset/change-password-form/form.d.ts +3 -6
  1385. package/dist/src/views/auth/password-reset/change-password-form/form.d.ts.map +1 -1
  1386. package/dist/src/views/auth/password-reset/change-password-form/form.js +1 -2
  1387. package/dist/src/views/auth/password-reset/change-password-form/mutation-api.server.d.ts +6 -0
  1388. package/dist/src/views/auth/password-reset/change-password-form/mutation-api.server.d.ts.map +1 -0
  1389. package/dist/src/views/auth/password-reset/change-password-form/mutation-api.server.js +1 -0
  1390. package/dist/src/views/auth/password-reset/change-password-form/use-form.d.ts +8 -11
  1391. package/dist/src/views/auth/password-reset/change-password-form/use-form.d.ts.map +1 -1
  1392. package/dist/src/views/auth/password-reset/change-password-form/use-form.js +1 -2
  1393. package/dist/src/views/auth/password-reset/form/form.d.ts +4 -7
  1394. package/dist/src/views/auth/password-reset/form/form.d.ts.map +1 -1
  1395. package/dist/src/views/auth/password-reset/form/form.js +1 -2
  1396. package/dist/src/views/auth/password-reset/form/mutation-api.server.d.ts +7 -0
  1397. package/dist/src/views/auth/password-reset/form/mutation-api.server.d.ts.map +1 -0
  1398. package/dist/src/views/auth/password-reset/form/mutation-api.server.js +1 -0
  1399. package/dist/src/views/auth/password-reset/form/use-form.d.ts +9 -12
  1400. package/dist/src/views/auth/password-reset/form/use-form.d.ts.map +1 -1
  1401. package/dist/src/views/auth/password-reset/form/use-form.js +1 -2
  1402. package/dist/src/views/auth/password-reset/password-reset-view.d.ts +5 -8
  1403. package/dist/src/views/auth/password-reset/password-reset-view.d.ts.map +1 -1
  1404. package/dist/src/views/auth/password-reset/password-reset-view.js +1 -2
  1405. package/dist/src/views/auth/settings/devices/device-item.d.ts +5 -0
  1406. package/dist/src/views/auth/settings/devices/device-item.d.ts.map +1 -0
  1407. package/dist/src/views/auth/settings/devices/device-item.js +1 -0
  1408. package/dist/src/views/auth/settings/devices/devices.d.ts +2 -0
  1409. package/dist/src/views/auth/settings/devices/devices.d.ts.map +1 -0
  1410. package/dist/src/views/auth/settings/devices/devices.js +1 -0
  1411. package/dist/src/views/auth/settings/devices/revoke-action.server.d.ts +9 -0
  1412. package/dist/src/views/auth/settings/devices/revoke-action.server.d.ts.map +1 -0
  1413. package/dist/src/views/auth/settings/devices/revoke-action.server.js +1 -0
  1414. package/dist/src/views/auth/settings/devices/revoke-device-button.d.ts +5 -0
  1415. package/dist/src/views/auth/settings/devices/revoke-device-button.d.ts.map +1 -0
  1416. package/dist/src/views/auth/settings/devices/revoke-device-button.js +1 -0
  1417. package/dist/src/views/auth/settings/layout.d.ts +2 -5
  1418. package/dist/src/views/auth/settings/layout.d.ts.map +1 -1
  1419. package/dist/src/views/auth/settings/layout.js +1 -2
  1420. package/dist/src/views/auth/settings/nav.d.ts +1 -4
  1421. package/dist/src/views/auth/settings/nav.d.ts.map +1 -1
  1422. package/dist/src/views/auth/settings/nav.js +1 -2
  1423. package/dist/src/views/auth/settings/overview/overview.d.ts +1 -4
  1424. package/dist/src/views/auth/settings/overview/overview.d.ts.map +1 -1
  1425. package/dist/src/views/auth/settings/overview/overview.js +1 -2
  1426. package/dist/src/views/auth/settings/security/security.d.ts +1 -4
  1427. package/dist/src/views/auth/settings/security/security.d.ts.map +1 -1
  1428. package/dist/src/views/auth/settings/security/security.js +1 -2
  1429. package/dist/src/views/auth/settings/shell.d.ts +2 -5
  1430. package/dist/src/views/auth/settings/shell.d.ts.map +1 -1
  1431. package/dist/src/views/auth/settings/shell.js +1 -2
  1432. package/dist/src/views/auth/sign-in/form/form.d.ts +3 -6
  1433. package/dist/src/views/auth/sign-in/form/form.d.ts.map +1 -1
  1434. package/dist/src/views/auth/sign-in/form/form.js +1 -2
  1435. package/dist/src/views/auth/sign-in/form/mutation-api.server.d.ts +10 -0
  1436. package/dist/src/views/auth/sign-in/form/mutation-api.server.d.ts.map +1 -0
  1437. package/dist/src/views/auth/sign-in/form/mutation-api.server.js +1 -0
  1438. package/dist/src/views/auth/sign-in/form/use-form.d.ts +13 -16
  1439. package/dist/src/views/auth/sign-in/form/use-form.d.ts.map +1 -1
  1440. package/dist/src/views/auth/sign-in/form/use-form.js +1 -2
  1441. package/dist/src/views/auth/sign-in/sign-in-view.d.ts +1 -4
  1442. package/dist/src/views/auth/sign-in/sign-in-view.d.ts.map +1 -1
  1443. package/dist/src/views/auth/sign-in/sign-in-view.js +1 -2
  1444. package/dist/src/views/auth/sign-up/components/password-input.d.ts +3 -6
  1445. package/dist/src/views/auth/sign-up/components/password-input.d.ts.map +1 -1
  1446. package/dist/src/views/auth/sign-up/components/password-input.js +1 -2
  1447. package/dist/src/views/auth/sign-up/email-confirmation-view.d.ts +2 -5
  1448. package/dist/src/views/auth/sign-up/email-confirmation-view.d.ts.map +1 -1
  1449. package/dist/src/views/auth/sign-up/email-confirmation-view.js +1 -2
  1450. package/dist/src/views/auth/sign-up/form/form.d.ts +5 -8
  1451. package/dist/src/views/auth/sign-up/form/form.d.ts.map +1 -1
  1452. package/dist/src/views/auth/sign-up/form/form.js +1 -2
  1453. package/dist/src/views/auth/sign-up/form/mutation-api.server.d.ts +16 -0
  1454. package/dist/src/views/auth/sign-up/form/mutation-api.server.d.ts.map +1 -0
  1455. package/dist/src/views/auth/sign-up/form/mutation-api.server.js +1 -0
  1456. package/dist/src/views/auth/sign-up/form/use-form.d.ts +18 -21
  1457. package/dist/src/views/auth/sign-up/form/use-form.d.ts.map +1 -1
  1458. package/dist/src/views/auth/sign-up/form/use-form.js +1 -2
  1459. package/dist/src/views/auth/sign-up/sign-up-view.d.ts +1 -4
  1460. package/dist/src/views/auth/sign-up/sign-up-view.d.ts.map +1 -1
  1461. package/dist/src/views/auth/sign-up/sign-up-view.js +1 -2
  1462. package/dist/src/views/auth/sign-up/wrapper.d.ts +4 -7
  1463. package/dist/src/views/auth/sign-up/wrapper.d.ts.map +1 -1
  1464. package/dist/src/views/auth/sign-up/wrapper.js +1 -2
  1465. package/dist/src/views/auth/sso/buttons/client.d.ts +3 -6
  1466. package/dist/src/views/auth/sso/buttons/client.d.ts.map +1 -1
  1467. package/dist/src/views/auth/sso/buttons/client.js +1 -2
  1468. package/dist/src/views/auth/sso/buttons/mutation-api.server.d.ts +4 -0
  1469. package/dist/src/views/auth/sso/buttons/mutation-api.server.d.ts.map +1 -0
  1470. package/dist/src/views/auth/sso/buttons/mutation-api.server.js +1 -0
  1471. package/dist/src/views/auth/sso/buttons/sso-buttons.d.ts +2 -5
  1472. package/dist/src/views/auth/sso/buttons/sso-buttons.d.ts.map +1 -1
  1473. package/dist/src/views/auth/sso/buttons/sso-buttons.js +1 -2
  1474. package/dist/src/views/auth/sso/callback/callback-sso-view.d.ts +3 -6
  1475. package/dist/src/views/auth/sso/callback/callback-sso-view.d.ts.map +1 -1
  1476. package/dist/src/views/auth/sso/callback/callback-sso-view.js +1 -2
  1477. package/dist/src/views/auth/sso/callback/client/client.d.ts +6 -9
  1478. package/dist/src/views/auth/sso/callback/client/client.d.ts.map +1 -1
  1479. package/dist/src/views/auth/sso/callback/client/client.js +1 -2
  1480. package/dist/src/views/auth/sso/callback/client/mutation-api.server.d.ts +8 -0
  1481. package/dist/src/views/auth/sso/callback/client/mutation-api.server.d.ts.map +1 -0
  1482. package/dist/src/views/auth/sso/callback/client/mutation-api.server.js +1 -0
  1483. package/dist/src/views/breadcrumb/breadcrumb-main.d.ts +5 -8
  1484. package/dist/src/views/breadcrumb/breadcrumb-main.d.ts.map +1 -1
  1485. package/dist/src/views/breadcrumb/breadcrumb-main.js +1 -2
  1486. package/dist/src/views/breadcrumb/breadcrumb-render.d.ts +3 -6
  1487. package/dist/src/views/breadcrumb/breadcrumb-render.d.ts.map +1 -1
  1488. package/dist/src/views/breadcrumb/breadcrumb-render.js +1 -2
  1489. package/dist/src/views/breadcrumb/crumb.d.ts +7 -10
  1490. package/dist/src/views/breadcrumb/crumb.d.ts.map +1 -1
  1491. package/dist/src/views/breadcrumb/crumb.js +1 -2
  1492. package/dist/src/views/breadcrumb/resolve-main-breadcrumb.d.ts +2 -5
  1493. package/dist/src/views/breadcrumb/resolve-main-breadcrumb.d.ts.map +1 -1
  1494. package/dist/src/views/breadcrumb/resolve-main-breadcrumb.js +1 -2
  1495. package/dist/src/views/error/back-button.d.ts +3 -6
  1496. package/dist/src/views/error/back-button.d.ts.map +1 -1
  1497. package/dist/src/views/error/back-button.js +1 -2
  1498. package/dist/src/views/error/error-view.d.ts +5 -8
  1499. package/dist/src/views/error/error-view.d.ts.map +1 -1
  1500. package/dist/src/views/error/error-view.js +1 -2
  1501. package/dist/src/views/error/global-error-view.d.ts +4 -7
  1502. package/dist/src/views/error/global-error-view.d.ts.map +1 -1
  1503. package/dist/src/views/error/global-error-view.js +1 -2
  1504. package/dist/src/views/files/actions/delete-action.server.d.ts +9 -0
  1505. package/dist/src/views/files/actions/delete-action.server.d.ts.map +1 -0
  1506. package/dist/src/views/files/actions/delete-action.server.js +1 -0
  1507. package/dist/src/views/files/actions/file-row-actions.d.ts +3 -6
  1508. package/dist/src/views/files/actions/file-row-actions.d.ts.map +1 -1
  1509. package/dist/src/views/files/actions/file-row-actions.js +1 -2
  1510. package/dist/src/views/files/my-files-table-view.d.ts +3 -6
  1511. package/dist/src/views/files/my-files-table-view.d.ts.map +1 -1
  1512. package/dist/src/views/files/my-files-table-view.js +1 -2
  1513. package/dist/src/views/layouts/provider.d.ts +10 -9
  1514. package/dist/src/views/layouts/provider.d.ts.map +1 -1
  1515. package/dist/src/views/layouts/provider.js +1 -2
  1516. package/dist/src/views/layouts/rate-limit-listener.d.ts +2 -0
  1517. package/dist/src/views/layouts/rate-limit-listener.d.ts.map +1 -0
  1518. package/dist/src/views/layouts/rate-limit-listener.js +1 -0
  1519. package/dist/src/views/layouts/root-layout.d.ts +11 -14
  1520. package/dist/src/views/layouts/root-layout.d.ts.map +1 -1
  1521. package/dist/src/views/layouts/root-layout.js +1 -2
  1522. package/dist/src/views/layouts/theme/header/header.d.ts +5 -8
  1523. package/dist/src/views/layouts/theme/header/header.d.ts.map +1 -1
  1524. package/dist/src/views/layouts/theme/header/header.js +1 -2
  1525. package/dist/src/views/layouts/theme/header/user/auth/auth.d.ts +1 -4
  1526. package/dist/src/views/layouts/theme/header/user/auth/auth.d.ts.map +1 -1
  1527. package/dist/src/views/layouts/theme/header/user/auth/auth.js +1 -2
  1528. package/dist/src/views/layouts/theme/header/user/auth/client.d.ts +3 -6
  1529. package/dist/src/views/layouts/theme/header/user/auth/client.d.ts.map +1 -1
  1530. package/dist/src/views/layouts/theme/header/user/auth/client.js +1 -2
  1531. package/dist/src/views/layouts/theme/header/user/auth/log-out-mutation-api.server.d.ts +4 -0
  1532. package/dist/src/views/layouts/theme/header/user/auth/log-out-mutation-api.server.d.ts.map +1 -0
  1533. package/dist/src/views/layouts/theme/header/user/auth/log-out-mutation-api.server.js +1 -0
  1534. package/dist/src/views/layouts/theme/header/user/user.d.ts +1 -4
  1535. package/dist/src/views/layouts/theme/header/user/user.d.ts.map +1 -1
  1536. package/dist/src/views/layouts/theme/header/user/user.js +1 -2
  1537. package/dist/src/views/layouts/theme/layout.d.ts +6 -9
  1538. package/dist/src/views/layouts/theme/layout.d.ts.map +1 -1
  1539. package/dist/src/views/layouts/theme/layout.js +1 -2
  1540. package/dist/src/views/layouts/theme/notification-listener.d.ts +1 -4
  1541. package/dist/src/views/layouts/theme/notification-listener.d.ts.map +1 -1
  1542. package/dist/src/views/layouts/theme/notification-listener.js +1 -2
  1543. package/dist/src/views/layouts/theme/web-socket-auth-sync.d.ts +2 -5
  1544. package/dist/src/views/layouts/theme/web-socket-auth-sync.d.ts.map +1 -1
  1545. package/dist/src/views/layouts/theme/web-socket-auth-sync.js +1 -2
  1546. package/dist/src/views/search/discover-view.d.ts +2 -0
  1547. package/dist/src/views/search/discover-view.d.ts.map +1 -0
  1548. package/dist/src/views/search/discover-view.js +1 -0
  1549. package/dist/src/views/search/registry.d.ts +9 -0
  1550. package/dist/src/views/search/registry.d.ts.map +1 -0
  1551. package/dist/src/views/search/registry.js +1 -0
  1552. package/dist/src/views/search/search-controls.d.ts +8 -0
  1553. package/dist/src/views/search/search-controls.d.ts.map +1 -0
  1554. package/dist/src/views/search/search-controls.js +1 -0
  1555. package/dist/src/views/search/search-feed.d.ts +17 -0
  1556. package/dist/src/views/search/search-feed.d.ts.map +1 -0
  1557. package/dist/src/views/search/search-feed.js +1 -0
  1558. package/dist/src/views/search/search-view.d.ts +4 -0
  1559. package/dist/src/views/search/search-view.d.ts.map +1 -0
  1560. package/dist/src/views/search/search-view.js +1 -0
  1561. package/dist/src/views/search/types.d.ts +34 -0
  1562. package/dist/src/views/search/types.d.ts.map +1 -0
  1563. package/dist/src/views/search/types.js +1 -0
  1564. package/dist/src/vitnode.config.d.ts +79 -86
  1565. package/dist/src/vitnode.config.d.ts.map +1 -1
  1566. package/dist/src/vitnode.config.js +1 -2
  1567. package/dist/src/ws/handle.d.ts +4 -7
  1568. package/dist/src/ws/handle.d.ts.map +1 -1
  1569. package/dist/src/ws/handle.js +1 -2
  1570. package/dist/src/ws/manager.d.ts +11 -14
  1571. package/dist/src/ws/manager.d.ts.map +1 -1
  1572. package/dist/src/ws/manager.js +1 -2
  1573. package/dist/src/ws/notifications.d.ts +6 -10
  1574. package/dist/src/ws/notifications.d.ts.map +1 -1
  1575. package/dist/src/ws/notifications.js +1 -2
  1576. package/dist/src/ws/provider.d.ts +8 -10
  1577. package/dist/src/ws/provider.d.ts.map +1 -1
  1578. package/dist/src/ws/provider.js +1 -2
  1579. package/dist/src/ws/registry.d.ts +16 -19
  1580. package/dist/src/ws/registry.d.ts.map +1 -1
  1581. package/dist/src/ws/registry.js +1 -2
  1582. package/dist/src/ws/types.d.ts +17 -20
  1583. package/dist/src/ws/types.d.ts.map +1 -1
  1584. package/dist/src/ws/types.js +1 -2
  1585. package/dist/src/ws/use-websocket.d.ts +6 -9
  1586. package/dist/src/ws/use-websocket.d.ts.map +1 -1
  1587. package/dist/src/ws/use-websocket.js +1 -2
  1588. package/dist/tsconfig.build.tsbuildinfo +1 -0
  1589. package/dist/tsup.config.d.ts +3 -0
  1590. package/dist/tsup.config.d.ts.map +1 -0
  1591. package/dist/vitest.config.d.ts +3 -0
  1592. package/dist/vitest.config.d.ts.map +1 -0
  1593. package/package.json +42 -38
  1594. package/src/locales/api/en.json +19 -0
  1595. package/src/locales/api/index.ts +15 -0
  1596. package/src/locales/en.json +165 -27
  1597. package/src/locales/index.ts +17 -0
  1598. package/src/routes/admin/core/advanced/cron/page.tsx +10 -1
  1599. package/src/routes/admin/core/advanced/search/page.tsx +50 -0
  1600. package/src/routes/admin/core/users/[id]/page.tsx +1 -1
  1601. package/src/routes/admin/core/users/roles/page.tsx +13 -2
  1602. package/src/routes/breadcrumb/admin/core/advanced/cron/page.tsx +5 -0
  1603. package/src/routes/breadcrumb/admin/core/advanced/queue/page.tsx +5 -0
  1604. package/src/routes/breadcrumb/admin/core/advanced/search/page.tsx +5 -0
  1605. package/src/routes/breadcrumb/admin/core/page.tsx +5 -0
  1606. package/src/routes/breadcrumb/admin/core/system/files/page.tsx +5 -0
  1607. package/src/routes/breadcrumb/admin/core/system/integrations/page.tsx +5 -0
  1608. package/src/routes/breadcrumb/admin/core/users/page.tsx +5 -0
  1609. package/src/routes/breadcrumb/admin/core/users/roles/page.tsx +5 -0
  1610. package/src/routes/breadcrumb/main/discover/page.tsx +14 -0
  1611. package/src/routes/breadcrumb/main/search/page.tsx +11 -0
  1612. package/src/routes/breadcrumb/main/settings/devices/page.tsx +17 -0
  1613. package/src/routes/main/discover/page.tsx +41 -0
  1614. package/src/routes/main/search/page.tsx +43 -0
  1615. package/src/routes/main/settings/devices/page.tsx +15 -0
  1616. package/dist/src/api/adapters/sso/discord.js.map +0 -1
  1617. package/dist/src/api/adapters/sso/facebook.js.map +0 -1
  1618. package/dist/src/api/adapters/sso/google.js.map +0 -1
  1619. package/dist/src/api/adapters/storage/local.js.map +0 -1
  1620. package/dist/src/api/config.js.map +0 -1
  1621. package/dist/src/api/lib/cache-client.js.map +0 -1
  1622. package/dist/src/api/lib/cache.js.map +0 -1
  1623. package/dist/src/api/lib/check-plugin-id.js.map +0 -1
  1624. package/dist/src/api/lib/check-staff-permission.js.map +0 -1
  1625. package/dist/src/api/lib/cron.js.map +0 -1
  1626. package/dist/src/api/lib/logger-middleware.js.map +0 -1
  1627. package/dist/src/api/lib/module.js.map +0 -1
  1628. package/dist/src/api/lib/permission-staff.js.map +0 -1
  1629. package/dist/src/api/lib/plugin.js.map +0 -1
  1630. package/dist/src/api/lib/queue.js.map +0 -1
  1631. package/dist/src/api/lib/resolve-role-names.js.map +0 -1
  1632. package/dist/src/api/lib/route.js.map +0 -1
  1633. package/dist/src/api/lib/staff-permission.js.map +0 -1
  1634. package/dist/src/api/lib/websocket.js.map +0 -1
  1635. package/dist/src/api/lib/with-pagination.js.map +0 -1
  1636. package/dist/src/api/middlewares/captcha.middleware.js.map +0 -1
  1637. package/dist/src/api/middlewares/cron-auth.middleware.js.map +0 -1
  1638. package/dist/src/api/middlewares/global.middleware.js.map +0 -1
  1639. package/dist/src/api/middlewares/plugin.middleware.js.map +0 -1
  1640. package/dist/src/api/middlewares/rate-limiter.middleware.js.map +0 -1
  1641. package/dist/src/api/models/device.js.map +0 -1
  1642. package/dist/src/api/models/email.js.map +0 -1
  1643. package/dist/src/api/models/password.js.map +0 -1
  1644. package/dist/src/api/models/queue.js.map +0 -1
  1645. package/dist/src/api/models/session-admin.js.map +0 -1
  1646. package/dist/src/api/models/session-cache.js.map +0 -1
  1647. package/dist/src/api/models/session.js.map +0 -1
  1648. package/dist/src/api/models/sso.js.map +0 -1
  1649. package/dist/src/api/models/storage.js.map +0 -1
  1650. package/dist/src/api/models/user/get-user-by-id.js.map +0 -1
  1651. package/dist/src/api/models/user/get-user-by-name-code.js.map +0 -1
  1652. package/dist/src/api/models/user/sign-in-with-passwords.js.map +0 -1
  1653. package/dist/src/api/models/user/sign-up.js.map +0 -1
  1654. package/dist/src/api/models/user.js.map +0 -1
  1655. package/dist/src/api/modules/admin/admin.module.js.map +0 -1
  1656. package/dist/src/api/modules/admin/advanced/advanced.admin.module.js.map +0 -1
  1657. package/dist/src/api/modules/admin/advanced/cron/cron.admin.module.js.map +0 -1
  1658. package/dist/src/api/modules/admin/advanced/cron/routes/get.route.js.map +0 -1
  1659. package/dist/src/api/modules/admin/advanced/cron/routes/run.route.js.map +0 -1
  1660. package/dist/src/api/modules/admin/advanced/queue/queue.admin.module.js.map +0 -1
  1661. package/dist/src/api/modules/admin/advanced/queue/routes/get.route.js.map +0 -1
  1662. package/dist/src/api/modules/admin/debug/debug.admin.module.js.map +0 -1
  1663. package/dist/src/api/modules/admin/debug/routes/integrations.route.js.map +0 -1
  1664. package/dist/src/api/modules/admin/debug/routes/logs.route.js.map +0 -1
  1665. package/dist/src/api/modules/admin/debug/routes/queue.route.js.map +0 -1
  1666. package/dist/src/api/modules/admin/debug/routes/send-test-email.route.js.map +0 -1
  1667. package/dist/src/api/modules/admin/debug/routes/test-storage-upload.route.js.map +0 -1
  1668. package/dist/src/api/modules/admin/files/files.admin.module.js.map +0 -1
  1669. package/dist/src/api/modules/admin/files/routes/delete.route.js.map +0 -1
  1670. package/dist/src/api/modules/admin/files/routes/download.route.js.map +0 -1
  1671. package/dist/src/api/modules/admin/files/routes/list.route.js.map +0 -1
  1672. package/dist/src/api/modules/admin/roles/roles.admin.module.js.map +0 -1
  1673. package/dist/src/api/modules/admin/roles/routes/list.route.js.map +0 -1
  1674. package/dist/src/api/modules/admin/roles/routes/show.route.js.map +0 -1
  1675. package/dist/src/api/modules/admin/routes/notifications.route.js.map +0 -1
  1676. package/dist/src/api/modules/admin/routes/session.route.js.map +0 -1
  1677. package/dist/src/api/modules/admin/staff/lib/resolve-staff-edges.js.map +0 -1
  1678. package/dist/src/api/modules/admin/staff/lib/schema.js.map +0 -1
  1679. package/dist/src/api/modules/admin/staff/routes/admins.route.js.map +0 -1
  1680. package/dist/src/api/modules/admin/staff/routes/create.route.js.map +0 -1
  1681. package/dist/src/api/modules/admin/staff/routes/delete.route.js.map +0 -1
  1682. package/dist/src/api/modules/admin/staff/routes/moderators.route.js.map +0 -1
  1683. package/dist/src/api/modules/admin/staff/routes/permission-catalog.route.js.map +0 -1
  1684. package/dist/src/api/modules/admin/staff/routes/show-permissions.route.js.map +0 -1
  1685. package/dist/src/api/modules/admin/staff/routes/update-permissions.route.js.map +0 -1
  1686. package/dist/src/api/modules/admin/staff/staff.admin.module.js.map +0 -1
  1687. package/dist/src/api/modules/admin/users/lib/assert-edit-user-permission.js.map +0 -1
  1688. package/dist/src/api/modules/admin/users/routes/create.route.js.map +0 -1
  1689. package/dist/src/api/modules/admin/users/routes/list.route.js.map +0 -1
  1690. package/dist/src/api/modules/admin/users/routes/show.route.js.map +0 -1
  1691. package/dist/src/api/modules/admin/users/routes/update.route.js.map +0 -1
  1692. package/dist/src/api/modules/admin/users/routes/users.route.js.map +0 -1
  1693. package/dist/src/api/modules/admin/users/routes/verify-email.route.js.map +0 -1
  1694. package/dist/src/api/modules/admin/users/users.admin.module.js.map +0 -1
  1695. package/dist/src/api/modules/cron/cron/clean.cron.js.map +0 -1
  1696. package/dist/src/api/modules/cron/cron.module.js.map +0 -1
  1697. package/dist/src/api/modules/cron/helpers/process-cron-jobs.js.map +0 -1
  1698. package/dist/src/api/modules/cron/routes/cron.route.js.map +0 -1
  1699. package/dist/src/api/modules/middleware/middleware.module.js.map +0 -1
  1700. package/dist/src/api/modules/middleware/route.js.map +0 -1
  1701. package/dist/src/api/modules/queue/cron/process-queue.cron.js.map +0 -1
  1702. package/dist/src/api/modules/queue/helpers/process-queue-tasks.js.map +0 -1
  1703. package/dist/src/api/modules/queue/queue.module.js.map +0 -1
  1704. package/dist/src/api/modules/queue/tasks/send-email.task.js.map +0 -1
  1705. package/dist/src/api/modules/users/avatar-color.js.map +0 -1
  1706. package/dist/src/api/modules/users/files/files.module.js.map +0 -1
  1707. package/dist/src/api/modules/users/files/routes/delete.route.js.map +0 -1
  1708. package/dist/src/api/modules/users/files/routes/download.route.js.map +0 -1
  1709. package/dist/src/api/modules/users/files/routes/list.route.js.map +0 -1
  1710. package/dist/src/api/modules/users/routes/change-password.route.js.map +0 -1
  1711. package/dist/src/api/modules/users/routes/permissions.route.js.map +0 -1
  1712. package/dist/src/api/modules/users/routes/reset-passowrd.route.js.map +0 -1
  1713. package/dist/src/api/modules/users/routes/session.route.js.map +0 -1
  1714. package/dist/src/api/modules/users/routes/sign-in.route.js.map +0 -1
  1715. package/dist/src/api/modules/users/routes/sign-out.route.js.map +0 -1
  1716. package/dist/src/api/modules/users/routes/sign-up.route.js.map +0 -1
  1717. package/dist/src/api/modules/users/routes/test.route.js.map +0 -1
  1718. package/dist/src/api/modules/users/sso/routes/callback.route.js.map +0 -1
  1719. package/dist/src/api/modules/users/sso/routes/create-url.route.js.map +0 -1
  1720. package/dist/src/api/modules/users/sso/sso.module.js.map +0 -1
  1721. package/dist/src/api/modules/users/users.module.js.map +0 -1
  1722. package/dist/src/api/plugin.js.map +0 -1
  1723. package/dist/src/components/avatar.js.map +0 -1
  1724. package/dist/src/components/confirm-action/confirm-action-alert-dialog.js.map +0 -1
  1725. package/dist/src/components/confirm-action/content.js.map +0 -1
  1726. package/dist/src/components/date-format.js.map +0 -1
  1727. package/dist/src/components/files/file-preview.js.map +0 -1
  1728. package/dist/src/components/files/metadata-cell.js.map +0 -1
  1729. package/dist/src/components/form/auto-form.js.map +0 -1
  1730. package/dist/src/components/form/common/desc.js.map +0 -1
  1731. package/dist/src/components/form/common/label.js.map +0 -1
  1732. package/dist/src/components/form/fields/array.js.map +0 -1
  1733. package/dist/src/components/form/fields/checkbox.js.map +0 -1
  1734. package/dist/src/components/form/fields/combobox.js.map +0 -1
  1735. package/dist/src/components/form/fields/editor.js.map +0 -1
  1736. package/dist/src/components/form/fields/input.js.map +0 -1
  1737. package/dist/src/components/form/fields/radio-group.js.map +0 -1
  1738. package/dist/src/components/form/fields/select.js.map +0 -1
  1739. package/dist/src/components/form/fields/switch.js.map +0 -1
  1740. package/dist/src/components/form/fields/textarea.js.map +0 -1
  1741. package/dist/src/components/i18n-provider.js.map +0 -1
  1742. package/dist/src/components/logo-vitnode.js.map +0 -1
  1743. package/dist/src/components/role-format.js.map +0 -1
  1744. package/dist/src/components/staff-permission/provider.js.map +0 -1
  1745. package/dist/src/components/switchers/langs/language-switcher.js.map +0 -1
  1746. package/dist/src/components/switchers/themes/theme-switcher.js.map +0 -1
  1747. package/dist/src/components/table/content.js.map +0 -1
  1748. package/dist/src/components/table/data-table.js.map +0 -1
  1749. package/dist/src/components/table/filters.js.map +0 -1
  1750. package/dist/src/components/table/order-table-head.js.map +0 -1
  1751. package/dist/src/components/table/pagination.js.map +0 -1
  1752. package/dist/src/components/table/search.js.map +0 -1
  1753. package/dist/src/components/theme-provider.js.map +0 -1
  1754. package/dist/src/components/tiptap/extension.js.map +0 -1
  1755. package/dist/src/components/tiptap/toolbar/actions/alignment-action.js.map +0 -1
  1756. package/dist/src/components/tiptap/toolbar/actions/bold-action.js.map +0 -1
  1757. package/dist/src/components/tiptap/toolbar/actions/headings-action.js.map +0 -1
  1758. package/dist/src/components/tiptap/toolbar/actions/italic-action.js.map +0 -1
  1759. package/dist/src/components/tiptap/toolbar/actions/list-action.js.map +0 -1
  1760. package/dist/src/components/tiptap/toolbar/actions/text-format-more/text-format-more.js.map +0 -1
  1761. package/dist/src/components/tiptap/toolbar/actions/underline-action.js.map +0 -1
  1762. package/dist/src/components/tiptap/toolbar/actions/undo-redo-actions.js.map +0 -1
  1763. package/dist/src/components/tiptap/toolbar/actions/utils/tooltip-shortcut.js.map +0 -1
  1764. package/dist/src/components/tiptap/toolbar/tiptap-toolbar.js.map +0 -1
  1765. package/dist/src/components/tiptap/toolbar/use-toolbar-editor.js.map +0 -1
  1766. package/dist/src/components/ui/accordion.js.map +0 -1
  1767. package/dist/src/components/ui/alert-dialog.js.map +0 -1
  1768. package/dist/src/components/ui/alert.js.map +0 -1
  1769. package/dist/src/components/ui/aspect-ratio.js.map +0 -1
  1770. package/dist/src/components/ui/attachment.js.map +0 -1
  1771. package/dist/src/components/ui/avatar.js.map +0 -1
  1772. package/dist/src/components/ui/badge.js.map +0 -1
  1773. package/dist/src/components/ui/breadcrumb.js.map +0 -1
  1774. package/dist/src/components/ui/button-client.js.map +0 -1
  1775. package/dist/src/components/ui/button-group.js.map +0 -1
  1776. package/dist/src/components/ui/button.js.map +0 -1
  1777. package/dist/src/components/ui/card.js.map +0 -1
  1778. package/dist/src/components/ui/carousel.js.map +0 -1
  1779. package/dist/src/components/ui/chart.js.map +0 -1
  1780. package/dist/src/components/ui/checkbox.js.map +0 -1
  1781. package/dist/src/components/ui/collapsible.js.map +0 -1
  1782. package/dist/src/components/ui/combobox.js.map +0 -1
  1783. package/dist/src/components/ui/command.js.map +0 -1
  1784. package/dist/src/components/ui/context-menu.js.map +0 -1
  1785. package/dist/src/components/ui/dialog.js.map +0 -1
  1786. package/dist/src/components/ui/direction.js.map +0 -1
  1787. package/dist/src/components/ui/drawer.js.map +0 -1
  1788. package/dist/src/components/ui/dropdown-menu.js.map +0 -1
  1789. package/dist/src/components/ui/editor-content.js.map +0 -1
  1790. package/dist/src/components/ui/editor.js.map +0 -1
  1791. package/dist/src/components/ui/empty.js.map +0 -1
  1792. package/dist/src/components/ui/field.js.map +0 -1
  1793. package/dist/src/components/ui/form.js.map +0 -1
  1794. package/dist/src/components/ui/header-content.js.map +0 -1
  1795. package/dist/src/components/ui/hover-card.js.map +0 -1
  1796. package/dist/src/components/ui/input-group.js.map +0 -1
  1797. package/dist/src/components/ui/input-otp.js.map +0 -1
  1798. package/dist/src/components/ui/input.js.map +0 -1
  1799. package/dist/src/components/ui/item.js.map +0 -1
  1800. package/dist/src/components/ui/kbd.js.map +0 -1
  1801. package/dist/src/components/ui/label.js.map +0 -1
  1802. package/dist/src/components/ui/loader.js.map +0 -1
  1803. package/dist/src/components/ui/menubar.js.map +0 -1
  1804. package/dist/src/components/ui/native-select.js.map +0 -1
  1805. package/dist/src/components/ui/navigation-menu.js.map +0 -1
  1806. package/dist/src/components/ui/pagination.js.map +0 -1
  1807. package/dist/src/components/ui/popover.js.map +0 -1
  1808. package/dist/src/components/ui/progress.js.map +0 -1
  1809. package/dist/src/components/ui/radio-group.js.map +0 -1
  1810. package/dist/src/components/ui/resizable.js.map +0 -1
  1811. package/dist/src/components/ui/scroll-area.js.map +0 -1
  1812. package/dist/src/components/ui/select.js.map +0 -1
  1813. package/dist/src/components/ui/separator.js.map +0 -1
  1814. package/dist/src/components/ui/sheet.js.map +0 -1
  1815. package/dist/src/components/ui/sidebar.js.map +0 -1
  1816. package/dist/src/components/ui/skeleton.js.map +0 -1
  1817. package/dist/src/components/ui/slider.js.map +0 -1
  1818. package/dist/src/components/ui/sonner.js.map +0 -1
  1819. package/dist/src/components/ui/spinner.js.map +0 -1
  1820. package/dist/src/components/ui/switch.js.map +0 -1
  1821. package/dist/src/components/ui/table.js.map +0 -1
  1822. package/dist/src/components/ui/tabs.js.map +0 -1
  1823. package/dist/src/components/ui/textarea.js.map +0 -1
  1824. package/dist/src/components/ui/toggle-group.js.map +0 -1
  1825. package/dist/src/components/ui/toggle.js.map +0 -1
  1826. package/dist/src/components/ui/tooltip.js.map +0 -1
  1827. package/dist/src/components/user-format.js.map +0 -1
  1828. package/dist/src/config.js.map +0 -1
  1829. package/dist/src/database/admins.js.map +0 -1
  1830. package/dist/src/database/cron.js.map +0 -1
  1831. package/dist/src/database/files.js.map +0 -1
  1832. package/dist/src/database/languages.js.map +0 -1
  1833. package/dist/src/database/logs.js.map +0 -1
  1834. package/dist/src/database/moderators.js.map +0 -1
  1835. package/dist/src/database/queue.js.map +0 -1
  1836. package/dist/src/database/roles.js.map +0 -1
  1837. package/dist/src/database/sessions.js.map +0 -1
  1838. package/dist/src/database/users.js.map +0 -1
  1839. package/dist/src/drizzle.config.js.map +0 -1
  1840. package/dist/src/emails/default-template.js.map +0 -1
  1841. package/dist/src/emails/reset-password.js.map +0 -1
  1842. package/dist/src/emails/test-email.js.map +0 -1
  1843. package/dist/src/emails/ui/button.js.map +0 -1
  1844. package/dist/src/emails/ui/card.js.map +0 -1
  1845. package/dist/src/hooks/use-before-unload.js.map +0 -1
  1846. package/dist/src/hooks/use-captcha.js.map +0 -1
  1847. package/dist/src/hooks/use-mobile.js.map +0 -1
  1848. package/dist/src/lib/api/get-middleware-api.js.map +0 -1
  1849. package/dist/src/lib/api/get-moderator-permissions-api.js.map +0 -1
  1850. package/dist/src/lib/api/get-next-cron-run-date.js.map +0 -1
  1851. package/dist/src/lib/api/get-queue-backoff-date.js.map +0 -1
  1852. package/dist/src/lib/api/get-session-admin-api.js.map +0 -1
  1853. package/dist/src/lib/api/get-session-api.js.map +0 -1
  1854. package/dist/src/lib/api/is-cron-stale.js.map +0 -1
  1855. package/dist/src/lib/api/resolve-queue-task-outcome.js.map +0 -1
  1856. package/dist/src/lib/api/should-cron-job-run.js.map +0 -1
  1857. package/dist/src/lib/api/upload.js.map +0 -1
  1858. package/dist/src/lib/api/validate-cron-schedule.js.map +0 -1
  1859. package/dist/src/lib/colors.js.map +0 -1
  1860. package/dist/src/lib/config.js.map +0 -1
  1861. package/dist/src/lib/ctrl-or-command-character.js.map +0 -1
  1862. package/dist/src/lib/fetcher/cookie-from-string-to-object.js.map +0 -1
  1863. package/dist/src/lib/fetcher/core.js.map +0 -1
  1864. package/dist/src/lib/fetcher/helpers-server.js.map +0 -1
  1865. package/dist/src/lib/fetcher/helpers.js.map +0 -1
  1866. package/dist/src/lib/fetcher-client.js.map +0 -1
  1867. package/dist/src/lib/fetcher.js.map +0 -1
  1868. package/dist/src/lib/format-bytes.js.map +0 -1
  1869. package/dist/src/lib/helpers/auto-form.js.map +0 -1
  1870. package/dist/src/lib/navigation.js.map +0 -1
  1871. package/dist/src/lib/plugin.js.map +0 -1
  1872. package/dist/src/lib/special-characters.js.map +0 -1
  1873. package/dist/src/lib/utils.js.map +0 -1
  1874. package/dist/src/routes/admin/core/advanced/cron/page.js.map +0 -1
  1875. package/dist/src/routes/admin/core/advanced/queue/page.js.map +0 -1
  1876. package/dist/src/routes/admin/core/debug/page.js.map +0 -1
  1877. package/dist/src/routes/admin/core/page.js.map +0 -1
  1878. package/dist/src/routes/admin/core/staff/admins/create/page.js.map +0 -1
  1879. package/dist/src/routes/admin/core/staff/admins/edit/[id]/page.js.map +0 -1
  1880. package/dist/src/routes/admin/core/staff/admins/page.js.map +0 -1
  1881. package/dist/src/routes/admin/core/staff/moderators/create/page.js.map +0 -1
  1882. package/dist/src/routes/admin/core/staff/moderators/edit/[id]/page.js.map +0 -1
  1883. package/dist/src/routes/admin/core/staff/moderators/page.js.map +0 -1
  1884. package/dist/src/routes/admin/core/system/files/page.js.map +0 -1
  1885. package/dist/src/routes/admin/core/system/integrations/page.js.map +0 -1
  1886. package/dist/src/routes/admin/core/test/page.js.map +0 -1
  1887. package/dist/src/routes/admin/core/users/[id]/page.js.map +0 -1
  1888. package/dist/src/routes/admin/core/users/page.js.map +0 -1
  1889. package/dist/src/routes/admin/core/users/roles/page.js.map +0 -1
  1890. package/dist/src/routes/blank/test/page.js.map +0 -1
  1891. package/dist/src/routes/breadcrumb/admin/[...all]/page.js.map +0 -1
  1892. package/dist/src/routes/breadcrumb/admin/core/staff/admins/create/page.js.map +0 -1
  1893. package/dist/src/routes/breadcrumb/admin/core/staff/admins/edit/[id]/page.js.map +0 -1
  1894. package/dist/src/routes/breadcrumb/admin/core/staff/admins/page.js.map +0 -1
  1895. package/dist/src/routes/breadcrumb/admin/core/staff/moderators/create/page.js.map +0 -1
  1896. package/dist/src/routes/breadcrumb/admin/core/staff/moderators/edit/[id]/page.js.map +0 -1
  1897. package/dist/src/routes/breadcrumb/admin/core/staff/moderators/page.js.map +0 -1
  1898. package/dist/src/routes/breadcrumb/admin/core/users/[id]/page.js.map +0 -1
  1899. package/dist/src/routes/breadcrumb/admin/default.js.map +0 -1
  1900. package/dist/src/routes/breadcrumb/main/[...rest]/page.js.map +0 -1
  1901. package/dist/src/routes/breadcrumb/main/default.js.map +0 -1
  1902. package/dist/src/routes/breadcrumb/main/page.js.map +0 -1
  1903. package/dist/src/routes/breadcrumb/main/settings/overview/page.js.map +0 -1
  1904. package/dist/src/routes/breadcrumb/main/settings/page.js.map +0 -1
  1905. package/dist/src/routes/breadcrumb/main/settings/security/page.js.map +0 -1
  1906. package/dist/src/routes/main/files/page.js.map +0 -1
  1907. package/dist/src/routes/main/login/page.js.map +0 -1
  1908. package/dist/src/routes/main/login/reset-password/page.js.map +0 -1
  1909. package/dist/src/routes/main/login/sso/[providerId]/page.js.map +0 -1
  1910. package/dist/src/routes/main/register/page.js.map +0 -1
  1911. package/dist/src/routes/main/settings/layout.js.map +0 -1
  1912. package/dist/src/routes/main/settings/overview/page.js.map +0 -1
  1913. package/dist/src/routes/main/settings/page.js.map +0 -1
  1914. package/dist/src/routes/main/settings/security/page.js.map +0 -1
  1915. package/dist/src/views/admin/layouts/admin-layout.js.map +0 -1
  1916. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-admin.js.map +0 -1
  1917. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-admin.js.map +0 -1
  1918. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-create-admin.js.map +0 -1
  1919. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-edit-admin.js.map +0 -1
  1920. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-user-admin.js.map +0 -1
  1921. package/dist/src/views/admin/layouts/breadcrumb/resolve-breadcrumb.js.map +0 -1
  1922. package/dist/src/views/admin/layouts/sidebar/nav/get-admin-nav.js.map +0 -1
  1923. package/dist/src/views/admin/layouts/sidebar/nav/item.js.map +0 -1
  1924. package/dist/src/views/admin/layouts/sidebar/nav/nav.js.map +0 -1
  1925. package/dist/src/views/admin/layouts/sidebar/sidebar.js.map +0 -1
  1926. package/dist/src/views/admin/layouts/sidebar/sign-out.js.map +0 -1
  1927. package/dist/src/views/admin/layouts/user-bar/client.js.map +0 -1
  1928. package/dist/src/views/admin/layouts/user-bar/user-bar.js.map +0 -1
  1929. package/dist/src/views/admin/sign-in/sign-in-admin-view.js.map +0 -1
  1930. package/dist/src/views/admin/views/core/advanced/cron/cron-table-view.js.map +0 -1
  1931. package/dist/src/views/admin/views/core/advanced/cron/run-action/mutation-api.d.ts +0 -7
  1932. package/dist/src/views/admin/views/core/advanced/cron/run-action/mutation-api.d.ts.map +0 -1
  1933. package/dist/src/views/admin/views/core/advanced/cron/run-action/mutation-api.js +0 -2
  1934. package/dist/src/views/admin/views/core/advanced/cron/run-action/mutation-api.js.map +0 -1
  1935. package/dist/src/views/admin/views/core/advanced/cron/run-action/run-action.js.map +0 -1
  1936. package/dist/src/views/admin/views/core/advanced/queue/badges/status-badge.js.map +0 -1
  1937. package/dist/src/views/admin/views/core/advanced/queue/queue-table-view.js.map +0 -1
  1938. package/dist/src/views/admin/views/core/dashboard/dashboard-admin-view.js.map +0 -1
  1939. package/dist/src/views/admin/views/core/dashboard/send-notification/mutation-api.d.ts +0 -9
  1940. package/dist/src/views/admin/views/core/dashboard/send-notification/mutation-api.d.ts.map +0 -1
  1941. package/dist/src/views/admin/views/core/dashboard/send-notification/mutation-api.js +0 -2
  1942. package/dist/src/views/admin/views/core/dashboard/send-notification/mutation-api.js.map +0 -1
  1943. package/dist/src/views/admin/views/core/dashboard/send-notification/send-notification.js.map +0 -1
  1944. package/dist/src/views/admin/views/core/debug/actions/clear-cache/clear-cache.js.map +0 -1
  1945. package/dist/src/views/admin/views/core/debug/actions/clear-cache/mutation-api.d.ts +0 -5
  1946. package/dist/src/views/admin/views/core/debug/actions/clear-cache/mutation-api.d.ts.map +0 -1
  1947. package/dist/src/views/admin/views/core/debug/actions/clear-cache/mutation-api.js +0 -2
  1948. package/dist/src/views/admin/views/core/debug/actions/clear-cache/mutation-api.js.map +0 -1
  1949. package/dist/src/views/admin/views/core/debug/queue/queue-view.js.map +0 -1
  1950. package/dist/src/views/admin/views/core/debug/system-logs/actions/more/content.js.map +0 -1
  1951. package/dist/src/views/admin/views/core/debug/system-logs/actions/more/more.js.map +0 -1
  1952. package/dist/src/views/admin/views/core/debug/system-logs/badges/badge-status.js.map +0 -1
  1953. package/dist/src/views/admin/views/core/debug/system-logs/badges/badge-type-log.js.map +0 -1
  1954. package/dist/src/views/admin/views/core/debug/system-logs/system-logs-view.js.map +0 -1
  1955. package/dist/src/views/admin/views/core/staff/create/create-staff-permissions-view.js.map +0 -1
  1956. package/dist/src/views/admin/views/core/staff/create/form.js.map +0 -1
  1957. package/dist/src/views/admin/views/core/staff/create/mutation-api.d.ts +0 -17
  1958. package/dist/src/views/admin/views/core/staff/create/mutation-api.d.ts.map +0 -1
  1959. package/dist/src/views/admin/views/core/staff/create/mutation-api.js +0 -2
  1960. package/dist/src/views/admin/views/core/staff/create/mutation-api.js.map +0 -1
  1961. package/dist/src/views/admin/views/core/staff/create/search.action.d.ts +0 -11
  1962. package/dist/src/views/admin/views/core/staff/create/search.action.d.ts.map +0 -1
  1963. package/dist/src/views/admin/views/core/staff/create/search.action.js +0 -2
  1964. package/dist/src/views/admin/views/core/staff/create/search.action.js.map +0 -1
  1965. package/dist/src/views/admin/views/core/staff/edit/edit-staff-permissions-view.js.map +0 -1
  1966. package/dist/src/views/admin/views/core/staff/edit/form.js.map +0 -1
  1967. package/dist/src/views/admin/views/core/staff/edit/mutation-api.d.ts +0 -16
  1968. package/dist/src/views/admin/views/core/staff/edit/mutation-api.d.ts.map +0 -1
  1969. package/dist/src/views/admin/views/core/staff/edit/mutation-api.js +0 -2
  1970. package/dist/src/views/admin/views/core/staff/edit/mutation-api.js.map +0 -1
  1971. package/dist/src/views/admin/views/core/staff/selectable-card.js.map +0 -1
  1972. package/dist/src/views/admin/views/core/staff/table/actions/delete-action.d.ts +0 -14
  1973. package/dist/src/views/admin/views/core/staff/table/actions/delete-action.d.ts.map +0 -1
  1974. package/dist/src/views/admin/views/core/staff/table/actions/delete-action.js +0 -2
  1975. package/dist/src/views/admin/views/core/staff/table/actions/delete-action.js.map +0 -1
  1976. package/dist/src/views/admin/views/core/staff/table/actions/staff-row-actions.js.map +0 -1
  1977. package/dist/src/views/admin/views/core/staff/table/staff-table.js.map +0 -1
  1978. package/dist/src/views/admin/views/core/staff/table/staff-user-format.js.map +0 -1
  1979. package/dist/src/views/admin/views/core/staff/views/admins/admins-staff-view.js.map +0 -1
  1980. package/dist/src/views/admin/views/core/staff/views/moderators/moderators-staff-view.js.map +0 -1
  1981. package/dist/src/views/admin/views/core/system/files/actions/delete-action.d.ts +0 -12
  1982. package/dist/src/views/admin/views/core/system/files/actions/delete-action.d.ts.map +0 -1
  1983. package/dist/src/views/admin/views/core/system/files/actions/delete-action.js +0 -2
  1984. package/dist/src/views/admin/views/core/system/files/actions/delete-action.js.map +0 -1
  1985. package/dist/src/views/admin/views/core/system/files/actions/file-row-actions.js.map +0 -1
  1986. package/dist/src/views/admin/views/core/system/files/files-table-view.js.map +0 -1
  1987. package/dist/src/views/admin/views/core/system/integrations/integration-card.js.map +0 -1
  1988. package/dist/src/views/admin/views/core/system/integrations/integrations-view.js.map +0 -1
  1989. package/dist/src/views/admin/views/core/system/integrations/send-test-email/content.js.map +0 -1
  1990. package/dist/src/views/admin/views/core/system/integrations/send-test-email/mutation-api.d.ts +0 -15
  1991. package/dist/src/views/admin/views/core/system/integrations/send-test-email/mutation-api.d.ts.map +0 -1
  1992. package/dist/src/views/admin/views/core/system/integrations/send-test-email/mutation-api.js +0 -2
  1993. package/dist/src/views/admin/views/core/system/integrations/send-test-email/mutation-api.js.map +0 -1
  1994. package/dist/src/views/admin/views/core/system/integrations/send-test-email/send-test-email.js.map +0 -1
  1995. package/dist/src/views/admin/views/core/system/integrations/send-test-email/use-form.js.map +0 -1
  1996. package/dist/src/views/admin/views/core/system/integrations/test-storage/content.js.map +0 -1
  1997. package/dist/src/views/admin/views/core/system/integrations/test-storage/test-storage.js.map +0 -1
  1998. package/dist/src/views/admin/views/core/test.js.map +0 -1
  1999. package/dist/src/views/admin/views/core/users/actions/create/content.js.map +0 -1
  2000. package/dist/src/views/admin/views/core/users/actions/create/create.js.map +0 -1
  2001. package/dist/src/views/admin/views/core/users/actions/create/mutation-api.d.ts +0 -17
  2002. package/dist/src/views/admin/views/core/users/actions/create/mutation-api.d.ts.map +0 -1
  2003. package/dist/src/views/admin/views/core/users/actions/create/mutation-api.js +0 -2
  2004. package/dist/src/views/admin/views/core/users/actions/create/mutation-api.js.map +0 -1
  2005. package/dist/src/views/admin/views/core/users/actions/create/use-form.js.map +0 -1
  2006. package/dist/src/views/admin/views/core/users/actions/verify-email/mutation-api.d.ts +0 -14
  2007. package/dist/src/views/admin/views/core/users/actions/verify-email/mutation-api.d.ts.map +0 -1
  2008. package/dist/src/views/admin/views/core/users/actions/verify-email/mutation-api.js +0 -2
  2009. package/dist/src/views/admin/views/core/users/actions/verify-email/mutation-api.js.map +0 -1
  2010. package/dist/src/views/admin/views/core/users/actions/verify-email/verify-email.js.map +0 -1
  2011. package/dist/src/views/admin/views/core/users/actions.js.map +0 -1
  2012. package/dist/src/views/admin/views/core/users/roles/roles-admin-view.js.map +0 -1
  2013. package/dist/src/views/admin/views/core/users/search-roles.action.d.ts +0 -6
  2014. package/dist/src/views/admin/views/core/users/search-roles.action.d.ts.map +0 -1
  2015. package/dist/src/views/admin/views/core/users/search-roles.action.js +0 -2
  2016. package/dist/src/views/admin/views/core/users/search-roles.action.js.map +0 -1
  2017. package/dist/src/views/admin/views/core/users/show/edit-buttons.js.map +0 -1
  2018. package/dist/src/views/admin/views/core/users/show/edit-field.js.map +0 -1
  2019. package/dist/src/views/admin/views/core/users/show/edit-name-code.js.map +0 -1
  2020. package/dist/src/views/admin/views/core/users/show/mutation-api.d.ts +0 -21
  2021. package/dist/src/views/admin/views/core/users/show/mutation-api.d.ts.map +0 -1
  2022. package/dist/src/views/admin/views/core/users/show/mutation-api.js +0 -2
  2023. package/dist/src/views/admin/views/core/users/show/mutation-api.js.map +0 -1
  2024. package/dist/src/views/admin/views/core/users/show/roles/edit-roles.js.map +0 -1
  2025. package/dist/src/views/admin/views/core/users/show/roles/roles.js.map +0 -1
  2026. package/dist/src/views/admin/views/core/users/show/roles/search-roles.action.d.ts +0 -13
  2027. package/dist/src/views/admin/views/core/users/show/roles/search-roles.action.d.ts.map +0 -1
  2028. package/dist/src/views/admin/views/core/users/show/roles/search-roles.action.js +0 -2
  2029. package/dist/src/views/admin/views/core/users/show/roles/search-roles.action.js.map +0 -1
  2030. package/dist/src/views/admin/views/core/users/show/roles/update-roles.action.d.ts +0 -15
  2031. package/dist/src/views/admin/views/core/users/show/roles/update-roles.action.d.ts.map +0 -1
  2032. package/dist/src/views/admin/views/core/users/show/roles/update-roles.action.js +0 -2
  2033. package/dist/src/views/admin/views/core/users/show/roles/update-roles.action.js.map +0 -1
  2034. package/dist/src/views/admin/views/core/users/show/show-user-admin-view.js.map +0 -1
  2035. package/dist/src/views/admin/views/core/users/users-admin-view.js.map +0 -1
  2036. package/dist/src/views/auth/password-reset/change-password-form/form.js.map +0 -1
  2037. package/dist/src/views/auth/password-reset/change-password-form/mutation-api.d.ts +0 -9
  2038. package/dist/src/views/auth/password-reset/change-password-form/mutation-api.d.ts.map +0 -1
  2039. package/dist/src/views/auth/password-reset/change-password-form/mutation-api.js +0 -2
  2040. package/dist/src/views/auth/password-reset/change-password-form/mutation-api.js.map +0 -1
  2041. package/dist/src/views/auth/password-reset/change-password-form/use-form.js.map +0 -1
  2042. package/dist/src/views/auth/password-reset/form/form.js.map +0 -1
  2043. package/dist/src/views/auth/password-reset/form/mutation-api.d.ts +0 -10
  2044. package/dist/src/views/auth/password-reset/form/mutation-api.d.ts.map +0 -1
  2045. package/dist/src/views/auth/password-reset/form/mutation-api.js +0 -2
  2046. package/dist/src/views/auth/password-reset/form/mutation-api.js.map +0 -1
  2047. package/dist/src/views/auth/password-reset/form/use-form.js.map +0 -1
  2048. package/dist/src/views/auth/password-reset/password-reset-view.js.map +0 -1
  2049. package/dist/src/views/auth/settings/layout.js.map +0 -1
  2050. package/dist/src/views/auth/settings/nav.js.map +0 -1
  2051. package/dist/src/views/auth/settings/overview/overview.js.map +0 -1
  2052. package/dist/src/views/auth/settings/security/security.js.map +0 -1
  2053. package/dist/src/views/auth/settings/shell.js.map +0 -1
  2054. package/dist/src/views/auth/sign-in/form/form.js.map +0 -1
  2055. package/dist/src/views/auth/sign-in/form/mutation-api.d.ts +0 -13
  2056. package/dist/src/views/auth/sign-in/form/mutation-api.d.ts.map +0 -1
  2057. package/dist/src/views/auth/sign-in/form/mutation-api.js +0 -2
  2058. package/dist/src/views/auth/sign-in/form/mutation-api.js.map +0 -1
  2059. package/dist/src/views/auth/sign-in/form/use-form.js.map +0 -1
  2060. package/dist/src/views/auth/sign-in/sign-in-view.js.map +0 -1
  2061. package/dist/src/views/auth/sign-up/components/password-input.js.map +0 -1
  2062. package/dist/src/views/auth/sign-up/email-confirmation-view.js.map +0 -1
  2063. package/dist/src/views/auth/sign-up/form/form.js.map +0 -1
  2064. package/dist/src/views/auth/sign-up/form/mutation-api.d.ts +0 -19
  2065. package/dist/src/views/auth/sign-up/form/mutation-api.d.ts.map +0 -1
  2066. package/dist/src/views/auth/sign-up/form/mutation-api.js +0 -2
  2067. package/dist/src/views/auth/sign-up/form/mutation-api.js.map +0 -1
  2068. package/dist/src/views/auth/sign-up/form/use-form.js.map +0 -1
  2069. package/dist/src/views/auth/sign-up/sign-up-view.js.map +0 -1
  2070. package/dist/src/views/auth/sign-up/wrapper.js.map +0 -1
  2071. package/dist/src/views/auth/sso/buttons/client.js.map +0 -1
  2072. package/dist/src/views/auth/sso/buttons/mutation-api.d.ts +0 -7
  2073. package/dist/src/views/auth/sso/buttons/mutation-api.d.ts.map +0 -1
  2074. package/dist/src/views/auth/sso/buttons/mutation-api.js +0 -2
  2075. package/dist/src/views/auth/sso/buttons/mutation-api.js.map +0 -1
  2076. package/dist/src/views/auth/sso/buttons/sso-buttons.js.map +0 -1
  2077. package/dist/src/views/auth/sso/callback/callback-sso-view.js.map +0 -1
  2078. package/dist/src/views/auth/sso/callback/client/client.js.map +0 -1
  2079. package/dist/src/views/auth/sso/callback/client/mutation-api.d.ts +0 -11
  2080. package/dist/src/views/auth/sso/callback/client/mutation-api.d.ts.map +0 -1
  2081. package/dist/src/views/auth/sso/callback/client/mutation-api.js +0 -2
  2082. package/dist/src/views/auth/sso/callback/client/mutation-api.js.map +0 -1
  2083. package/dist/src/views/breadcrumb/breadcrumb-main.js.map +0 -1
  2084. package/dist/src/views/breadcrumb/breadcrumb-render.js.map +0 -1
  2085. package/dist/src/views/breadcrumb/crumb.js.map +0 -1
  2086. package/dist/src/views/breadcrumb/resolve-main-breadcrumb.js.map +0 -1
  2087. package/dist/src/views/error/back-button.js.map +0 -1
  2088. package/dist/src/views/error/error-view.js.map +0 -1
  2089. package/dist/src/views/error/global-error-view.js.map +0 -1
  2090. package/dist/src/views/files/actions/delete-action.d.ts +0 -12
  2091. package/dist/src/views/files/actions/delete-action.d.ts.map +0 -1
  2092. package/dist/src/views/files/actions/delete-action.js +0 -2
  2093. package/dist/src/views/files/actions/delete-action.js.map +0 -1
  2094. package/dist/src/views/files/actions/file-row-actions.js.map +0 -1
  2095. package/dist/src/views/files/my-files-table-view.js.map +0 -1
  2096. package/dist/src/views/layouts/provider.js.map +0 -1
  2097. package/dist/src/views/layouts/root-layout.js.map +0 -1
  2098. package/dist/src/views/layouts/theme/header/header.js.map +0 -1
  2099. package/dist/src/views/layouts/theme/header/user/auth/auth.js.map +0 -1
  2100. package/dist/src/views/layouts/theme/header/user/auth/client.js.map +0 -1
  2101. package/dist/src/views/layouts/theme/header/user/auth/log-out-mutation-api.d.ts +0 -7
  2102. package/dist/src/views/layouts/theme/header/user/auth/log-out-mutation-api.d.ts.map +0 -1
  2103. package/dist/src/views/layouts/theme/header/user/auth/log-out-mutation-api.js +0 -2
  2104. package/dist/src/views/layouts/theme/header/user/auth/log-out-mutation-api.js.map +0 -1
  2105. package/dist/src/views/layouts/theme/header/user/user.js.map +0 -1
  2106. package/dist/src/views/layouts/theme/layout.js.map +0 -1
  2107. package/dist/src/views/layouts/theme/notification-listener.js.map +0 -1
  2108. package/dist/src/views/layouts/theme/web-socket-auth-sync.js.map +0 -1
  2109. package/dist/src/vitnode.config.js.map +0 -1
  2110. package/dist/src/ws/handle.js.map +0 -1
  2111. package/dist/src/ws/manager.js.map +0 -1
  2112. package/dist/src/ws/notifications.js.map +0 -1
  2113. package/dist/src/ws/provider.js.map +0 -1
  2114. package/dist/src/ws/registry.js.map +0 -1
  2115. package/dist/src/ws/types.js.map +0 -1
  2116. package/dist/src/ws/use-websocket.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.js","names":[],"sources":["../../../../src/api/models/storage.ts"],"sourcesContent":["import type { Context } from \"hono\";\n\nimport { and, eq } from \"drizzle-orm\";\nimport { HTTPException } from \"hono/http-exception\";\n\nimport { core_files } from \"@/database/files\";\nimport {\n buildStorageKey,\n generateStorageFileName,\n replaceFileExtension,\n} from \"@/lib/api/upload\";\n\nconst DEFAULT_IMAGE_QUALITY = 85;\n\n// Formats sharp can lossily re-encode. SVG/GIF are intentionally excluded to\n// preserve vectors and animation.\nconst PROCESSABLE_IMAGE_MIME_TYPES = new Set([\n \"image/avif\",\n \"image/jpeg\",\n \"image/png\",\n \"image/tiff\",\n \"image/webp\",\n]);\n\nexport interface StorageUploadArgs {\n body: Buffer;\n contentType?: string;\n key: string;\n}\n\nexport interface StorageUploadResult {\n key: string;\n url: string;\n}\n\n/**\n * Present only on disk-backed adapters (e.g. Local). The Node entry point reads\n * it to mount `serveStatic` for the stored files. Cloud adapters omit it.\n */\nexport interface StorageStaticConfig {\n mountPath: string;\n root: string;\n stripPrefix: string;\n}\n\nexport interface StorageApiPlugin {\n delete: (key: string) => Promise<void>;\n getUrl: (key: string) => string;\n static?: StorageStaticConfig;\n upload: (args: StorageUploadArgs) => Promise<StorageUploadResult>;\n}\n\nexport interface StorageUploadOptions {\n /** Allowed MIME types (e.g. `[\"image/png\", \"image/jpeg\"]`). Omit to allow any. */\n allowedMimeTypes?: string[];\n file: File;\n /** Sub-folder under the dated prefix, e.g. `avatars` -> `month_7_2026/avatars/…`. */\n folder: string;\n /** Maximum file size in bytes. Omit for no limit. */\n maxBytes?: number;\n /** Extra data stored in the `core_files.metadata` JSON column. */\n metadata?: Record<string, unknown>;\n /**\n * Owner recorded in `core_files.userId`. When omitted it defaults to the\n * request's admin user (on admin routes), then the frontend session user, else\n * null. Pass it explicitly - including `null` - to override, e.g. when an admin\n * uploads on behalf of another user.\n */\n userId?: null | number;\n}\n\ninterface ProcessedImage {\n body: Buffer;\n dimensions: null | { height: number; width: number };\n // New extension (incl. leading dot) when the format changed, else null.\n extension: null | string;\n mimeType: string;\n}\n\nexport class StorageModel {\n constructor(c: Context) {\n this.c = c;\n }\n\n protected readonly c: Context;\n\n // Re-encodes images with sharp when `storage.image` is set: shrinks them at\n // the configured quality, converts to WebP unless disabled, and reads their\n // pixel dimensions. Non-image files (and everything when `image` is off) pass\n // through untouched. sharp is imported lazily so it only loads when used.\n private async processImage(\n body: Buffer,\n mimeType: string,\n ): Promise<ProcessedImage> {\n const image = this.c.get(\"core\")?.storage?.image;\n if (!image || !PROCESSABLE_IMAGE_MIME_TYPES.has(mimeType)) {\n return { body, mimeType, extension: null, dimensions: null };\n }\n\n const quality = image.quality ?? DEFAULT_IMAGE_QUALITY;\n const toWebp = image.webp !== false;\n\n let sharp;\n try {\n const { default: s } = await import(\"sharp\");\n sharp = s;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (err) {\n throw new HTTPException(500, {\n message: \"Image optimization library (sharp) failed to load\",\n });\n }\n\n try {\n const metadata = await sharp(body).metadata();\n if (!metadata.format) {\n return { body, mimeType, extension: null, dimensions: null };\n }\n\n const targetFormat = toWebp ? \"webp\" : metadata.format;\n const output = await sharp(body)\n .toFormat(targetFormat, { quality })\n .toBuffer();\n\n return {\n body: output,\n mimeType: toWebp ? \"image/webp\" : mimeType,\n extension: toWebp ? \".webp\" : null,\n dimensions:\n metadata.width && metadata.height\n ? { width: metadata.width, height: metadata.height }\n : null,\n };\n } catch {\n throw new HTTPException(400, {\n message: \"Invalid or corrupt image file\",\n });\n }\n }\n\n private requireProvider(): StorageApiPlugin {\n const provider = this.c.get(\"core\").storage?.adapter;\n if (!provider) {\n throw new HTTPException(500, {\n message: \"Storage provider not found\",\n });\n }\n\n return provider;\n }\n\n async delete(key: string): Promise<void> {\n await this.requireProvider().delete(key);\n }\n\n /**\n * Removes a stored file by its `core_files` id: deletes the underlying object\n * from the storage provider (best-effort - a missing object doesn't block the\n * record removal), then deletes the database row. Throws a 404 when no file\n * with that id exists. Pass `ownerId` to scope the delete to that user's files\n * (so a user can only remove their own uploads).\n */\n async deleteFile(id: number, ownerId?: number): Promise<void> {\n const db = this.c.get(\"db\");\n const where =\n ownerId === undefined\n ? eq(core_files.id, id)\n : and(eq(core_files.id, id), eq(core_files.userId, ownerId));\n\n const [row] = await db\n .select({ key: core_files.key })\n .from(core_files)\n .where(where)\n .limit(1);\n\n if (!row) {\n throw new HTTPException(404, { message: \"File not found\" });\n }\n\n const provider = this.c.get(\"core\").storage?.adapter;\n if (provider) {\n await provider.delete(row.key).catch(() => undefined);\n }\n\n await db.delete(core_files).where(where);\n }\n\n getUrl(key: string): string {\n return this.requireProvider().getUrl(key);\n }\n\n async upload({\n allowedMimeTypes,\n file,\n folder,\n maxBytes,\n metadata,\n userId,\n }: StorageUploadOptions): Promise<StorageUploadResult> {\n const provider = this.requireProvider();\n\n if (maxBytes !== undefined && file.size > maxBytes) {\n throw new HTTPException(400, {\n message: `File exceeds the maximum size of ${maxBytes} bytes`,\n });\n }\n if (allowedMimeTypes && !allowedMimeTypes.includes(file.type)) {\n throw new HTTPException(400, {\n message: `Unsupported file type: ${file.type || \"unknown\"}`,\n });\n }\n\n const processed = await this.processImage(\n Buffer.from(await file.arrayBuffer()),\n file.type,\n );\n\n // When a conversion changed the format, reflect the new extension in both\n // the stored key and the display name so downloads and previews are honest.\n const displayName = processed.extension\n ? replaceFileExtension(file.name, processed.extension)\n : file.name;\n const key = buildStorageKey({\n folder,\n fileName: generateStorageFileName(\n file.name,\n processed.extension ?? undefined,\n ),\n });\n\n const result = await provider.upload({\n key,\n body: processed.body,\n contentType: processed.mimeType || undefined,\n });\n\n const ownerId =\n userId !== undefined\n ? userId\n : (this.c.get(\"admin\")?.user.id ?? this.c.get(\"user\")?.id ?? null);\n\n try {\n await this.c\n .get(\"db\")\n .insert(core_files)\n .values({\n name: displayName,\n key: result.key,\n folder,\n mimeType: processed.mimeType || null,\n size: processed.body.length,\n userId: ownerId,\n pluginId: this.c.get(\"plugin\")?.id ?? null,\n metadata: {\n ...(metadata ?? {}),\n ...(processed.dimensions\n ? { dimensions: processed.dimensions }\n : {}),\n },\n });\n } catch (error) {\n await provider.delete(result.key).catch(() => undefined);\n throw error;\n }\n\n return result;\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-user-by-id.js","names":[],"sources":["../../../../../src/api/models/user/get-user-by-id.ts"],"sourcesContent":["import type { Context } from \"hono\";\n\nimport { eq } from \"drizzle-orm\";\n\nimport { core_users } from \"@/database/users\";\n\nexport const getUserById = async ({ id, c }: { c: Context; id: number }) => {\n const [user] = await c\n .get(\"db\")\n .select({\n id: core_users.id,\n email: core_users.email,\n name: core_users.name,\n nameCode: core_users.nameCode,\n createdAt: core_users.createdAt,\n newsletter: core_users.newsletter,\n avatarColor: core_users.avatarColor,\n emailVerified: core_users.emailVerified,\n roleId: core_users.roleId,\n birthday: core_users.birthday,\n language: core_users.language,\n })\n .from(core_users)\n .where(eq(core_users.id, id))\n .limit(1);\n if (!user) return null;\n\n return user;\n};\n"],"mappings":"yFAMA,MAAa,EAAc,MAAO,CAAE,KAAI,OAAoC,CAC1E,GAAM,CAAC,GAAQ,MAAM,EAClB,IAAI,IAAI,CAAC,CACT,OAAO,CACN,GAAI,EAAW,GACf,MAAO,EAAW,MAClB,KAAM,EAAW,KACjB,SAAU,EAAW,SACrB,UAAW,EAAW,UACtB,WAAY,EAAW,WACvB,YAAa,EAAW,YACxB,cAAe,EAAW,cAC1B,OAAQ,EAAW,OACnB,SAAU,EAAW,SACrB,SAAU,EAAW,QACvB,CAAC,CAAC,CACD,KAAK,CAAU,CAAC,CAChB,MAAM,EAAG,EAAW,GAAI,CAAE,CAAC,CAAC,CAC5B,MAAM,CAAC,EAGV,OAFK,GAAa,IAGpB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-user-by-name-code.js","names":[],"sources":["../../../../../src/api/models/user/get-user-by-name-code.ts"],"sourcesContent":["import type { Context } from \"hono\";\n\nimport { eq } from \"drizzle-orm\";\n\nimport { core_users } from \"@/database/users\";\n\nexport const getUserByNameCode = async ({\n nameCode,\n c,\n}: {\n c: Context;\n nameCode: string;\n}) => {\n const [user] = await c\n .get(\"db\")\n .select({\n id: core_users.id,\n email: core_users.email,\n name: core_users.name,\n nameCode: core_users.nameCode,\n createdAt: core_users.createdAt,\n newsletter: core_users.newsletter,\n avatarColor: core_users.avatarColor,\n emailVerified: core_users.emailVerified,\n roleId: core_users.roleId,\n birthday: core_users.birthday,\n language: core_users.language,\n })\n .from(core_users)\n .where(eq(core_users.nameCode, nameCode))\n .limit(1);\n if (!user) return null;\n\n return user;\n};\n"],"mappings":"yFAMA,MAAa,EAAoB,MAAO,CACtC,WACA,OAII,CACJ,GAAM,CAAC,GAAQ,MAAM,EAClB,IAAI,IAAI,CAAC,CACT,OAAO,CACN,GAAI,EAAW,GACf,MAAO,EAAW,MAClB,KAAM,EAAW,KACjB,SAAU,EAAW,SACrB,UAAW,EAAW,UACtB,WAAY,EAAW,WACvB,YAAa,EAAW,YACxB,cAAe,EAAW,cAC1B,OAAQ,EAAW,OACnB,SAAU,EAAW,SACrB,SAAU,EAAW,QACvB,CAAC,CAAC,CACD,KAAK,CAAU,CAAC,CAChB,MAAM,EAAG,EAAW,SAAU,CAAQ,CAAC,CAAC,CACxC,MAAM,CAAC,EAGV,OAFK,GAAa,IAGpB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sign-in-with-passwords.js","names":[],"sources":["../../../../../src/api/models/user/sign-in-with-passwords.ts"],"sourcesContent":["import type { Context } from \"hono\";\n\nimport { eq } from \"drizzle-orm\";\nimport { HTTPException } from \"hono/http-exception\";\n\nimport { core_users } from \"@/database/users\";\n\nimport { PasswordModel } from \"../password\";\n\nexport const signInWithPassword = async ({\n email,\n password,\n c,\n}: {\n c: Context;\n email: string;\n password: string;\n}) => {\n const [user] = await c\n .get(\"db\")\n .select({\n id: core_users.id,\n email: core_users.email,\n password: core_users.password,\n })\n .from(core_users)\n .where(eq(core_users.email, email))\n .limit(1);\n\n if (!user?.password) {\n throw new HTTPException(403);\n }\n\n const validPassword = await new PasswordModel().verifyPassword(\n password,\n user.password,\n );\n\n if (!validPassword) {\n throw new HTTPException(403);\n }\n\n return { id: user.id, email: user.email };\n};\n"],"mappings":"4LASA,MAAa,EAAqB,MAAO,CACvC,QACA,WACA,OAKI,CACJ,GAAM,CAAC,GAAQ,MAAM,EAClB,IAAI,IAAI,CAAC,CACT,OAAO,CACN,GAAI,EAAW,GACf,MAAO,EAAW,MAClB,SAAU,EAAW,QACvB,CAAC,CAAC,CACD,KAAK,CAAU,CAAC,CAChB,MAAM,EAAG,EAAW,MAAO,CAAK,CAAC,CAAC,CAClC,MAAM,CAAC,EAWV,GATI,CAAC,GAAM,UASP,CAAC,MALuB,IAAI,EAAc,CAAC,CAAC,eAC9C,EACA,EAAK,QACP,EAGE,MAAM,IAAI,EAAc,GAAG,EAG7B,MAAO,CAAE,GAAI,EAAK,GAAI,MAAO,EAAK,KAAM,CAC1C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sign-up.js","names":[],"sources":["../../../../../src/api/models/user/sign-up.ts"],"sourcesContent":["import type { Context } from \"hono\";\n\nimport { and, count, eq, or } from \"drizzle-orm\";\nimport { HTTPException } from \"hono/http-exception\";\n\nimport { generateAvatarColor } from \"@/api/modules/users/avatar-color\";\nimport { core_roles } from \"@/database/roles\";\nimport { core_users } from \"@/database/users\";\nimport { removeSpecialCharacters } from \"@/lib/special-characters\";\n\nconst getDefaultData = async (\n c: Context,\n): Promise<{\n emailVerified: boolean;\n roleId: number;\n}> => {\n const [countUsers] = await c\n .get(\"db\")\n .select({ count: count() })\n .from(core_users);\n\n // If no users, return root group\n if (countUsers.count === 0) {\n const [defaultRole] = await c\n .get(\"db\")\n .select({\n id: core_roles.id,\n })\n .from(core_roles)\n .where(and(eq(core_roles.default, false), eq(core_roles.root, true)))\n .limit(1);\n\n if (!defaultRole) {\n throw new HTTPException(400, {\n message: \"Default group not found.\",\n });\n }\n\n return {\n roleId: defaultRole.id,\n emailVerified: true,\n };\n }\n\n const [defaultRole] = await c\n .get(\"db\")\n .select({\n id: core_roles.id,\n })\n .from(core_roles)\n .where(and(eq(core_roles.default, true), eq(core_roles.root, false)))\n .limit(1);\n\n if (!defaultRole) {\n throw new HTTPException(400, {\n message: \"Default role not found.\",\n });\n }\n\n return {\n roleId: defaultRole.id,\n emailVerified: !c.get(\"core\").email?.adapter,\n };\n};\n\nexport const signUp = async (\n {\n email,\n name,\n newsletter,\n hashedPassword,\n }: {\n email: string;\n hashedPassword: string | undefined;\n name: string;\n newsletter?: boolean;\n },\n c: Context,\n) => {\n const convertToNameSEO = removeSpecialCharacters(name);\n const checkIfUserExist = await c\n .get(\"db\")\n .select({\n email: core_users.email,\n name_code: core_users.nameCode,\n })\n .from(core_users)\n .where(\n or(\n eq(core_users.email, email),\n eq(core_users.nameCode, convertToNameSEO),\n ),\n );\n\n const findEmail = checkIfUserExist.find(user => user.email === email);\n if (findEmail) {\n throw new HTTPException(409, {\n message: \"Email already exists\",\n });\n }\n const findName = checkIfUserExist.find(\n user => user.name_code === convertToNameSEO,\n );\n if (findName) {\n throw new HTTPException(409, {\n message: \"Name already exists\",\n });\n }\n\n const { roleId, emailVerified } = await getDefaultData(c);\n const [data] = await c\n .get(\"db\")\n .insert(core_users)\n .values({\n email,\n name,\n nameCode: convertToNameSEO,\n // TODO: Handle newsletter only if email is allowed\n newsletter,\n password: hashedPassword,\n avatarColor: generateAvatarColor(name),\n roleId,\n emailVerified,\n ipAddress: c.get(\"ipAddress\"),\n // TODO: Handle language\n // language: await this.getLanguage(req),\n })\n .returning();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { password: _, ...user } = data;\n\n return user;\n};\n"],"mappings":"wXAUA,MAAM,EAAiB,KACrB,IAII,CACJ,GAAM,CAAC,GAAc,MAAM,EACxB,IAAI,IAAI,CAAC,CACT,OAAO,CAAE,MAAO,EAAM,CAAE,CAAC,CAAC,CAC1B,KAAK,CAAU,EAGlB,GAAI,EAAW,QAAU,EAAG,CAC1B,GAAM,CAAC,GAAe,MAAM,EACzB,IAAI,IAAI,CAAC,CACT,OAAO,CACN,GAAI,EAAW,EACjB,CAAC,CAAC,CACD,KAAK,CAAU,CAAC,CAChB,MAAM,EAAI,EAAG,EAAW,QAAS,EAAK,EAAG,EAAG,EAAW,KAAM,EAAI,CAAC,CAAC,CAAC,CACpE,MAAM,CAAC,EAEV,GAAI,CAAC,EACH,MAAM,IAAI,EAAc,IAAK,CAC3B,QAAS,0BACX,CAAC,EAGH,MAAO,CACL,OAAQ,EAAY,GACpB,cAAe,EACjB,CACF,CAEA,GAAM,CAAC,GAAe,MAAM,EACzB,IAAI,IAAI,CAAC,CACT,OAAO,CACN,GAAI,EAAW,EACjB,CAAC,CAAC,CACD,KAAK,CAAU,CAAC,CAChB,MAAM,EAAI,EAAG,EAAW,QAAS,EAAI,EAAG,EAAG,EAAW,KAAM,EAAK,CAAC,CAAC,CAAC,CACpE,MAAM,CAAC,EAEV,GAAI,CAAC,EACH,MAAM,IAAI,EAAc,IAAK,CAC3B,QAAS,yBACX,CAAC,EAGH,MAAO,CACL,OAAQ,EAAY,GACpB,cAAe,CAAC,EAAE,IAAI,MAAM,CAAC,CAAC,OAAO,OACvC,CACF,EAEa,EAAS,MACpB,CACE,QACA,OACA,aACA,kBAOF,IACG,CACH,IAAM,EAAmB,EAAwB,CAAI,EAC/C,EAAmB,MAAM,EAC5B,IAAI,IAAI,CAAC,CACT,OAAO,CACN,MAAO,EAAW,MAClB,UAAW,EAAW,QACxB,CAAC,CAAC,CACD,KAAK,CAAU,CAAC,CAChB,MACC,EACE,EAAG,EAAW,MAAO,CAAK,EAC1B,EAAG,EAAW,SAAU,CAAgB,CAC1C,CACF,EAGF,GADkB,EAAiB,KAAK,GAAQ,EAAK,QAAU,CACnD,EACV,MAAM,IAAI,EAAc,IAAK,CAC3B,QAAS,sBACX,CAAC,EAKH,GAHiB,EAAiB,KAChC,GAAQ,EAAK,YAAc,CAElB,EACT,MAAM,IAAI,EAAc,IAAK,CAC3B,QAAS,qBACX,CAAC,EAGH,GAAM,CAAE,SAAQ,iBAAkB,MAAM,EAAe,CAAC,EAClD,CAAC,GAAQ,MAAM,EAClB,IAAI,IAAI,CAAC,CACT,OAAO,CAAU,CAAC,CAClB,OAAO,CACN,QACA,OACA,SAAU,EAEV,aACA,SAAU,EACV,YAAa,EAAoB,CAAI,EACrC,SACA,gBACA,UAAW,EAAE,IAAI,WAAW,CAG9B,CAAC,CAAC,CACD,UAAU,EAGP,CAAE,SAAU,EAAG,GAAG,GAAS,EAEjC,OAAO,CACT"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"user.js","names":[],"sources":["../../../../src/api/models/user.ts"],"sourcesContent":["import { getUserById } from \"./user/get-user-by-id\";\nimport { getUserByNameCode } from \"./user/get-user-by-name-code\";\nimport { signInWithPassword } from \"./user/sign-in-with-passwords\";\nimport { signUp } from \"./user/sign-up\";\n\nexport class UserModel {\n getUserById = getUserById;\n getUserByNameCode = getUserByNameCode;\n signInWithPassword = signInWithPassword;\n signUp = signUp;\n}\n"],"mappings":"4OAKA,IAAa,EAAb,KAAuB,CACrB,YAAc,EACd,kBAAoB,EACpB,mBAAqB,EACrB,OAAS,CACX"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin.module.js","names":[],"sources":["../../../../../src/api/modules/admin/admin.module.ts"],"sourcesContent":["import { buildModule } from \"@/api/lib/module\";\nimport { CONFIG_PLUGIN } from \"@/config\";\n\nimport { advancedAdminModule } from \"./advanced/advanced.admin.module\";\nimport { debugAdminModule } from \"./debug/debug.admin.module\";\nimport { filesAdminModule } from \"./files/files.admin.module\";\nimport { rolesAdminModule } from \"./roles/roles.admin.module\";\nimport { sendNotificationRoute } from \"./routes/notifications.route\";\nimport { sessionAdminRoute } from \"./routes/session.route\";\nimport { staffAdminModule } from \"./staff/staff.admin.module\";\nimport { usersAdminModule } from \"./users/users.admin.module\";\n\nexport const adminModule = buildModule({\n pluginId: CONFIG_PLUGIN.pluginId,\n name: \"admin\",\n routes: [sessionAdminRoute, sendNotificationRoute],\n modules: [\n usersAdminModule,\n rolesAdminModule,\n staffAdminModule,\n debugAdminModule,\n advancedAdminModule,\n filesAdminModule,\n ],\n cronJobs: [],\n});\n"],"mappings":"0nBAYA,MAAa,EAAc,EAAY,CACrC,SAAU,EAAc,SACxB,KAAM,QACN,OAAQ,CAAC,EAAmB,CAAqB,EACjD,QAAS,CACP,EACA,EACA,EACA,EACA,EACA,CACF,EACA,SAAU,CAAC,CACb,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"advanced.admin.module.js","names":[],"sources":["../../../../../../src/api/modules/admin/advanced/advanced.admin.module.ts"],"sourcesContent":["import { buildModule } from \"@/api/lib/module\";\nimport { CONFIG_PLUGIN } from \"@/config\";\n\nimport { cronAdminModule } from \"./cron/cron.admin.module\";\nimport { queueAdminModule } from \"./queue/queue.admin.module\";\n\nexport const advancedAdminModule = buildModule({\n pluginId: CONFIG_PLUGIN.pluginId,\n name: \"advanced\",\n routes: [],\n modules: [cronAdminModule, queueAdminModule],\n});\n"],"mappings":"0OAMA,MAAa,EAAsB,EAAY,CAC7C,SAAU,EAAc,SACxB,KAAM,WACN,OAAQ,CAAC,EACT,QAAS,CAAC,EAAiB,CAAgB,CAC7C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"cron.admin.module.js","names":[],"sources":["../../../../../../../src/api/modules/admin/advanced/cron/cron.admin.module.ts"],"sourcesContent":["import { buildModule } from \"@/api/lib/module\";\nimport { CONFIG_PLUGIN } from \"@/config\";\n\nimport { getCronsRoute } from \"./routes/get.route\";\nimport { runCronRoute } from \"./routes/run.route\";\n\nexport const cronAdminModule = buildModule({\n pluginId: CONFIG_PLUGIN.pluginId,\n name: \"cron\",\n routes: [getCronsRoute, runCronRoute],\n});\n"],"mappings":"4NAMA,MAAa,EAAkB,EAAY,CACzC,SAAU,EAAc,SACxB,KAAM,OACN,OAAQ,CAAC,EAAe,CAAY,CACtC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"get.route.js","names":[],"sources":["../../../../../../../../src/api/modules/admin/advanced/cron/routes/get.route.ts"],"sourcesContent":["import z from \"zod\";\n\nimport { buildRoute } from \"@/api/lib/route\";\nimport {\n withPagination,\n zodPaginationPageInfo,\n zodPaginationQuery,\n} from \"@/api/lib/with-pagination\";\nimport { CONFIG_PLUGIN } from \"@/config\";\nimport { core_cron } from \"@/database/cron\";\n\nexport const getCronsRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n route: {\n method: \"get\",\n description: \"Get Admin Cron Logs\",\n path: \"/\",\n request: {\n query: zodPaginationQuery.extend({\n order: z.enum([\"asc\", \"desc\"]).optional(),\n orderBy: z.enum([\"createdAt\", \"lastRun\", \"nextRun\"]).optional(),\n }),\n },\n responses: {\n 200: {\n content: {\n \"application/json\": {\n schema: z.object({\n edges: z.array(\n z.object({\n id: z.number(),\n createdAt: z.date(),\n name: z.string(),\n description: z.string().nullable(),\n pluginId: z.string(),\n module: z.string(),\n lastRun: z.date().nullable(),\n nextRun: z.date().nullable(),\n schedule: z.string(),\n }),\n ),\n pageInfo: zodPaginationPageInfo,\n }),\n },\n },\n description: \"List of cron jobs\",\n },\n },\n },\n handler: async c => {\n const query = c.req.valid(\"query\");\n const data = await withPagination({\n params: {\n query,\n },\n c,\n primaryCursor: core_cron.id,\n query: async ({ limit, where, orderBy }) =>\n await c\n .get(\"db\")\n .select()\n .from(core_cron)\n .where(where)\n .orderBy(orderBy)\n .limit(limit),\n table: core_cron,\n orderBy: {\n column: query.orderBy ? core_cron[query.orderBy] : core_cron.lastRun,\n order: query.order ?? \"desc\",\n },\n });\n\n return c.json(data);\n },\n});\n"],"mappings":"iUAWA,MAAa,EAAgB,EAAW,CACtC,SAAU,EAAc,SACxB,MAAO,CACL,OAAQ,MACR,YAAa,sBACb,KAAM,IACN,QAAS,CACP,MAAO,EAAmB,OAAO,CAC/B,MAAO,EAAE,KAAK,CAAC,MAAO,MAAM,CAAC,CAAC,CAAC,SAAS,EACxC,QAAS,EAAE,KAAK,CAAC,YAAa,UAAW,SAAS,CAAC,CAAC,CAAC,SAAS,CAChE,CAAC,CACH,EACA,UAAW,CACT,IAAK,CACH,QAAS,CACP,mBAAoB,CAClB,OAAQ,EAAE,OAAO,CACf,MAAO,EAAE,MACP,EAAE,OAAO,CACP,GAAI,EAAE,OAAO,EACb,UAAW,EAAE,KAAK,EAClB,KAAM,EAAE,OAAO,EACf,YAAa,EAAE,OAAO,CAAC,CAAC,SAAS,EACjC,SAAU,EAAE,OAAO,EACnB,OAAQ,EAAE,OAAO,EACjB,QAAS,EAAE,KAAK,CAAC,CAAC,SAAS,EAC3B,QAAS,EAAE,KAAK,CAAC,CAAC,SAAS,EAC3B,SAAU,EAAE,OAAO,CACrB,CAAC,CACH,EACA,SAAU,CACZ,CAAC,CACH,CACF,EACA,YAAa,mBACf,CACF,CACF,EACA,QAAS,KAAM,IAAK,CAClB,IAAM,EAAQ,EAAE,IAAI,MAAM,OAAO,EAC3B,EAAO,MAAM,EAAe,CAChC,OAAQ,CACN,OACF,EACA,IACA,cAAe,EAAU,GACzB,MAAO,MAAO,CAAE,QAAO,QAAO,aAC5B,MAAM,EACH,IAAI,IAAI,CAAC,CACT,OAAO,CAAC,CACR,KAAK,CAAS,CAAC,CACf,MAAM,CAAK,CAAC,CACZ,QAAQ,CAAO,CAAC,CAChB,MAAM,CAAK,EAChB,MAAO,EACP,QAAS,CACP,OAAQ,EAAM,QAAU,EAAU,EAAM,SAAW,EAAU,QAC7D,MAAO,EAAM,OAAS,MACxB,CACF,CAAC,EAED,OAAO,EAAE,KAAK,CAAI,CACpB,CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"run.route.js","names":["z"],"sources":["../../../../../../../../src/api/modules/admin/advanced/cron/routes/run.route.ts"],"sourcesContent":["import { eq } from \"drizzle-orm\";\nimport { z } from \"zod\";\n\nimport type { CronJobConfig } from \"@/api/lib/cron\";\n\nimport { buildRoute } from \"@/api/lib/route\";\nimport { CONFIG_PLUGIN } from \"@/config\";\nimport { core_cron } from \"@/database/cron\";\nimport { getNextCronRunDate } from \"@/lib/api/get-next-cron-run-date\";\n\nexport const runCronRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n route: {\n method: \"post\",\n description: \"Run a specific cron job\",\n path: \"/{id}\",\n request: {\n params: z.object({\n id: z.string(),\n }),\n },\n responses: {\n 201: {\n content: {\n \"application/json\": {\n schema: z.object({\n message: z.string().optional(),\n error: z.string().optional(),\n }),\n },\n },\n description: \"Cron job executed successfully\",\n },\n 404: {\n content: {\n \"application/json\": {\n schema: z.object({\n message: z.string().optional(),\n error: z.string().optional(),\n }),\n },\n },\n description: \"Cron job not found\",\n },\n 500: {\n content: {\n \"application/json\": {\n schema: z.object({\n message: z.string().optional(),\n error: z.string().optional(),\n }),\n },\n },\n description: \"Internal server error\",\n },\n },\n },\n handler: async c => {\n const db = c.get(\"db\");\n const cronJobs: CronJobConfig[] = c.get(\"core\").cron;\n const param = c.req.valid(\"param\");\n\n try {\n const cronFromDb = await db\n .select()\n .from(core_cron)\n .where(eq(core_cron.id, +param.id))\n .limit(1);\n\n if (cronFromDb.length === 0) {\n return c.json({ error: \"Cron job not found\" }, 404);\n }\n\n const dbCron = cronFromDb[0];\n\n const job: CronJobConfig | undefined = cronJobs.find(\n j =>\n j.name === dbCron.name &&\n j.pluginId === dbCron.pluginId &&\n j.module === dbCron.module,\n );\n\n if (!job) {\n return c.json({ error: \"Cron job configuration not found\" }, 404);\n }\n\n const now = new Date();\n\n try {\n await job.handler(c);\n\n await db\n .update(core_cron)\n .set({\n lastRun: now,\n nextRun: getNextCronRunDate(job.schedule, now),\n })\n .where(eq(core_cron.id, dbCron.id));\n\n return c.json(\n {\n message: \"Cron job executed successfully\",\n },\n 201,\n );\n } catch (error) {\n await c.get(\"log\").error(`Error executing cron job: ${error}`);\n\n return c.json({ error: \"Failed to execute cron job\" }, 500);\n }\n } catch (error) {\n await c.get(\"log\").error(`Error running cron job: ${error}`);\n\n return c.json({ error: \"Internal server error\" }, 500);\n }\n },\n});\n"],"mappings":"sUAUA,MAAa,EAAe,EAAW,CACrC,SAAU,EAAc,SACxB,MAAO,CACL,OAAQ,OACR,YAAa,0BACb,KAAM,QACN,QAAS,CACP,OAAQA,EAAE,OAAO,CACf,GAAIA,EAAE,OAAO,CACf,CAAC,CACH,EACA,UAAW,CACT,IAAK,CACH,QAAS,CACP,mBAAoB,CAClB,OAAQA,EAAE,OAAO,CACf,QAASA,EAAE,OAAO,CAAC,CAAC,SAAS,EAC7B,MAAOA,EAAE,OAAO,CAAC,CAAC,SAAS,CAC7B,CAAC,CACH,CACF,EACA,YAAa,gCACf,EACA,IAAK,CACH,QAAS,CACP,mBAAoB,CAClB,OAAQA,EAAE,OAAO,CACf,QAASA,EAAE,OAAO,CAAC,CAAC,SAAS,EAC7B,MAAOA,EAAE,OAAO,CAAC,CAAC,SAAS,CAC7B,CAAC,CACH,CACF,EACA,YAAa,oBACf,EACA,IAAK,CACH,QAAS,CACP,mBAAoB,CAClB,OAAQA,EAAE,OAAO,CACf,QAASA,EAAE,OAAO,CAAC,CAAC,SAAS,EAC7B,MAAOA,EAAE,OAAO,CAAC,CAAC,SAAS,CAC7B,CAAC,CACH,CACF,EACA,YAAa,uBACf,CACF,CACF,EACA,QAAS,KAAM,IAAK,CAClB,IAAM,EAAK,EAAE,IAAI,IAAI,EACf,EAA4B,EAAE,IAAI,MAAM,CAAC,CAAC,KAC1C,EAAQ,EAAE,IAAI,MAAM,OAAO,EAEjC,GAAI,CACF,IAAM,EAAa,MAAM,EACtB,OAAO,CAAC,CACR,KAAK,CAAS,CAAC,CACf,MAAM,EAAG,EAAU,GAAI,CAAC,EAAM,EAAE,CAAC,CAAC,CAClC,MAAM,CAAC,EAEV,GAAI,EAAW,SAAW,EACxB,OAAO,EAAE,KAAK,CAAE,MAAO,oBAAqB,EAAG,GAAG,EAGpD,IAAM,EAAS,EAAW,GAEpB,EAAiC,EAAS,KAC9C,GACE,EAAE,OAAS,EAAO,MAClB,EAAE,WAAa,EAAO,UACtB,EAAE,SAAW,EAAO,MACxB,EAEA,GAAI,CAAC,EACH,OAAO,EAAE,KAAK,CAAE,MAAO,kCAAmC,EAAG,GAAG,EAGlE,IAAM,EAAM,IAAI,KAEhB,GAAI,CAWF,OAVA,MAAM,EAAI,QAAQ,CAAC,EAEnB,MAAM,EACH,OAAO,CAAS,CAAC,CACjB,IAAI,CACH,QAAS,EACT,QAAS,EAAmB,EAAI,SAAU,CAAG,CAC/C,CAAC,CAAC,CACD,MAAM,EAAG,EAAU,GAAI,EAAO,EAAE,CAAC,EAE7B,EAAE,KACP,CACE,QAAS,gCACX,EACA,GACF,CACF,OAAS,EAAO,CAGd,OAFA,MAAM,EAAE,IAAI,KAAK,CAAC,CAAC,MAAM,6BAA6B,GAAO,EAEtD,EAAE,KAAK,CAAE,MAAO,4BAA6B,EAAG,GAAG,CAC5D,CACF,OAAS,EAAO,CAGd,OAFA,MAAM,EAAE,IAAI,KAAK,CAAC,CAAC,MAAM,2BAA2B,GAAO,EAEpD,EAAE,KAAK,CAAE,MAAO,uBAAwB,EAAG,GAAG,CACvD,CACF,CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"queue.admin.module.js","names":[],"sources":["../../../../../../../src/api/modules/admin/advanced/queue/queue.admin.module.ts"],"sourcesContent":["import { buildModule } from \"@/api/lib/module\";\nimport { CONFIG_PLUGIN } from \"@/config\";\n\nimport { getQueueTasksRoute } from \"./routes/get.route\";\n\nexport const queueAdminModule = buildModule({\n pluginId: CONFIG_PLUGIN.pluginId,\n name: \"queue\",\n routes: [getQueueTasksRoute],\n});\n"],"mappings":"4KAKA,MAAa,EAAmB,EAAY,CAC1C,SAAU,EAAc,SACxB,KAAM,QACN,OAAQ,CAAC,CAAkB,CAC7B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"get.route.js","names":[],"sources":["../../../../../../../../src/api/modules/admin/advanced/queue/routes/get.route.ts"],"sourcesContent":["import { inArray } from \"drizzle-orm\";\nimport z from \"zod\";\n\nimport { buildRoute } from \"@/api/lib/route\";\nimport {\n withPagination,\n zodPaginationPageInfo,\n zodPaginationQuery,\n} from \"@/api/lib/with-pagination\";\nimport { CONFIG_PLUGIN } from \"@/config\";\nimport { core_queue } from \"@/database/queue\";\n\nconst QUEUE_STATUSES = [\n \"pending\",\n \"processing\",\n \"completed\",\n \"failed\",\n] as const;\n\nexport const getQueueTasksRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n adminStaffPermission: { module: \"queue\", permission: \"can_view\" },\n route: {\n method: \"get\",\n description: \"Get Admin Queue Tasks\",\n path: \"/\",\n request: {\n query: zodPaginationQuery.extend({\n order: z.enum([\"asc\", \"desc\"]).optional(),\n orderBy: z.enum([\"createdAt\", \"availableAt\", \"status\"]).optional(),\n status: z.string().optional(),\n }),\n },\n responses: {\n 200: {\n content: {\n \"application/json\": {\n schema: z.object({\n edges: z.array(\n z.object({\n id: z.number(),\n pluginId: z.string(),\n name: z.string(),\n queue: z.string(),\n status: z.enum(QUEUE_STATUSES),\n priority: z.number(),\n attempts: z.number(),\n maxAttempts: z.number(),\n availableAt: z.date(),\n reservedAt: z.date().nullable(),\n lastError: z.string().nullable(),\n createdAt: z.date(),\n completedAt: z.date().nullable(),\n }),\n ),\n pageInfo: zodPaginationPageInfo,\n }),\n },\n },\n description: \"List of queue tasks\",\n },\n },\n },\n handler: async c => {\n const query = c.req.valid(\"query\");\n const statuses = (query.status?.split(\",\") ?? []).filter(\n (status): status is (typeof QUEUE_STATUSES)[number] =>\n (QUEUE_STATUSES as readonly string[]).includes(status),\n );\n\n const data = await withPagination({\n params: { query },\n c,\n primaryCursor: core_queue.id,\n where: statuses.length ? inArray(core_queue.status, statuses) : undefined,\n query: async ({ limit, where, orderBy }) =>\n await c\n .get(\"db\")\n .select()\n .from(core_queue)\n .where(where)\n .orderBy(orderBy)\n .limit(limit),\n table: core_queue,\n orderBy: {\n column: query.orderBy\n ? core_queue[query.orderBy]\n : core_queue.createdAt,\n order: query.order ?? \"desc\",\n },\n });\n\n return c.json(data);\n },\n});\n"],"mappings":"yWAYA,MAAM,EAAiB,CACrB,UACA,aACA,YACA,QACF,EAEa,EAAqB,EAAW,CAC3C,SAAU,EAAc,SACxB,qBAAsB,CAAE,OAAQ,QAAS,WAAY,UAAW,EAChE,MAAO,CACL,OAAQ,MACR,YAAa,wBACb,KAAM,IACN,QAAS,CACP,MAAO,EAAmB,OAAO,CAC/B,MAAO,EAAE,KAAK,CAAC,MAAO,MAAM,CAAC,CAAC,CAAC,SAAS,EACxC,QAAS,EAAE,KAAK,CAAC,YAAa,cAAe,QAAQ,CAAC,CAAC,CAAC,SAAS,EACjE,OAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,CAC9B,CAAC,CACH,EACA,UAAW,CACT,IAAK,CACH,QAAS,CACP,mBAAoB,CAClB,OAAQ,EAAE,OAAO,CACf,MAAO,EAAE,MACP,EAAE,OAAO,CACP,GAAI,EAAE,OAAO,EACb,SAAU,EAAE,OAAO,EACnB,KAAM,EAAE,OAAO,EACf,MAAO,EAAE,OAAO,EAChB,OAAQ,EAAE,KAAK,CAAc,EAC7B,SAAU,EAAE,OAAO,EACnB,SAAU,EAAE,OAAO,EACnB,YAAa,EAAE,OAAO,EACtB,YAAa,EAAE,KAAK,EACpB,WAAY,EAAE,KAAK,CAAC,CAAC,SAAS,EAC9B,UAAW,EAAE,OAAO,CAAC,CAAC,SAAS,EAC/B,UAAW,EAAE,KAAK,EAClB,YAAa,EAAE,KAAK,CAAC,CAAC,SAAS,CACjC,CAAC,CACH,EACA,SAAU,CACZ,CAAC,CACH,CACF,EACA,YAAa,qBACf,CACF,CACF,EACA,QAAS,KAAM,IAAK,CAClB,IAAM,EAAQ,EAAE,IAAI,MAAM,OAAO,EAC3B,GAAY,EAAM,QAAQ,MAAM,GAAG,GAAK,CAAC,EAAA,CAAG,OAC/C,GACE,EAAqC,SAAS,CAAM,CACzD,EAEM,EAAO,MAAM,EAAe,CAChC,OAAQ,CAAE,OAAM,EAChB,IACA,cAAe,EAAW,GAC1B,MAAO,EAAS,OAAS,EAAQ,EAAW,OAAQ,CAAQ,EAAI,IAAA,GAChE,MAAO,MAAO,CAAE,QAAO,QAAO,aAC5B,MAAM,EACH,IAAI,IAAI,CAAC,CACT,OAAO,CAAC,CACR,KAAK,CAAU,CAAC,CAChB,MAAM,CAAK,CAAC,CACZ,QAAQ,CAAO,CAAC,CAChB,MAAM,CAAK,EAChB,MAAO,EACP,QAAS,CACP,OAAQ,EAAM,QACV,EAAW,EAAM,SACjB,EAAW,UACf,MAAO,EAAM,OAAS,MACxB,CACF,CAAC,EAED,OAAO,EAAE,KAAK,CAAI,CACpB,CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug.admin.module.js","names":[],"sources":["../../../../../../src/api/modules/admin/debug/debug.admin.module.ts"],"sourcesContent":["import { CONFIG_PLUGIN } from \"../../../../config\";\nimport { buildModule } from \"../../../lib/module\";\nimport { integrationsDebugAdminRoute } from \"./routes/integrations.route\";\nimport { logsDebugAdminRoute } from \"./routes/logs.route\";\nimport { queueDebugAdminRoute } from \"./routes/queue.route\";\nimport { sendTestEmailDebugAdminRoute } from \"./routes/send-test-email.route\";\nimport { testStorageUploadDebugAdminRoute } from \"./routes/test-storage-upload.route\";\n\nexport const debugAdminModule = buildModule({\n pluginId: CONFIG_PLUGIN.pluginId,\n name: \"debug\",\n routes: [\n logsDebugAdminRoute,\n integrationsDebugAdminRoute,\n queueDebugAdminRoute,\n sendTestEmailDebugAdminRoute,\n testStorageUploadDebugAdminRoute,\n ],\n});\n"],"mappings":"8dAQA,MAAa,EAAmB,EAAY,CAC1C,SAAU,EAAc,SACxB,KAAM,QACN,OAAQ,CACN,EACA,EACA,EACA,EACA,CACF,CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"integrations.route.js","names":["z"],"sources":["../../../../../../../src/api/modules/admin/debug/routes/integrations.route.ts"],"sourcesContent":["import { inArray, sql } from \"drizzle-orm\";\nimport { z } from \"zod\";\n\nimport { CONFIG_PLUGIN } from \"@/config\";\nimport { core_cron } from \"@/database/cron\";\nimport { core_queue } from \"@/database/queue\";\nimport { isCronStale } from \"@/lib/api/is-cron-stale\";\nimport { INSECURE_DEFAULT_CRON_SECRET } from \"@/lib/config\";\nimport { isRealtimePubSubEnabled, isWebSocketEnabled } from \"@/ws/registry\";\n\nimport { buildRoute } from \"../../../../lib/route\";\n\nexport const integrationsDebugAdminRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n adminStaffPermission: { module: \"system\", permission: \"can_view\" },\n route: {\n method: \"get\",\n description:\n \"Report whether the core integrations (WebSocket, Redis, Email, Captcha, Cron) are active on the server.\",\n path: \"/integrations\",\n responses: {\n 200: {\n content: {\n \"application/json\": {\n schema: z.object({\n captcha: z.object({\n active: z.boolean(),\n type: z\n .enum([\"cloudflare_turnstile\", \"recaptcha_v3\"])\n .nullable(),\n }),\n cron: z.object({\n // `true` when a cron adapter is configured, i.e. an in-process\n // scheduler is running the registered jobs automatically.\n active: z.boolean(),\n // Registered cron jobs. Always >= 1 since core ships a job.\n jobs: z.number(),\n // ISO timestamp of the most recent cron execution, or `null`\n // when no job has run yet.\n lastRun: z.string().nullable(),\n // `false` when `CRON_SECRET` is left at its well-known default,\n // which leaves the cron endpoint effectively unauthenticated.\n secure: z.boolean(),\n // `true` when no job has run within the staleness window, i.e.\n // the scheduler looks misconfigured or stopped even though jobs\n // are registered.\n stale: z.boolean(),\n }),\n email: z.object({\n active: z.boolean(),\n }),\n queue: z.object({\n // `true` when at least one handler is registered AND the cron\n // worker is running - the queue is drained by cron, so a stale\n // scheduler means tasks pile up unprocessed.\n active: z.boolean(),\n // `true` when handlers are registered but the queue is offline\n // because the cron worker that drains it isn't running.\n cronStale: z.boolean(),\n // Number of pending tasks waiting to be processed.\n pending: z.number(),\n // Number of tasks currently being processed.\n processing: z.number(),\n // Registered queue task handlers across core + plugins.\n tasks: z.number(),\n }),\n redis: z.object({\n active: z.boolean(),\n // `true` when Redis is configured but currently unreachable - a\n // problem worth surfacing distinctly from \"not set up at all\".\n configuredButDown: z.boolean(),\n }),\n storage: z.object({\n // `true` when a storage adapter is configured, i.e. file\n // uploads are enabled.\n active: z.boolean(),\n }),\n websocket: z.object({\n active: z.boolean(),\n crossInstance: z.boolean(),\n }),\n }),\n },\n },\n description: \"Integration statuses\",\n },\n },\n },\n handler: async c => {\n const core = c.get(\"core\");\n const captcha = core.captcha;\n const redis = await c.get(\"cache\").status();\n\n const queueGrouped = await c\n .get(\"db\")\n .select({\n status: core_queue.status,\n count: sql<number>`count(*)::int`,\n })\n .from(core_queue)\n .where(inArray(core_queue.status, [\"pending\", \"processing\"]))\n .groupBy(core_queue.status);\n const queuePending =\n queueGrouped.find(row => row.status === \"pending\")?.count ?? 0;\n const queueProcessing =\n queueGrouped.find(row => row.status === \"processing\")?.count ?? 0;\n\n // Freshest cron heartbeat: a job's last successful run, or its creation\n // time while it's never run so a brand-new install isn't flagged stale\n // during the grace period before the first tick.\n const [cronActivity] = await c\n .get(\"db\")\n .select({\n lastRun: sql<Date | null>`max(${core_cron.lastRun})`,\n lastActivity: sql<Date | null>`max(coalesce(${core_cron.lastRun}, ${core_cron.createdAt}))`,\n })\n .from(core_cron);\n\n const cronLastRun = cronActivity?.lastRun\n ? new Date(cronActivity.lastRun)\n : null;\n const cronStale = isCronStale(\n cronActivity?.lastActivity ? new Date(cronActivity.lastActivity) : null,\n );\n const queueActive = core.queue.length > 0;\n\n return c.json(\n {\n captcha: {\n active: !!(captcha?.secretKey && captcha.siteKey),\n type: captcha?.type ?? null,\n },\n cron: {\n active: core.hasCronAdapter,\n jobs: core.cron.length,\n lastRun: cronLastRun ? cronLastRun.toISOString() : null,\n secure:\n !!core.cronSecret &&\n core.cronSecret !== INSECURE_DEFAULT_CRON_SECRET,\n stale: cronStale,\n },\n email: {\n active: !!core.email?.adapter,\n },\n queue: {\n active: queueActive && !cronStale,\n cronStale: queueActive && cronStale,\n pending: queuePending,\n processing: queueProcessing,\n tasks: core.queue.length,\n },\n redis: {\n active: redis.configured && redis.connected,\n configuredButDown: redis.configured && !redis.connected,\n },\n storage: {\n active: !!core.storage?.adapter,\n },\n websocket: {\n active: isWebSocketEnabled(),\n crossInstance: isRealtimePubSubEnabled(),\n },\n },\n 200,\n );\n },\n});\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"logs.route.js","names":["z"],"sources":["../../../../../../../src/api/modules/admin/debug/routes/logs.route.ts"],"sourcesContent":["import { eq } from \"drizzle-orm\";\nimport { z } from \"zod\";\n\nimport { CONFIG_PLUGIN } from \"@/config\";\nimport { core_logs } from \"@/database/logs\";\n\nimport { core_users } from \"../../../../../database/users\";\nimport { buildRoute } from \"../../../../lib/route\";\nimport {\n withPagination,\n zodPaginationPageInfo,\n zodPaginationQuery,\n} from \"../../../../lib/with-pagination\";\n\nexport const logsDebugAdminRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n adminStaffPermission: { module: \"debug\", permission: \"can_view\" },\n route: {\n method: \"get\",\n description: \"Get Admin Debug Logs\",\n path: \"/logs\",\n request: {\n query: zodPaginationQuery.extend({\n order: z.enum([\"asc\", \"desc\"]).optional(),\n orderBy: z.enum([\"type\", \"createdAt\", \"pluginId\"]).optional(),\n }),\n },\n responses: {\n 200: {\n content: {\n \"application/json\": {\n schema: z.object({\n edges: z.array(\n z.object({\n id: z.number(),\n pluginId: z.string(),\n type: z.enum([\"warn\", \"error\", \"debug\"]),\n content: z.string(),\n createdAt: z.date(),\n ipAddress: z.string(),\n method: z.string(),\n path: z.string(),\n userAgent: z.string().nullable(),\n statusCode: z.number(),\n user: z\n .object({\n id: z.number(),\n name: z.string(),\n nameCode: z.string(),\n })\n .nullable(),\n }),\n ),\n pageInfo: zodPaginationPageInfo,\n }),\n },\n },\n description: \"List of users\",\n },\n },\n },\n handler: async c => {\n const query = c.req.valid(\"query\");\n const data = await withPagination({\n params: {\n query,\n },\n primaryCursor: core_logs.id,\n query: async ({ limit, where, orderBy }) =>\n await c\n .get(\"db\")\n .select({\n id: core_logs.id,\n pluginId: core_logs.pluginId,\n type: core_logs.type,\n content: core_logs.content,\n createdAt: core_logs.createdAt,\n ipAddress: core_logs.ipAddress,\n method: core_logs.method,\n path: core_logs.path,\n userAgent: core_logs.userAgent,\n statusCode: core_logs.statusCode,\n user: {\n id: core_users.id,\n name: core_users.name,\n nameCode: core_users.nameCode,\n },\n })\n .from(core_logs)\n .leftJoin(core_users, eq(core_users.id, core_logs.userId))\n .where(where)\n .orderBy(orderBy)\n .limit(limit),\n table: core_logs,\n orderBy: {\n column: query.orderBy ? core_logs[query.orderBy] : core_logs.createdAt,\n order: query.order ?? \"desc\",\n },\n c,\n });\n\n return c.json(data);\n },\n});\n"],"mappings":"yZAcA,MAAa,EAAsB,EAAW,CAC5C,SAAU,EAAc,SACxB,qBAAsB,CAAE,OAAQ,QAAS,WAAY,UAAW,EAChE,MAAO,CACL,OAAQ,MACR,YAAa,uBACb,KAAM,QACN,QAAS,CACP,MAAO,EAAmB,OAAO,CAC/B,MAAOA,EAAE,KAAK,CAAC,MAAO,MAAM,CAAC,CAAC,CAAC,SAAS,EACxC,QAASA,EAAE,KAAK,CAAC,OAAQ,YAAa,UAAU,CAAC,CAAC,CAAC,SAAS,CAC9D,CAAC,CACH,EACA,UAAW,CACT,IAAK,CACH,QAAS,CACP,mBAAoB,CAClB,OAAQA,EAAE,OAAO,CACf,MAAOA,EAAE,MACPA,EAAE,OAAO,CACP,GAAIA,EAAE,OAAO,EACb,SAAUA,EAAE,OAAO,EACnB,KAAMA,EAAE,KAAK,CAAC,OAAQ,QAAS,OAAO,CAAC,EACvC,QAASA,EAAE,OAAO,EAClB,UAAWA,EAAE,KAAK,EAClB,UAAWA,EAAE,OAAO,EACpB,OAAQA,EAAE,OAAO,EACjB,KAAMA,EAAE,OAAO,EACf,UAAWA,EAAE,OAAO,CAAC,CAAC,SAAS,EAC/B,WAAYA,EAAE,OAAO,EACrB,KAAMA,EACH,OAAO,CACN,GAAIA,EAAE,OAAO,EACb,KAAMA,EAAE,OAAO,EACf,SAAUA,EAAE,OAAO,CACrB,CAAC,CAAC,CACD,SAAS,CACd,CAAC,CACH,EACA,SAAU,CACZ,CAAC,CACH,CACF,EACA,YAAa,eACf,CACF,CACF,EACA,QAAS,KAAM,IAAK,CAClB,IAAM,EAAQ,EAAE,IAAI,MAAM,OAAO,EAC3B,EAAO,MAAM,EAAe,CAChC,OAAQ,CACN,OACF,EACA,cAAe,EAAU,GACzB,MAAO,MAAO,CAAE,QAAO,QAAO,aAC5B,MAAM,EACH,IAAI,IAAI,CAAC,CACT,OAAO,CACN,GAAI,EAAU,GACd,SAAU,EAAU,SACpB,KAAM,EAAU,KAChB,QAAS,EAAU,QACnB,UAAW,EAAU,UACrB,UAAW,EAAU,UACrB,OAAQ,EAAU,OAClB,KAAM,EAAU,KAChB,UAAW,EAAU,UACrB,WAAY,EAAU,WACtB,KAAM,CACJ,GAAI,EAAW,GACf,KAAM,EAAW,KACjB,SAAU,EAAW,QACvB,CACF,CAAC,CAAC,CACD,KAAK,CAAS,CAAC,CACf,SAAS,EAAY,EAAG,EAAW,GAAI,EAAU,MAAM,CAAC,CAAC,CACzD,MAAM,CAAK,CAAC,CACZ,QAAQ,CAAO,CAAC,CAChB,MAAM,CAAK,EAChB,MAAO,EACP,QAAS,CACP,OAAQ,EAAM,QAAU,EAAU,EAAM,SAAW,EAAU,UAC7D,MAAO,EAAM,OAAS,MACxB,EACA,GACF,CAAC,EAED,OAAO,EAAE,KAAK,CAAI,CACpB,CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"queue.route.js","names":[],"sources":["../../../../../../../src/api/modules/admin/debug/routes/queue.route.ts"],"sourcesContent":["import { asc, desc, inArray, sql } from \"drizzle-orm\";\nimport z from \"zod\";\n\nimport { buildRoute } from \"@/api/lib/route\";\nimport { CONFIG_PLUGIN } from \"@/config\";\nimport { core_queue } from \"@/database/queue\";\n\nconst QUEUE_STATUSES = [\n \"pending\",\n \"processing\",\n \"completed\",\n \"failed\",\n] as const;\n\nexport const queueDebugAdminRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n adminStaffPermission: { module: \"debug\", permission: \"can_view\" },\n route: {\n method: \"get\",\n description:\n \"Currently active (pending/processing) queue tasks and per-status counts.\",\n path: \"/queue\",\n responses: {\n 200: {\n content: {\n \"application/json\": {\n schema: z.object({\n counts: z.object({\n pending: z.number(),\n processing: z.number(),\n completed: z.number(),\n failed: z.number(),\n }),\n active: z.array(\n z.object({\n id: z.number(),\n name: z.string(),\n pluginId: z.string(),\n queue: z.string(),\n status: z.enum(QUEUE_STATUSES),\n attempts: z.number(),\n maxAttempts: z.number(),\n availableAt: z.date(),\n createdAt: z.date(),\n }),\n ),\n }),\n },\n },\n description: \"Queue status\",\n },\n },\n },\n handler: async c => {\n const db = c.get(\"db\");\n\n const grouped = await db\n .select({\n status: core_queue.status,\n count: sql<number>`count(*)::int`,\n })\n .from(core_queue)\n .groupBy(core_queue.status);\n\n const counts = { pending: 0, processing: 0, completed: 0, failed: 0 };\n for (const row of grouped) {\n if (row.status in counts) {\n counts[row.status] = row.count;\n }\n }\n\n const active = await db\n .select({\n id: core_queue.id,\n name: core_queue.name,\n pluginId: core_queue.pluginId,\n queue: core_queue.queue,\n status: core_queue.status,\n attempts: core_queue.attempts,\n maxAttempts: core_queue.maxAttempts,\n availableAt: core_queue.availableAt,\n createdAt: core_queue.createdAt,\n })\n .from(core_queue)\n .where(inArray(core_queue.status, [\"pending\", \"processing\"]))\n .orderBy(desc(core_queue.priority), asc(core_queue.availableAt))\n .limit(50);\n\n return c.json({ counts, active }, 200);\n },\n});\n"],"mappings":"kQAcA,MAAa,EAAuB,EAAW,CAC7C,SAAU,EAAc,SACxB,qBAAsB,CAAE,OAAQ,QAAS,WAAY,UAAW,EAChE,MAAO,CACL,OAAQ,MACR,YACE,2EACF,KAAM,SACN,UAAW,CACT,IAAK,CACH,QAAS,CACP,mBAAoB,CAClB,OAAQ,EAAE,OAAO,CACf,OAAQ,EAAE,OAAO,CACf,QAAS,EAAE,OAAO,EAClB,WAAY,EAAE,OAAO,EACrB,UAAW,EAAE,OAAO,EACpB,OAAQ,EAAE,OAAO,CACnB,CAAC,EACD,OAAQ,EAAE,MACR,EAAE,OAAO,CACP,GAAI,EAAE,OAAO,EACb,KAAM,EAAE,OAAO,EACf,SAAU,EAAE,OAAO,EACnB,MAAO,EAAE,OAAO,EAChB,OAAQ,EAAE,KAAK,CA/B/B,UACA,aACA,YACA,QA4B+B,CAAc,EAC7B,SAAU,EAAE,OAAO,EACnB,YAAa,EAAE,OAAO,EACtB,YAAa,EAAE,KAAK,EACpB,UAAW,EAAE,KAAK,CACpB,CAAC,CACH,CACF,CAAC,CACH,CACF,EACA,YAAa,cACf,CACF,CACF,EACA,QAAS,KAAM,IAAK,CAClB,IAAM,EAAK,EAAE,IAAI,IAAI,EAEf,EAAU,MAAM,EACnB,OAAO,CACN,OAAQ,EAAW,OACnB,MAAO,CAAW,eACpB,CAAC,CAAC,CACD,KAAK,CAAU,CAAC,CAChB,QAAQ,EAAW,MAAM,EAEtB,EAAS,CAAE,QAAS,EAAG,WAAY,EAAG,UAAW,EAAG,OAAQ,CAAE,EACpE,IAAK,IAAM,KAAO,EACZ,EAAI,UAAU,IAChB,EAAO,EAAI,QAAU,EAAI,OAI7B,IAAM,EAAS,MAAM,EAClB,OAAO,CACN,GAAI,EAAW,GACf,KAAM,EAAW,KACjB,SAAU,EAAW,SACrB,MAAO,EAAW,MAClB,OAAQ,EAAW,OACnB,SAAU,EAAW,SACrB,YAAa,EAAW,YACxB,YAAa,EAAW,YACxB,UAAW,EAAW,SACxB,CAAC,CAAC,CACD,KAAK,CAAU,CAAC,CAChB,MAAM,EAAQ,EAAW,OAAQ,CAAC,UAAW,YAAY,CAAC,CAAC,CAAC,CAC5D,QAAQ,EAAK,EAAW,QAAQ,EAAG,EAAI,EAAW,WAAW,CAAC,CAAC,CAC/D,MAAM,EAAE,EAEX,OAAO,EAAE,KAAK,CAAE,SAAQ,QAAO,EAAG,GAAG,CACvC,CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"send-test-email.route.js","names":["z"],"sources":["../../../../../../../src/api/modules/admin/debug/routes/send-test-email.route.ts"],"sourcesContent":["import { HTTPException } from \"hono/http-exception\";\nimport { z } from \"zod\";\n\nimport { buildRoute } from \"@/api/lib/route\";\nimport { CONFIG_PLUGIN } from \"@/config\";\nimport TestEmailTemplate from \"@/emails/test-email\";\n\nexport const zodSendTestEmailSchema = z.object({\n content: z.string().min(1).max(5000),\n subject: z.string().min(1).max(200),\n to: z.email(),\n});\n\nexport const sendTestEmailDebugAdminRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n adminStaffPermission: { module: \"system\", permission: \"can_send_test_email\" },\n route: {\n method: \"post\",\n description:\n \"Send a test email to verify that the email adapter is configured correctly.\",\n path: \"/send-test-email\",\n request: {\n body: {\n required: true,\n content: {\n \"application/json\": {\n schema: zodSendTestEmailSchema,\n },\n },\n },\n },\n responses: {\n 200: {\n content: {\n \"application/json\": {\n schema: z.object({ success: z.boolean() }),\n },\n },\n description: \"Test email sent\",\n },\n 400: {\n description: \"Email adapter not configured\",\n },\n },\n },\n handler: async c => {\n // The adapter check gives a clear error instead of the generic 500 the\n // email model would otherwise throw when no provider is configured.\n if (!c.get(\"core\").email?.adapter) {\n throw new HTTPException(400, {\n message: \"Email provider not configured\",\n });\n }\n\n const { to, subject, content } = c.req.valid(\"json\");\n\n await c.get(\"email\").send({\n to,\n locale: \"en\",\n subject,\n content: props => TestEmailTemplate({ ...props, content }),\n });\n\n return c.json({ success: true });\n },\n});\n"],"mappings":"8OAOA,MAAa,EAAyBA,EAAE,OAAO,CAC7C,QAASA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAI,EACnC,QAASA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,EAClC,GAAIA,EAAE,MAAM,CACd,CAAC,EAEY,EAA+B,EAAW,CACrD,SAAU,EAAc,SACxB,qBAAsB,CAAE,OAAQ,SAAU,WAAY,qBAAsB,EAC5E,MAAO,CACL,OAAQ,OACR,YACE,8EACF,KAAM,mBACN,QAAS,CACP,KAAM,CACJ,SAAU,GACV,QAAS,CACP,mBAAoB,CAClB,OAAQ,CACV,CACF,CACF,CACF,EACA,UAAW,CACT,IAAK,CACH,QAAS,CACP,mBAAoB,CAClB,OAAQA,EAAE,OAAO,CAAE,QAASA,EAAE,QAAQ,CAAE,CAAC,CAC3C,CACF,EACA,YAAa,iBACf,EACA,IAAK,CACH,YAAa,8BACf,CACF,CACF,EACA,QAAS,KAAM,IAAK,CAGlB,GAAI,CAAC,EAAE,IAAI,MAAM,CAAC,CAAC,OAAO,QACxB,MAAM,IAAI,EAAc,IAAK,CAC3B,QAAS,+BACX,CAAC,EAGH,GAAM,CAAE,KAAI,UAAS,WAAY,EAAE,IAAI,MAAM,MAAM,EASnD,OAPA,MAAM,EAAE,IAAI,OAAO,CAAC,CAAC,KAAK,CACxB,KACA,OAAQ,KACR,UACA,QAAS,GAAS,EAAkB,CAAE,GAAG,EAAO,SAAQ,CAAC,CAC3D,CAAC,EAEM,EAAE,KAAK,CAAE,QAAS,EAAK,CAAC,CACjC,CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-storage-upload.route.js","names":["z"],"sources":["../../../../../../../src/api/modules/admin/debug/routes/test-storage-upload.route.ts"],"sourcesContent":["import { HTTPException } from \"hono/http-exception\";\nimport { z } from \"zod\";\n\nimport { buildRoute } from \"@/api/lib/route\";\nimport { CONFIG_PLUGIN } from \"@/config\";\n\nconst ADMIN_TEST_MAX_BYTES = 10 * 1024 * 1024; // 10 MB\n\nconst ADMIN_TEST_MIME_TYPES = [\n \"image/avif\",\n \"image/gif\",\n \"image/jpeg\",\n \"image/png\",\n \"image/webp\",\n];\n\nexport const testStorageUploadDebugAdminRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n adminStaffPermission: { module: \"system\", permission: \"can_test_storage\" },\n route: {\n method: \"post\",\n description:\n \"Upload a test image to verify the storage adapter end-to-end from the admin panel.\",\n path: \"/test-storage-upload\",\n request: {\n body: {\n required: true,\n content: {\n \"multipart/form-data\": {\n schema: z.object({\n file: z\n .instanceof(File)\n .openapi({ format: \"binary\", type: \"string\" }),\n }),\n },\n },\n },\n },\n responses: {\n 200: {\n content: {\n \"application/json\": {\n schema: z.object({ key: z.string(), url: z.string() }),\n },\n },\n description: \"Image uploaded\",\n },\n 400: {\n description: \"Storage adapter not configured or invalid file\",\n },\n },\n },\n handler: async c => {\n if (!c.get(\"core\").storage?.adapter) {\n throw new HTTPException(400, {\n message: \"Storage adapter not configured\",\n });\n }\n\n const { file } = c.req.valid(\"form\");\n\n const { key, url } = await c.get(\"storage\").upload({\n file,\n folder: \"admin-storage-test\",\n maxBytes: ADMIN_TEST_MAX_BYTES,\n allowedMimeTypes: ADMIN_TEST_MIME_TYPES,\n });\n\n return c.json({ key, url }, 200);\n },\n});\n"],"mappings":"2LAMA,MAEM,EAAwB,CAC5B,aACA,YACA,aACA,YACA,YACF,EAEa,EAAmC,EAAW,CACzD,SAAU,EAAc,SACxB,qBAAsB,CAAE,OAAQ,SAAU,WAAY,kBAAmB,EACzE,MAAO,CACL,OAAQ,OACR,YACE,qFACF,KAAM,uBACN,QAAS,CACP,KAAM,CACJ,SAAU,GACV,QAAS,CACP,sBAAuB,CACrB,OAAQA,EAAE,OAAO,CACf,KAAMA,EACH,WAAW,IAAI,CAAC,CAChB,QAAQ,CAAE,OAAQ,SAAU,KAAM,QAAS,CAAC,CACjD,CAAC,CACH,CACF,CACF,CACF,EACA,UAAW,CACT,IAAK,CACH,QAAS,CACP,mBAAoB,CAClB,OAAQA,EAAE,OAAO,CAAE,IAAKA,EAAE,OAAO,EAAG,IAAKA,EAAE,OAAO,CAAE,CAAC,CACvD,CACF,EACA,YAAa,gBACf,EACA,IAAK,CACH,YAAa,gDACf,CACF,CACF,EACA,QAAS,KAAM,IAAK,CAClB,GAAI,CAAC,EAAE,IAAI,MAAM,CAAC,CAAC,SAAS,QAC1B,MAAM,IAAI,EAAc,IAAK,CAC3B,QAAS,gCACX,CAAC,EAGH,GAAM,CAAE,QAAS,EAAE,IAAI,MAAM,MAAM,EAE7B,CAAE,MAAK,OAAQ,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,OAAO,CACjD,OACA,OAAQ,qBACR,SAAU,SACV,iBAAkB,CACpB,CAAC,EAED,OAAO,EAAE,KAAK,CAAE,MAAK,KAAI,EAAG,GAAG,CACjC,CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"files.admin.module.js","names":[],"sources":["../../../../../../src/api/modules/admin/files/files.admin.module.ts"],"sourcesContent":["import { buildModule } from \"@/api/lib/module\";\nimport { CONFIG_PLUGIN } from \"@/config\";\n\nimport { deleteFileAdminRoute } from \"./routes/delete.route\";\nimport { downloadFileAdminRoute } from \"./routes/download.route\";\nimport { listFilesAdminRoute } from \"./routes/list.route\";\n\nexport const filesAdminModule = buildModule({\n pluginId: CONFIG_PLUGIN.pluginId,\n name: \"files\",\n routes: [listFilesAdminRoute, downloadFileAdminRoute, deleteFileAdminRoute],\n});\n"],"mappings":"4SAOA,MAAa,EAAmB,EAAY,CAC1C,SAAU,EAAc,SACxB,KAAM,QACN,OAAQ,CAAC,EAAqB,EAAwB,CAAoB,CAC5E,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"delete.route.js","names":[],"sources":["../../../../../../../src/api/modules/admin/files/routes/delete.route.ts"],"sourcesContent":["import { z } from \"@hono/zod-openapi\";\n\nimport { buildRoute } from \"@/api/lib/route\";\nimport { CONFIG_PLUGIN } from \"@/config\";\n\nexport const deleteFileAdminRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n adminStaffPermission: { module: \"files\", permission: \"can_delete\" },\n route: {\n method: \"delete\",\n description: \"Delete an uploaded file and its record (Admin only).\",\n path: \"/{id}\",\n request: {\n params: z.object({\n id: z.string().openapi({ example: \"1\" }),\n }),\n },\n responses: {\n 200: {\n description: \"File deleted\",\n },\n 404: {\n content: {\n \"application/json\": {\n schema: z.object({ error: z.string() }),\n },\n },\n description: \"File not found\",\n },\n },\n },\n handler: async c => {\n const { id } = c.req.valid(\"param\");\n const fileId = Number(id);\n if (!Number.isInteger(fileId)) {\n return c.json({ error: \"File not found\" }, 404);\n }\n\n await c.get(\"storage\").deleteFile(fileId);\n\n return c.body(null, 200);\n },\n});\n"],"mappings":"qJAKA,MAAa,EAAuB,EAAW,CAC7C,SAAU,EAAc,SACxB,qBAAsB,CAAE,OAAQ,QAAS,WAAY,YAAa,EAClE,MAAO,CACL,OAAQ,SACR,YAAa,uDACb,KAAM,QACN,QAAS,CACP,OAAQ,EAAE,OAAO,CACf,GAAI,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAE,QAAS,GAAI,CAAC,CACzC,CAAC,CACH,EACA,UAAW,CACT,IAAK,CACH,YAAa,cACf,EACA,IAAK,CACH,QAAS,CACP,mBAAoB,CAClB,OAAQ,EAAE,OAAO,CAAE,MAAO,EAAE,OAAO,CAAE,CAAC,CACxC,CACF,EACA,YAAa,gBACf,CACF,CACF,EACA,QAAS,KAAM,IAAK,CAClB,GAAM,CAAE,MAAO,EAAE,IAAI,MAAM,OAAO,EAC5B,EAAS,OAAO,CAAE,EAOxB,OANK,OAAO,UAAU,CAAM,GAI5B,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,WAAW,CAAM,EAEjC,EAAE,KAAK,KAAM,GAAG,GALd,EAAE,KAAK,CAAE,MAAO,gBAAiB,EAAG,GAAG,CAMlD,CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"download.route.js","names":[],"sources":["../../../../../../../src/api/modules/admin/files/routes/download.route.ts"],"sourcesContent":["import { z } from \"@hono/zod-openapi\";\nimport { eq } from \"drizzle-orm\";\n\nimport { buildRoute } from \"@/api/lib/route\";\nimport { CONFIG_PLUGIN } from \"@/config\";\nimport { core_files } from \"@/database/files\";\n\nexport const downloadFileAdminRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n adminStaffPermission: { module: \"files\", permission: \"can_download\" },\n route: {\n method: \"get\",\n description:\n \"Download an uploaded file as an attachment with its original name (Admin only).\",\n path: \"/{id}/download\",\n request: {\n params: z.object({\n id: z.string().openapi({ example: \"1\" }),\n }),\n },\n responses: {\n 200: {\n content: {\n \"application/octet-stream\": {\n schema: z.string().openapi({ format: \"binary\", type: \"string\" }),\n },\n },\n description: \"File contents\",\n },\n 404: {\n content: {\n \"application/json\": {\n schema: z.object({ error: z.string() }),\n },\n },\n description: \"File not found\",\n },\n },\n },\n handler: async c => {\n const { id } = c.req.valid(\"param\");\n const fileId = Number(id);\n if (!Number.isInteger(fileId)) {\n return c.json({ error: \"File not found\" }, 404);\n }\n\n const [file] = await c\n .get(\"db\")\n .select({\n name: core_files.name,\n key: core_files.key,\n mimeType: core_files.mimeType,\n })\n .from(core_files)\n .where(eq(core_files.id, fileId))\n .limit(1);\n\n if (!file || !c.get(\"core\").storage?.adapter) {\n return c.json({ error: \"File not found\" }, 404);\n }\n\n // Adapter-agnostic: fetch the stored object from its (server-reachable)\n // public URL and re-stream it as an attachment, so the browser saves it\n // with the original file name instead of opening it inline.\n const upstream = await fetch(c.get(\"storage\").getUrl(file.key));\n if (!upstream.ok || !upstream.body) {\n return c.json({ error: \"File not found\" }, 404);\n }\n\n c.header(\"Content-Type\", file.mimeType ?? \"application/octet-stream\");\n c.header(\n \"Content-Disposition\",\n `attachment; filename*=UTF-8''${encodeURIComponent(file.name)}`,\n );\n const length = upstream.headers.get(\"content-length\");\n if (length) {\n c.header(\"Content-Length\", length);\n }\n\n return c.body(upstream.body, 200);\n },\n});\n"],"mappings":"oPAOA,MAAa,EAAyB,EAAW,CAC/C,SAAU,EAAc,SACxB,qBAAsB,CAAE,OAAQ,QAAS,WAAY,cAAe,EACpE,MAAO,CACL,OAAQ,MACR,YACE,kFACF,KAAM,iBACN,QAAS,CACP,OAAQ,EAAE,OAAO,CACf,GAAI,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAE,QAAS,GAAI,CAAC,CACzC,CAAC,CACH,EACA,UAAW,CACT,IAAK,CACH,QAAS,CACP,2BAA4B,CAC1B,OAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAE,OAAQ,SAAU,KAAM,QAAS,CAAC,CACjE,CACF,EACA,YAAa,eACf,EACA,IAAK,CACH,QAAS,CACP,mBAAoB,CAClB,OAAQ,EAAE,OAAO,CAAE,MAAO,EAAE,OAAO,CAAE,CAAC,CACxC,CACF,EACA,YAAa,gBACf,CACF,CACF,EACA,QAAS,KAAM,IAAK,CAClB,GAAM,CAAE,MAAO,EAAE,IAAI,MAAM,OAAO,EAC5B,EAAS,OAAO,CAAE,EACxB,GAAI,CAAC,OAAO,UAAU,CAAM,EAC1B,OAAO,EAAE,KAAK,CAAE,MAAO,gBAAiB,EAAG,GAAG,EAGhD,GAAM,CAAC,GAAQ,MAAM,EAClB,IAAI,IAAI,CAAC,CACT,OAAO,CACN,KAAM,EAAW,KACjB,IAAK,EAAW,IAChB,SAAU,EAAW,QACvB,CAAC,CAAC,CACD,KAAK,CAAU,CAAC,CAChB,MAAM,EAAG,EAAW,GAAI,CAAM,CAAC,CAAC,CAChC,MAAM,CAAC,EAEV,GAAI,CAAC,GAAQ,CAAC,EAAE,IAAI,MAAM,CAAC,CAAC,SAAS,QACnC,OAAO,EAAE,KAAK,CAAE,MAAO,gBAAiB,EAAG,GAAG,EAMhD,IAAM,EAAW,MAAM,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,OAAO,EAAK,GAAG,CAAC,EAC9D,GAAI,CAAC,EAAS,IAAM,CAAC,EAAS,KAC5B,OAAO,EAAE,KAAK,CAAE,MAAO,gBAAiB,EAAG,GAAG,EAGhD,EAAE,OAAO,eAAgB,EAAK,UAAY,0BAA0B,EACpE,EAAE,OACA,sBACA,gCAAgC,mBAAmB,EAAK,IAAI,GAC9D,EACA,IAAM,EAAS,EAAS,QAAQ,IAAI,gBAAgB,EAKpD,OAJI,GACF,EAAE,OAAO,iBAAkB,CAAM,EAG5B,EAAE,KAAK,EAAS,KAAM,GAAG,CAClC,CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.route.js","names":[],"sources":["../../../../../../../src/api/modules/admin/files/routes/list.route.ts"],"sourcesContent":["import { eq } from \"drizzle-orm\";\nimport z from \"zod\";\n\nimport { resolveRoleNames } from \"@/api/lib/resolve-role-names\";\nimport { buildRoute } from \"@/api/lib/route\";\nimport {\n withPagination,\n zodPaginationPageInfo,\n zodPaginationQuery,\n} from \"@/api/lib/with-pagination\";\nimport { CONFIG_PLUGIN } from \"@/config\";\nimport { core_files } from \"@/database/files\";\nimport { core_roles } from \"@/database/roles\";\nimport { core_users } from \"@/database/users\";\nimport { parseImageDimensions } from \"@/lib/api/upload\";\n\nexport const listFilesAdminRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n adminStaffPermission: { module: \"files\", permission: \"can_view\" },\n route: {\n method: \"get\",\n description: \"List uploaded files stored in core_files (Admin only).\",\n path: \"/\",\n request: {\n query: zodPaginationQuery.extend({\n order: z.enum([\"asc\", \"desc\"]).optional(),\n orderBy: z.enum([\"name\", \"size\", \"createdAt\"]).optional(),\n search: z.string().optional(),\n }),\n },\n responses: {\n 200: {\n content: {\n \"application/json\": {\n schema: z.object({\n edges: z.array(\n z.object({\n id: z.number(),\n name: z.string(),\n folder: z.string(),\n mimeType: z.string().nullable(),\n size: z.number(),\n metadata: z.record(z.string(), z.unknown()),\n createdAt: z.date(),\n // Pixel dimensions for images, or `null` for non-images and\n // files uploaded without image processing.\n dimensions: z\n .object({ width: z.number(), height: z.number() })\n .nullable(),\n // The uploader, or `null` when uploaded anonymously or the\n // user has since been removed. `role.name` carries every\n // translation; the frontend resolves the active locale.\n user: z\n .object({\n id: z.number(),\n name: z.string(),\n nameCode: z.string(),\n role: z.object({\n id: z.number(),\n color: z.string().nullable(),\n name: z.array(\n z.object({\n name: z.string(),\n languageCode: z.string(),\n }),\n ),\n }),\n })\n .nullable(),\n // Public URL for the stored object, or `null` when no storage\n // adapter is currently configured.\n url: z.string().nullable(),\n }),\n ),\n pageInfo: zodPaginationPageInfo,\n }),\n },\n },\n description: \"List of uploaded files\",\n },\n },\n },\n handler: async c => {\n const query = c.req.valid(\"query\");\n const hasAdapter = !!c.get(\"core\").storage?.adapter;\n const storage = c.get(\"storage\");\n\n const data = await withPagination({\n params: { query },\n c,\n primaryCursor: core_files.id,\n search: [core_files.name],\n query: async ({ limit, where, orderBy }) =>\n await c\n .get(\"db\")\n .select({\n id: core_files.id,\n name: core_files.name,\n key: core_files.key,\n folder: core_files.folder,\n mimeType: core_files.mimeType,\n size: core_files.size,\n metadata: core_files.metadata,\n createdAt: core_files.createdAt,\n userId: core_files.userId,\n userName: core_users.name,\n userNameCode: core_users.nameCode,\n userRoleId: core_users.roleId,\n userRoleColor: core_roles.color,\n })\n .from(core_files)\n .leftJoin(core_users, eq(core_users.id, core_files.userId))\n .leftJoin(core_roles, eq(core_roles.id, core_users.roleId))\n .where(where)\n .orderBy(orderBy)\n .limit(limit),\n table: core_files,\n orderBy: {\n column: query.orderBy\n ? core_files[query.orderBy]\n : core_files.createdAt,\n order: query.order ?? \"desc\",\n },\n });\n\n const roleNames = await resolveRoleNames(\n c,\n data.edges\n .map(edge => edge.userRoleId)\n .filter((id): id is number => id != null),\n );\n\n return c.json({\n ...data,\n edges: data.edges.map(\n ({\n key,\n userId,\n userName,\n userNameCode,\n userRoleId,\n userRoleColor,\n ...file\n }) => ({\n ...file,\n url: hasAdapter ? storage.getUrl(key) : null,\n dimensions: parseImageDimensions(file.metadata),\n user:\n userId != null && userName != null\n ? {\n id: userId,\n name: userName,\n nameCode: userNameCode ?? \"\",\n role: {\n id: userRoleId ?? 0,\n color: userRoleColor ?? null,\n name:\n userRoleId != null\n ? (roleNames.get(userRoleId) ?? [])\n : [],\n },\n }\n : null,\n }),\n ),\n });\n },\n});\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"roles.admin.module.js","names":[],"sources":["../../../../../../src/api/modules/admin/roles/roles.admin.module.ts"],"sourcesContent":["import { buildModule } from \"@/api/lib/module\";\nimport { CONFIG_PLUGIN } from \"@/config\";\n\nimport { listRolesAdminRoute } from \"./routes/list.route\";\nimport { showRoleAdminRoute } from \"./routes/show.route\";\n\nexport const rolesAdminModule = buildModule({\n pluginId: CONFIG_PLUGIN.pluginId,\n name: \"roles\",\n routes: [listRolesAdminRoute, showRoleAdminRoute],\n});\n"],"mappings":"oOAMA,MAAa,EAAmB,EAAY,CAC1C,SAAU,EAAc,SACxB,KAAM,QACN,OAAQ,CAAC,EAAqB,CAAkB,CAClD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.route.js","names":[],"sources":["../../../../../../../src/api/modules/admin/roles/routes/list.route.ts"],"sourcesContent":["import { z } from \"@hono/zod-openapi\";\nimport { and, count, eq, ilike, inArray } from \"drizzle-orm\";\n\nimport { buildRoute } from \"@/api/lib/route\";\nimport {\n withPagination,\n zodPaginationPageInfo,\n zodPaginationQuery,\n} from \"@/api/lib/with-pagination\";\nimport { CONFIG_PLUGIN } from \"@/config\";\nimport { core_languages_words } from \"@/database/languages\";\nimport { core_roles } from \"@/database/roles\";\nimport { core_users } from \"@/database/users\";\n\nconst rolesAdminListSchema = z.object({\n edges: z.array(\n z.object({\n id: z.number(),\n // Every translation of the role name - resolved to the active locale on\n // the frontend (see the `RoleFormat` component).\n name: z.array(\n z.object({\n name: z.string(),\n languageCode: z.string(),\n }),\n ),\n color: z.string().nullable(),\n protected: z.boolean(),\n default: z.boolean(),\n root: z.boolean(),\n guest: z.boolean(),\n createdAt: z.date(),\n updatedAt: z.date(),\n usersCount: z.number(),\n }),\n ),\n pageInfo: zodPaginationPageInfo,\n});\n\nexport const listRolesAdminRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n route: {\n method: \"get\",\n description: \"Get list of all roles (Admin only)\",\n path: \"/list\",\n request: {\n query: zodPaginationQuery.extend({\n order: z.enum([\"asc\", \"desc\"]).optional(),\n orderBy: z.enum([\"id\", \"createdAt\", \"updatedAt\"]).optional(),\n search: z.string().optional(),\n }),\n },\n responses: {\n 200: {\n content: {\n \"application/json\": {\n schema: rolesAdminListSchema,\n },\n },\n description: \"List of roles\",\n },\n 403: {\n description: \"Access Denied\",\n },\n },\n },\n handler: async c => {\n const query = c.req.valid(\"query\");\n const search = query.search?.trim();\n\n const data = await withPagination({\n params: {\n query,\n },\n // Role names live in `core_languages_words`, so search resolves matching\n // role ids from there instead of a column on `core_roles`.\n where: search\n ? inArray(\n core_roles.id,\n c\n .get(\"db\")\n .select({ id: core_languages_words.itemId })\n .from(core_languages_words)\n .where(\n and(\n eq(core_languages_words.tableName, \"core_roles\"),\n eq(core_languages_words.variable, \"name\"),\n eq(core_languages_words.pluginCode, \"core\"),\n ilike(core_languages_words.value, `%${search}%`),\n ),\n ),\n )\n : undefined,\n primaryCursor: core_roles.id,\n query: async ({ limit, where, orderBy }) =>\n await c\n .get(\"db\")\n .select({\n id: core_roles.id,\n color: core_roles.color,\n protected: core_roles.protected,\n default: core_roles.default,\n root: core_roles.root,\n guest: core_roles.guest,\n createdAt: core_roles.createdAt,\n updatedAt: core_roles.updatedAt,\n })\n .from(core_roles)\n .where(where)\n .orderBy(orderBy)\n .limit(limit),\n table: core_roles,\n orderBy: {\n column: query.orderBy\n ? core_roles[query.orderBy]\n : core_roles.updatedAt,\n order: query.order ?? \"desc\",\n },\n c,\n });\n\n const roleIds = data.edges.map(role => role.id);\n const names = roleIds.length\n ? await c\n .get(\"db\")\n .select({\n itemId: core_languages_words.itemId,\n languageCode: core_languages_words.languageCode,\n value: core_languages_words.value,\n })\n .from(core_languages_words)\n .where(\n and(\n eq(core_languages_words.tableName, \"core_roles\"),\n eq(core_languages_words.variable, \"name\"),\n eq(core_languages_words.pluginCode, \"core\"),\n inArray(core_languages_words.itemId, roleIds),\n ),\n )\n : [];\n const userCounts = roleIds.length\n ? await c\n .get(\"db\")\n .select({\n roleId: core_users.roleId,\n total: count(),\n })\n .from(core_users)\n .where(inArray(core_users.roleId, roleIds))\n .groupBy(core_users.roleId)\n : [];\n\n return c.json({\n pageInfo: data.pageInfo,\n edges: data.edges.map(role => ({\n ...role,\n name: names\n .filter(word => word.itemId === role.id)\n .map(word => ({ name: word.value, languageCode: word.languageCode })),\n usersCount:\n userCounts.find(item => item.roleId === role.id)?.total ?? 0,\n })),\n });\n },\n});\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"show.route.js","names":[],"sources":["../../../../../../../src/api/modules/admin/roles/routes/show.route.ts"],"sourcesContent":["import { z } from \"@hono/zod-openapi\";\nimport { and, eq } from \"drizzle-orm\";\n\nimport { buildRoute } from \"@/api/lib/route\";\nimport { CONFIG_PLUGIN } from \"@/config\";\nimport { core_languages_words } from \"@/database/languages\";\nimport { core_roles } from \"@/database/roles\";\n\nconst roleAdminSchema = z.object({\n id: z.number(),\n // Every translation of the role name - resolved to the active locale on the\n // frontend (see the `RoleFormat` component).\n name: z.array(\n z.object({\n name: z.string(),\n languageCode: z.string(),\n }),\n ),\n color: z.string().nullable(),\n protected: z.boolean(),\n default: z.boolean(),\n root: z.boolean(),\n guest: z.boolean(),\n createdAt: z.date(),\n updatedAt: z.date(),\n});\n\nexport const showRoleAdminRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n route: {\n method: \"get\",\n description: \"Get a single role by id (Admin only)\",\n path: \"/{id}\",\n request: {\n params: z.object({\n id: z.string().openapi({ example: \"1\" }),\n }),\n },\n responses: {\n 200: {\n content: {\n \"application/json\": {\n schema: roleAdminSchema,\n },\n },\n description: \"Role found\",\n },\n 403: {\n description: \"Access Denied\",\n },\n 404: {\n content: {\n \"application/json\": {\n schema: z.object({\n error: z.string(),\n }),\n },\n },\n description: \"Role not found\",\n },\n },\n },\n handler: async c => {\n const { id } = c.req.valid(\"param\");\n const roleId = Number(id);\n if (!Number.isInteger(roleId)) {\n return c.json({ error: \"Role not found\" }, 404);\n }\n\n const [role] = await c\n .get(\"db\")\n .select({\n id: core_roles.id,\n color: core_roles.color,\n protected: core_roles.protected,\n default: core_roles.default,\n root: core_roles.root,\n guest: core_roles.guest,\n createdAt: core_roles.createdAt,\n })\n .from(core_roles)\n .where(eq(core_roles.id, roleId))\n .limit(1);\n\n if (!role) {\n return c.json({ error: \"Role not found\" }, 404);\n }\n\n const names = await c\n .get(\"db\")\n .select({\n languageCode: core_languages_words.languageCode,\n value: core_languages_words.value,\n })\n .from(core_languages_words)\n .where(\n and(\n eq(core_languages_words.tableName, \"core_roles\"),\n eq(core_languages_words.variable, \"name\"),\n eq(core_languages_words.pluginCode, \"core\"),\n eq(core_languages_words.itemId, roleId),\n ),\n );\n\n return c.json(\n {\n ...role,\n name: names.map(word => ({\n name: word.value,\n languageCode: word.languageCode,\n })),\n },\n 200,\n );\n },\n});\n"],"mappings":"yUAQA,MAAM,EAAkB,EAAE,OAAO,CAC/B,GAAI,EAAE,OAAO,EAGb,KAAM,EAAE,MACN,EAAE,OAAO,CACP,KAAM,EAAE,OAAO,EACf,aAAc,EAAE,OAAO,CACzB,CAAC,CACH,EACA,MAAO,EAAE,OAAO,CAAC,CAAC,SAAS,EAC3B,UAAW,EAAE,QAAQ,EACrB,QAAS,EAAE,QAAQ,EACnB,KAAM,EAAE,QAAQ,EAChB,MAAO,EAAE,QAAQ,EACjB,UAAW,EAAE,KAAK,EAClB,UAAW,EAAE,KAAK,CACpB,CAAC,EAEY,EAAqB,EAAW,CAC3C,SAAU,EAAc,SACxB,MAAO,CACL,OAAQ,MACR,YAAa,uCACb,KAAM,QACN,QAAS,CACP,OAAQ,EAAE,OAAO,CACf,GAAI,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAE,QAAS,GAAI,CAAC,CACzC,CAAC,CACH,EACA,UAAW,CACT,IAAK,CACH,QAAS,CACP,mBAAoB,CAClB,OAAQ,CACV,CACF,EACA,YAAa,YACf,EACA,IAAK,CACH,YAAa,eACf,EACA,IAAK,CACH,QAAS,CACP,mBAAoB,CAClB,OAAQ,EAAE,OAAO,CACf,MAAO,EAAE,OAAO,CAClB,CAAC,CACH,CACF,EACA,YAAa,gBACf,CACF,CACF,EACA,QAAS,KAAM,IAAK,CAClB,GAAM,CAAE,MAAO,EAAE,IAAI,MAAM,OAAO,EAC5B,EAAS,OAAO,CAAE,EACxB,GAAI,CAAC,OAAO,UAAU,CAAM,EAC1B,OAAO,EAAE,KAAK,CAAE,MAAO,gBAAiB,EAAG,GAAG,EAGhD,GAAM,CAAC,GAAQ,MAAM,EAClB,IAAI,IAAI,CAAC,CACT,OAAO,CACN,GAAI,EAAW,GACf,MAAO,EAAW,MAClB,UAAW,EAAW,UACtB,QAAS,EAAW,QACpB,KAAM,EAAW,KACjB,MAAO,EAAW,MAClB,UAAW,EAAW,SACxB,CAAC,CAAC,CACD,KAAK,CAAU,CAAC,CAChB,MAAM,EAAG,EAAW,GAAI,CAAM,CAAC,CAAC,CAChC,MAAM,CAAC,EAEV,GAAI,CAAC,EACH,OAAO,EAAE,KAAK,CAAE,MAAO,gBAAiB,EAAG,GAAG,EAGhD,IAAM,EAAQ,MAAM,EACjB,IAAI,IAAI,CAAC,CACT,OAAO,CACN,aAAc,EAAqB,aACnC,MAAO,EAAqB,KAC9B,CAAC,CAAC,CACD,KAAK,CAAoB,CAAC,CAC1B,MACC,EACE,EAAG,EAAqB,UAAW,YAAY,EAC/C,EAAG,EAAqB,SAAU,MAAM,EACxC,EAAG,EAAqB,WAAY,MAAM,EAC1C,EAAG,EAAqB,OAAQ,CAAM,CACxC,CACF,EAEF,OAAO,EAAE,KACP,CACE,GAAG,EACH,KAAM,EAAM,IAAI,IAAS,CACvB,KAAM,EAAK,MACX,aAAc,EAAK,YACrB,EAAE,CACJ,EACA,GACF,CACF,CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"notifications.route.js","names":["z"],"sources":["../../../../../../src/api/modules/admin/routes/notifications.route.ts"],"sourcesContent":["import { HTTPException } from \"hono/http-exception\";\nimport { z } from \"zod\";\n\nimport { buildRoute } from \"@/api/lib/route\";\nimport { CONFIG_PLUGIN } from \"@/config\";\nimport { notificationsChannel } from \"@/ws/notifications\";\n\nexport const zodSendNotificationSchema = z.object({\n description: z.string().optional(),\n title: z.string().min(1, \"Title is required\"),\n type: z.enum([\"error\", \"info\", \"success\", \"warning\"]).optional(),\n userId: z.number(),\n});\n\nexport const sendNotificationRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n route: {\n method: \"post\",\n description: \"Send a notification to a user\",\n path: \"/notifications/send\",\n request: {\n body: {\n content: {\n \"application/json\": {\n schema: zodSendNotificationSchema,\n },\n },\n },\n },\n responses: {\n 200: {\n content: {\n \"application/json\": {\n schema: z.object({ success: z.boolean() }),\n },\n },\n description: \"Notification sent\",\n },\n 403: {\n description: \"Access Denied\",\n },\n },\n },\n handler: c => {\n const admin = c.get(\"admin\")?.user;\n if (!admin) throw new HTTPException(403);\n\n const { userId, title, description, type } = c.req.valid(\"json\");\n\n // Delivered only to that user's connections, across all their browsers.\n c.get(\"realtime\").sendToUser(userId, notificationsChannel, {\n description,\n title,\n type,\n });\n\n return c.json({ success: true });\n },\n});\n"],"mappings":"4PAOA,MAAa,EAA4BA,EAAE,OAAO,CAChD,YAAaA,EAAE,OAAO,CAAC,CAAC,SAAS,EACjC,MAAOA,EAAE,OAAO,CAAC,CAAC,IAAI,EAAG,mBAAmB,EAC5C,KAAMA,EAAE,KAAK,CAAC,QAAS,OAAQ,UAAW,SAAS,CAAC,CAAC,CAAC,SAAS,EAC/D,OAAQA,EAAE,OAAO,CACnB,CAAC,EAEY,EAAwB,EAAW,CAC9C,SAAU,EAAc,SACxB,MAAO,CACL,OAAQ,OACR,YAAa,gCACb,KAAM,sBACN,QAAS,CACP,KAAM,CACJ,QAAS,CACP,mBAAoB,CAClB,OAAQ,CACV,CACF,CACF,CACF,EACA,UAAW,CACT,IAAK,CACH,QAAS,CACP,mBAAoB,CAClB,OAAQA,EAAE,OAAO,CAAE,QAASA,EAAE,QAAQ,CAAE,CAAC,CAC3C,CACF,EACA,YAAa,mBACf,EACA,IAAK,CACH,YAAa,eACf,CACF,CACF,EACA,QAAS,GAAK,CAEZ,GAAI,CADU,EAAE,IAAI,OAAO,CAAC,EAAE,KAClB,MAAM,IAAI,EAAc,GAAG,EAEvC,GAAM,CAAE,SAAQ,QAAO,cAAa,QAAS,EAAE,IAAI,MAAM,MAAM,EAS/D,OANA,EAAE,IAAI,UAAU,CAAC,CAAC,WAAW,EAAQ,EAAsB,CACzD,cACA,QACA,MACF,CAAC,EAEM,EAAE,KAAK,CAAE,QAAS,EAAK,CAAC,CACjC,CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"session.route.js","names":["z"],"sources":["../../../../../../src/api/modules/admin/routes/session.route.ts"],"sourcesContent":["import { HTTPException } from \"hono/http-exception\";\nimport { z } from \"zod\";\n\nimport { resolveStaffPermissions } from \"@/api/lib/check-staff-permission\";\nimport { buildRoute } from \"@/api/lib/route\";\nimport { CONFIG_PLUGIN } from \"@/config\";\n\nexport const sessionAdminRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n route: {\n method: \"get\",\n description: \"Verify admin session\",\n path: \"/session\",\n responses: {\n 200: {\n content: {\n \"application/json\": {\n schema: z.object({\n user: z.object({\n id: z.number(),\n email: z.string(),\n name: z.string(),\n nameCode: z.string(),\n createdAt: z.date(),\n newsletter: z.boolean(),\n avatarColor: z.string(),\n emailVerified: z.boolean(),\n roleId: z.number(),\n birthday: z.date().nullable(),\n }),\n permissions: z.object({\n root: z.boolean(),\n permissions: z.array(\n z.object({\n plugin: z.string(),\n module: z.string(),\n permission: z.string(),\n }),\n ),\n }),\n vitnode_version: z.string(),\n }),\n },\n },\n description: \"User\",\n },\n 403: {\n description: \"Access Denied\",\n },\n },\n },\n handler: async c => {\n const user = c.get(\"admin\")?.user;\n if (!user) throw new HTTPException(403);\n\n const permissions = await resolveStaffPermissions(c, {\n type: \"admin\",\n user,\n });\n\n return c.json({\n user,\n permissions,\n vitnode_version: CONFIG_PLUGIN.version,\n });\n },\n});\n"],"mappings":"sQAOA,MAAa,EAAoB,EAAW,CAC1C,SAAU,EAAc,SACxB,MAAO,CACL,OAAQ,MACR,YAAa,uBACb,KAAM,WACN,UAAW,CACT,IAAK,CACH,QAAS,CACP,mBAAoB,CAClB,OAAQA,EAAE,OAAO,CACf,KAAMA,EAAE,OAAO,CACb,GAAIA,EAAE,OAAO,EACb,MAAOA,EAAE,OAAO,EAChB,KAAMA,EAAE,OAAO,EACf,SAAUA,EAAE,OAAO,EACnB,UAAWA,EAAE,KAAK,EAClB,WAAYA,EAAE,QAAQ,EACtB,YAAaA,EAAE,OAAO,EACtB,cAAeA,EAAE,QAAQ,EACzB,OAAQA,EAAE,OAAO,EACjB,SAAUA,EAAE,KAAK,CAAC,CAAC,SAAS,CAC9B,CAAC,EACD,YAAaA,EAAE,OAAO,CACpB,KAAMA,EAAE,QAAQ,EAChB,YAAaA,EAAE,MACbA,EAAE,OAAO,CACP,OAAQA,EAAE,OAAO,EACjB,OAAQA,EAAE,OAAO,EACjB,WAAYA,EAAE,OAAO,CACvB,CAAC,CACH,CACF,CAAC,EACD,gBAAiBA,EAAE,OAAO,CAC5B,CAAC,CACH,CACF,EACA,YAAa,MACf,EACA,IAAK,CACH,YAAa,eACf,CACF,CACF,EACA,QAAS,KAAM,IAAK,CAClB,IAAM,EAAO,EAAE,IAAI,OAAO,CAAC,EAAE,KAC7B,GAAI,CAAC,EAAM,MAAM,IAAI,EAAc,GAAG,EAEtC,IAAM,EAAc,MAAM,EAAwB,EAAG,CACnD,KAAM,QACN,MACF,CAAC,EAED,OAAO,EAAE,KAAK,CACZ,OACA,cACA,gBAAiB,EAAc,OACjC,CAAC,CACH,CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve-staff-edges.js","names":[],"sources":["../../../../../../../src/api/modules/admin/staff/lib/resolve-staff-edges.ts"],"sourcesContent":["import type { Context } from \"hono\";\n\nimport { eq, inArray } from \"drizzle-orm\";\n\nimport { getUserRoleIds } from \"@/api/lib/check-staff-permission\";\nimport { resolveRoleNames } from \"@/api/lib/resolve-role-names\";\nimport { core_roles } from \"@/database/roles\";\nimport { core_users } from \"@/database/users\";\n\ninterface RawStaffEdge {\n createdAt: Date;\n data?: null | { unrestricted: boolean };\n id: number;\n protected: boolean;\n roleId: null | number;\n updatedAt: Date;\n userId: null | number;\n}\n\nexport const resolveStaffEdges = async (c: Context, edges: RawStaffEdge[]) => {\n const currentUser = c.get(\"admin\")?.user;\n const currentUserRoleIds = currentUser\n ? new Set(await getUserRoleIds(c, currentUser))\n : new Set<number>();\n\n const entryRoleIds = edges\n .map(edge => edge.roleId)\n .filter((id): id is number => id != null);\n const userIds = edges\n .map(edge => edge.userId)\n .filter((id): id is number => id != null);\n\n const entryRoles = entryRoleIds.length\n ? await c\n .get(\"db\")\n .select({ id: core_roles.id, color: core_roles.color })\n .from(core_roles)\n .where(inArray(core_roles.id, entryRoleIds))\n : [];\n\n const users = userIds.length\n ? await c\n .get(\"db\")\n .select({\n id: core_users.id,\n name: core_users.name,\n nameCode: core_users.nameCode,\n avatarColor: core_users.avatarColor,\n roleId: core_users.roleId,\n roleColor: core_roles.color,\n })\n .from(core_users)\n .leftJoin(core_roles, eq(core_roles.id, core_users.roleId))\n .where(inArray(core_users.id, userIds))\n : [];\n\n const roleNames = await resolveRoleNames(c, [\n ...entryRoleIds,\n ...users.map(user => user.roleId),\n ]);\n\n return edges.map(edge => {\n const entryRole = entryRoles.find(role => role.id === edge.roleId);\n const user = users.find(item => item.id === edge.userId);\n\n const self =\n currentUser != null &&\n ((edge.userId != null && edge.userId === currentUser.id) ||\n (edge.roleId != null && currentUserRoleIds.has(edge.roleId)));\n\n return {\n id: edge.id,\n createdAt: edge.createdAt,\n updatedAt: edge.updatedAt,\n unrestricted: edge.data?.unrestricted ?? false,\n protected: edge.protected,\n self,\n role: entryRole\n ? {\n id: entryRole.id,\n color: entryRole.color,\n name: roleNames.get(entryRole.id) ?? [],\n }\n : null,\n user: user\n ? {\n id: user.id,\n name: user.name,\n nameCode: user.nameCode,\n avatarColor: user.avatarColor,\n role: {\n id: user.roleId,\n color: user.roleColor,\n name: roleNames.get(user.roleId) ?? [],\n },\n }\n : null,\n };\n });\n};\n"],"mappings":"8TAmBA,MAAa,EAAoB,MAAO,EAAY,IAA0B,CAC5E,IAAM,EAAc,EAAE,IAAI,OAAO,CAAC,EAAE,KAC9B,EAAqB,EACvB,IAAI,IAAI,MAAM,EAAe,EAAG,CAAW,CAAC,EAC5C,IAAI,IAEF,EAAe,EAClB,IAAI,GAAQ,EAAK,MAAM,CAAC,CACxB,OAAQ,GAAqB,GAAM,IAAI,EACpC,EAAU,EACb,IAAI,GAAQ,EAAK,MAAM,CAAC,CACxB,OAAQ,GAAqB,GAAM,IAAI,EAEpC,EAAa,EAAa,OAC5B,MAAM,EACH,IAAI,IAAI,CAAC,CACT,OAAO,CAAE,GAAI,EAAW,GAAI,MAAO,EAAW,KAAM,CAAC,CAAC,CACtD,KAAK,CAAU,CAAC,CAChB,MAAM,EAAQ,EAAW,GAAI,CAAY,CAAC,EAC7C,CAAC,EAEC,EAAQ,EAAQ,OAClB,MAAM,EACH,IAAI,IAAI,CAAC,CACT,OAAO,CACN,GAAI,EAAW,GACf,KAAM,EAAW,KACjB,SAAU,EAAW,SACrB,YAAa,EAAW,YACxB,OAAQ,EAAW,OACnB,UAAW,EAAW,KACxB,CAAC,CAAC,CACD,KAAK,CAAU,CAAC,CAChB,SAAS,EAAY,EAAG,EAAW,GAAI,EAAW,MAAM,CAAC,CAAC,CAC1D,MAAM,EAAQ,EAAW,GAAI,CAAO,CAAC,EACxC,CAAC,EAEC,EAAY,MAAM,EAAiB,EAAG,CAC1C,GAAG,EACH,GAAG,EAAM,IAAI,GAAQ,EAAK,MAAM,CAClC,CAAC,EAED,OAAO,EAAM,IAAI,GAAQ,CACvB,IAAM,EAAY,EAAW,KAAK,GAAQ,EAAK,KAAO,EAAK,MAAM,EAC3D,EAAO,EAAM,KAAK,GAAQ,EAAK,KAAO,EAAK,MAAM,EAEjD,EACJ,GAAe,OACb,EAAK,QAAU,MAAQ,EAAK,SAAW,EAAY,IAClD,EAAK,QAAU,MAAQ,EAAmB,IAAI,EAAK,MAAM,GAE9D,MAAO,CACL,GAAI,EAAK,GACT,UAAW,EAAK,UAChB,UAAW,EAAK,UAChB,aAAc,EAAK,MAAM,cAAgB,GACzC,UAAW,EAAK,UAChB,OACA,KAAM,EACF,CACE,GAAI,EAAU,GACd,MAAO,EAAU,MACjB,KAAM,EAAU,IAAI,EAAU,EAAE,GAAK,CAAC,CACxC,EACA,KACJ,KAAM,EACF,CACE,GAAI,EAAK,GACT,KAAM,EAAK,KACX,SAAU,EAAK,SACf,YAAa,EAAK,YAClB,KAAM,CACJ,GAAI,EAAK,OACT,MAAO,EAAK,UACZ,KAAM,EAAU,IAAI,EAAK,MAAM,GAAK,CAAC,CACvC,CACF,EACA,IACN,CACF,CAAC,CACH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.js","names":[],"sources":["../../../../../../../src/api/modules/admin/staff/lib/schema.ts"],"sourcesContent":["import { z } from \"@hono/zod-openapi\";\n\nimport {\n zodPaginationPageInfo,\n zodPaginationQuery,\n} from \"@/api/lib/with-pagination\";\n\n// Shared between the moderators and admins staff lists - both read from a\n// permissions table that links either a role or a user to a staff group.\nexport const staffListAdminQuery = zodPaginationQuery.extend({\n order: z.enum([\"asc\", \"desc\"]).optional(),\n orderBy: z.enum([\"id\", \"createdAt\", \"updatedAt\"]).optional(),\n});\n\n// A role reference resolved for the `RoleFormat` component (it picks the active\n// locale from the translated names on the frontend).\nexport const staffRoleSchema = z.object({\n id: z.number(),\n color: z.string().nullable(),\n name: z.array(\n z.object({\n name: z.string(),\n languageCode: z.string(),\n }),\n ),\n});\n\n// A single resolved staff entry - the shape returned by `resolveStaffEdges`.\nexport const staffEntrySchema = z.object({\n id: z.number(),\n createdAt: z.date(),\n updatedAt: z.date(),\n unrestricted: z.boolean(),\n protected: z.boolean(),\n self: z.boolean(),\n role: staffRoleSchema.nullable(),\n user: z\n .object({\n id: z.number(),\n name: z.string(),\n nameCode: z.string(),\n avatarColor: z.string(),\n role: staffRoleSchema,\n })\n .nullable(),\n});\n\nexport const staffListAdminSchema = z.object({\n edges: z.array(staffEntrySchema),\n pageInfo: zodPaginationPageInfo,\n});\n\nexport const permissionsStaffArgsSchema = z.object({\n plugin: z.string(),\n module: z.string(),\n permission: z.string(),\n});\n\nexport const staffTypeSchema = z.enum([\"admin\", \"moderator\"]);\n\n// Maps a staff entry type to the admin permission-catalog module that gates\n// managing it, so moderator and administrator staff can be governed separately.\nexport const staffPermissionModuleByType = {\n admin: \"staff_admins\",\n moderator: \"staff_moderators\",\n} as const;\n"],"mappings":"yIASA,MAAa,EAAsB,EAAmB,OAAO,CAC3D,MAAO,EAAE,KAAK,CAAC,MAAO,MAAM,CAAC,CAAC,CAAC,SAAS,EACxC,QAAS,EAAE,KAAK,CAAC,KAAM,YAAa,WAAW,CAAC,CAAC,CAAC,SAAS,CAC7D,CAAC,EAIY,EAAkB,EAAE,OAAO,CACtC,GAAI,EAAE,OAAO,EACb,MAAO,EAAE,OAAO,CAAC,CAAC,SAAS,EAC3B,KAAM,EAAE,MACN,EAAE,OAAO,CACP,KAAM,EAAE,OAAO,EACf,aAAc,EAAE,OAAO,CACzB,CAAC,CACH,CACF,CAAC,EAGY,EAAmB,EAAE,OAAO,CACvC,GAAI,EAAE,OAAO,EACb,UAAW,EAAE,KAAK,EAClB,UAAW,EAAE,KAAK,EAClB,aAAc,EAAE,QAAQ,EACxB,UAAW,EAAE,QAAQ,EACrB,KAAM,EAAE,QAAQ,EAChB,KAAM,EAAgB,SAAS,EAC/B,KAAM,EACH,OAAO,CACN,GAAI,EAAE,OAAO,EACb,KAAM,EAAE,OAAO,EACf,SAAU,EAAE,OAAO,EACnB,YAAa,EAAE,OAAO,EACtB,KAAM,CACR,CAAC,CAAC,CACD,SAAS,CACd,CAAC,EAEY,EAAuB,EAAE,OAAO,CAC3C,MAAO,EAAE,MAAM,CAAgB,EAC/B,SAAU,CACZ,CAAC,EAEY,EAA6B,EAAE,OAAO,CACjD,OAAQ,EAAE,OAAO,EACjB,OAAQ,EAAE,OAAO,EACjB,WAAY,EAAE,OAAO,CACvB,CAAC,EAEY,EAAkB,EAAE,KAAK,CAAC,QAAS,WAAW,CAAC,EAI/C,EAA8B,CACzC,MAAO,eACP,UAAW,kBACb"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"admins.route.js","names":[],"sources":["../../../../../../../src/api/modules/admin/staff/routes/admins.route.ts"],"sourcesContent":["import { buildRoute } from \"@/api/lib/route\";\nimport { withPagination } from \"@/api/lib/with-pagination\";\nimport { CONFIG_PLUGIN } from \"@/config\";\nimport { core_admin_permissions } from \"@/database/admins\";\n\nimport { resolveStaffEdges } from \"../lib/resolve-staff-edges\";\nimport { staffListAdminQuery, staffListAdminSchema } from \"../lib/schema\";\n\nexport const listAdminsStaffAdminRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n adminStaffPermission: { module: \"staff_admins\", permission: \"can_view\" },\n route: {\n method: \"get\",\n description: \"Get list of administrators staff (Admin only)\",\n path: \"/admins\",\n request: {\n query: staffListAdminQuery,\n },\n responses: {\n 200: {\n content: {\n \"application/json\": {\n schema: staffListAdminSchema,\n },\n },\n description: \"List of administrators staff\",\n },\n 403: {\n description: \"Access Denied\",\n },\n },\n },\n handler: async c => {\n const query = c.req.valid(\"query\");\n\n const data = await withPagination({\n params: {\n query,\n },\n primaryCursor: core_admin_permissions.id,\n query: async ({ limit, where, orderBy }) =>\n await c\n .get(\"db\")\n .select({\n id: core_admin_permissions.id,\n roleId: core_admin_permissions.roleId,\n userId: core_admin_permissions.userId,\n createdAt: core_admin_permissions.createdAt,\n updatedAt: core_admin_permissions.updatedAt,\n data: core_admin_permissions.data,\n protected: core_admin_permissions.protected,\n })\n .from(core_admin_permissions)\n .where(where)\n .orderBy(orderBy)\n .limit(limit),\n table: core_admin_permissions,\n orderBy: {\n column: query.orderBy\n ? core_admin_permissions[query.orderBy]\n : core_admin_permissions.updatedAt,\n order: query.order ?? \"desc\",\n },\n c,\n });\n\n return c.json({\n pageInfo: data.pageInfo,\n edges: await resolveStaffEdges(c, data.edges),\n });\n },\n});\n"],"mappings":"iZAQA,MAAa,EAA4B,EAAW,CAClD,SAAU,EAAc,SACxB,qBAAsB,CAAE,OAAQ,eAAgB,WAAY,UAAW,EACvE,MAAO,CACL,OAAQ,MACR,YAAa,gDACb,KAAM,UACN,QAAS,CACP,MAAO,CACT,EACA,UAAW,CACT,IAAK,CACH,QAAS,CACP,mBAAoB,CAClB,OAAQ,CACV,CACF,EACA,YAAa,8BACf,EACA,IAAK,CACH,YAAa,eACf,CACF,CACF,EACA,QAAS,KAAM,IAAK,CAClB,IAAM,EAAQ,EAAE,IAAI,MAAM,OAAO,EAE3B,EAAO,MAAM,EAAe,CAChC,OAAQ,CACN,OACF,EACA,cAAe,EAAuB,GACtC,MAAO,MAAO,CAAE,QAAO,QAAO,aAC5B,MAAM,EACH,IAAI,IAAI,CAAC,CACT,OAAO,CACN,GAAI,EAAuB,GAC3B,OAAQ,EAAuB,OAC/B,OAAQ,EAAuB,OAC/B,UAAW,EAAuB,UAClC,UAAW,EAAuB,UAClC,KAAM,EAAuB,KAC7B,UAAW,EAAuB,SACpC,CAAC,CAAC,CACD,KAAK,CAAsB,CAAC,CAC5B,MAAM,CAAK,CAAC,CACZ,QAAQ,CAAO,CAAC,CAChB,MAAM,CAAK,EAChB,MAAO,EACP,QAAS,CACP,OAAQ,EAAM,QACV,EAAuB,EAAM,SAC7B,EAAuB,UAC3B,MAAO,EAAM,OAAS,MACxB,EACA,GACF,CAAC,EAED,OAAO,EAAE,KAAK,CACZ,SAAU,EAAK,SACf,MAAO,MAAM,EAAkB,EAAG,EAAK,KAAK,CAC9C,CAAC,CACH,CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"create.route.js","names":[],"sources":["../../../../../../../src/api/modules/admin/staff/routes/create.route.ts"],"sourcesContent":["import { z } from \"@hono/zod-openapi\";\nimport { eq, or } from \"drizzle-orm\";\n\nimport { assertStaffPermission } from \"@/api/lib/check-staff-permission\";\nimport { buildRoute } from \"@/api/lib/route\";\nimport { CONFIG_PLUGIN } from \"@/config\";\nimport { core_admin_permissions } from \"@/database/admins\";\nimport { core_moderators_permissions } from \"@/database/moderators\";\n\nimport { staffPermissionModuleByType, staffTypeSchema } from \"../lib/schema\";\n\nconst tableByType = {\n admin: core_admin_permissions,\n moderator: core_moderators_permissions,\n} as const;\n\nexport const createStaffAdminRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n route: {\n method: \"post\",\n description: \"Create a staff entry for a role or a user (Admin only)\",\n path: \"/entry/{type}\",\n request: {\n params: z.object({\n type: staffTypeSchema,\n }),\n body: {\n content: {\n \"application/json\": {\n schema: z\n .object({\n roleId: z.number().nullable().optional(),\n userId: z.number().nullable().optional(),\n })\n // Exactly one of role/user must be provided.\n .refine(\n value => Boolean(value.roleId) !== Boolean(value.userId),\n { message: \"Provide exactly one of roleId or userId\" },\n ),\n },\n },\n },\n },\n responses: {\n 201: {\n content: {\n \"application/json\": {\n schema: z.object({ id: z.number() }),\n },\n },\n description: \"Staff entry created\",\n },\n 403: {\n description: \"Access Denied\",\n },\n 409: {\n content: {\n \"application/json\": {\n schema: z.object({ error: z.string() }),\n },\n },\n description: \"Staff entry already exists\",\n },\n },\n },\n handler: async c => {\n const { type } = c.req.valid(\"param\");\n await assertStaffPermission(c, {\n type: \"admin\",\n plugin: CONFIG_PLUGIN.pluginId,\n module: staffPermissionModuleByType[type],\n permission: \"can_create\",\n });\n\n const { roleId, userId } = c.req.valid(\"json\");\n const table = tableByType[type];\n\n // Prevent assigning the same role/user twice.\n const [existing] = await c\n .get(\"db\")\n .select({ id: table.id })\n .from(table)\n .where(\n or(\n roleId ? eq(table.roleId, roleId) : undefined,\n userId ? eq(table.userId, userId) : undefined,\n ),\n )\n .limit(1);\n\n if (existing) {\n return c.json({ error: \"Staff entry already exists\" }, 409);\n }\n\n const [created] = await c\n .get(\"db\")\n .insert(table)\n .values({\n roleId: roleId ?? null,\n userId: userId ?? null,\n data: { unrestricted: false, permissions: [] },\n })\n .returning({ id: table.id });\n\n return c.json({ id: created.id }, 201);\n },\n});\n"],"mappings":"mgBAWA,MAAM,EAAc,CAClB,MAAO,EACP,UAAW,CACb,EAEa,EAAwB,EAAW,CAC9C,SAAU,EAAc,SACxB,MAAO,CACL,OAAQ,OACR,YAAa,yDACb,KAAM,gBACN,QAAS,CACP,OAAQ,EAAE,OAAO,CACf,KAAM,CACR,CAAC,EACD,KAAM,CACJ,QAAS,CACP,mBAAoB,CAClB,OAAQ,EACL,OAAO,CACN,OAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EACvC,OAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CACzC,CAAC,CAAC,CAED,OACC,GAAS,EAAQ,EAAM,QAAY,EAAQ,EAAM,OACjD,CAAE,QAAS,yCAA0C,CACvD,CACJ,CACF,CACF,CACF,EACA,UAAW,CACT,IAAK,CACH,QAAS,CACP,mBAAoB,CAClB,OAAQ,EAAE,OAAO,CAAE,GAAI,EAAE,OAAO,CAAE,CAAC,CACrC,CACF,EACA,YAAa,qBACf,EACA,IAAK,CACH,YAAa,eACf,EACA,IAAK,CACH,QAAS,CACP,mBAAoB,CAClB,OAAQ,EAAE,OAAO,CAAE,MAAO,EAAE,OAAO,CAAE,CAAC,CACxC,CACF,EACA,YAAa,4BACf,CACF,CACF,EACA,QAAS,KAAM,IAAK,CAClB,GAAM,CAAE,QAAS,EAAE,IAAI,MAAM,OAAO,EACpC,MAAM,EAAsB,EAAG,CAC7B,KAAM,QACN,OAAQ,EAAc,SACtB,OAAQ,EAA4B,GACpC,WAAY,YACd,CAAC,EAED,GAAM,CAAE,SAAQ,UAAW,EAAE,IAAI,MAAM,MAAM,EACvC,EAAQ,EAAY,GAGpB,CAAC,GAAY,MAAM,EACtB,IAAI,IAAI,CAAC,CACT,OAAO,CAAE,GAAI,EAAM,EAAG,CAAC,CAAC,CACxB,KAAK,CAAK,CAAC,CACX,MACC,EACE,EAAS,EAAG,EAAM,OAAQ,CAAM,EAAI,IAAA,GACpC,EAAS,EAAG,EAAM,OAAQ,CAAM,EAAI,IAAA,EACtC,CACF,CAAC,CACA,MAAM,CAAC,EAEV,GAAI,EACF,OAAO,EAAE,KAAK,CAAE,MAAO,4BAA6B,EAAG,GAAG,EAG5D,GAAM,CAAC,GAAW,MAAM,EACrB,IAAI,IAAI,CAAC,CACT,OAAO,CAAK,CAAC,CACb,OAAO,CACN,OAAQ,GAAU,KAClB,OAAQ,GAAU,KAClB,KAAM,CAAE,aAAc,GAAO,YAAa,CAAC,CAAE,CAC/C,CAAC,CAAC,CACD,UAAU,CAAE,GAAI,EAAM,EAAG,CAAC,EAE7B,OAAO,EAAE,KAAK,CAAE,GAAI,EAAQ,EAAG,EAAG,GAAG,CACvC,CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"delete.route.js","names":[],"sources":["../../../../../../../src/api/modules/admin/staff/routes/delete.route.ts"],"sourcesContent":["import { z } from \"@hono/zod-openapi\";\nimport { eq } from \"drizzle-orm\";\nimport { HTTPException } from \"hono/http-exception\";\n\nimport {\n assertStaffPermission,\n getUserRoleIds,\n} from \"@/api/lib/check-staff-permission\";\nimport { buildRoute } from \"@/api/lib/route\";\nimport { CONFIG_PLUGIN } from \"@/config\";\nimport { core_admin_permissions } from \"@/database/admins\";\nimport { core_moderators_permissions } from \"@/database/moderators\";\n\nimport { staffPermissionModuleByType, staffTypeSchema } from \"../lib/schema\";\n\nconst tableByType = {\n admin: core_admin_permissions,\n moderator: core_moderators_permissions,\n} as const;\n\nexport const deleteStaffAdminRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n route: {\n method: \"delete\",\n description: \"Remove a staff entry (Admin only)\",\n path: \"/entry/{type}/{id}\",\n request: {\n params: z.object({\n type: staffTypeSchema,\n id: z.string().openapi({ example: \"1\" }),\n }),\n },\n responses: {\n 200: {\n description: \"Staff entry removed\",\n },\n 403: {\n description: \"Access Denied\",\n },\n 404: {\n content: {\n \"application/json\": {\n schema: z.object({ error: z.string() }),\n },\n },\n description: \"Staff entry not found\",\n },\n },\n },\n handler: async c => {\n const { type, id } = c.req.valid(\"param\");\n await assertStaffPermission(c, {\n type: \"admin\",\n plugin: CONFIG_PLUGIN.pluginId,\n module: staffPermissionModuleByType[type],\n permission: \"can_delete\",\n });\n\n const entryId = Number(id);\n if (!Number.isInteger(entryId)) {\n return c.json({ error: \"Staff entry not found\" }, 404);\n }\n\n const table = tableByType[type];\n const [entry] = await c\n .get(\"db\")\n .select({\n protected: table.protected,\n userId: table.userId,\n roleId: table.roleId,\n })\n .from(table)\n .where(eq(table.id, entryId))\n .limit(1);\n\n if (!entry) {\n return c.json({ error: \"Staff entry not found\" }, 404);\n }\n // Protected entries are managed by the system and cannot be removed.\n if (entry.protected) {\n throw new HTTPException(403, { message: \"Forbidden\" });\n }\n\n // An admin cannot remove the entry that governs their own access - their own\n // user entry or an entry for any role they belong to (primary or secondary).\n const currentUser = c.get(\"admin\")?.user;\n const currentUserRoleIds = currentUser\n ? await getUserRoleIds(c, currentUser)\n : [];\n const isSelf =\n currentUser != null &&\n ((entry.userId != null && entry.userId === currentUser.id) ||\n (entry.roleId != null && currentUserRoleIds.includes(entry.roleId)));\n if (isSelf) {\n throw new HTTPException(403, {\n message: \"You cannot remove your own staff permissions.\",\n });\n }\n\n await c.get(\"db\").delete(table).where(eq(table.id, entryId));\n\n return c.body(null, 200);\n },\n});\n"],"mappings":"mkBAeA,MAAM,EAAc,CAClB,MAAO,EACP,UAAW,CACb,EAEa,EAAwB,EAAW,CAC9C,SAAU,EAAc,SACxB,MAAO,CACL,OAAQ,SACR,YAAa,oCACb,KAAM,qBACN,QAAS,CACP,OAAQ,EAAE,OAAO,CACf,KAAM,EACN,GAAI,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAE,QAAS,GAAI,CAAC,CACzC,CAAC,CACH,EACA,UAAW,CACT,IAAK,CACH,YAAa,qBACf,EACA,IAAK,CACH,YAAa,eACf,EACA,IAAK,CACH,QAAS,CACP,mBAAoB,CAClB,OAAQ,EAAE,OAAO,CAAE,MAAO,EAAE,OAAO,CAAE,CAAC,CACxC,CACF,EACA,YAAa,uBACf,CACF,CACF,EACA,QAAS,KAAM,IAAK,CAClB,GAAM,CAAE,OAAM,MAAO,EAAE,IAAI,MAAM,OAAO,EACxC,MAAM,EAAsB,EAAG,CAC7B,KAAM,QACN,OAAQ,EAAc,SACtB,OAAQ,EAA4B,GACpC,WAAY,YACd,CAAC,EAED,IAAM,EAAU,OAAO,CAAE,EACzB,GAAI,CAAC,OAAO,UAAU,CAAO,EAC3B,OAAO,EAAE,KAAK,CAAE,MAAO,uBAAwB,EAAG,GAAG,EAGvD,IAAM,EAAQ,EAAY,GACpB,CAAC,GAAS,MAAM,EACnB,IAAI,IAAI,CAAC,CACT,OAAO,CACN,UAAW,EAAM,UACjB,OAAQ,EAAM,OACd,OAAQ,EAAM,MAChB,CAAC,CAAC,CACD,KAAK,CAAK,CAAC,CACX,MAAM,EAAG,EAAM,GAAI,CAAO,CAAC,CAAC,CAC5B,MAAM,CAAC,EAEV,GAAI,CAAC,EACH,OAAO,EAAE,KAAK,CAAE,MAAO,uBAAwB,EAAG,GAAG,EAGvD,GAAI,EAAM,UACR,MAAM,IAAI,EAAc,IAAK,CAAE,QAAS,WAAY,CAAC,EAKvD,IAAM,EAAc,EAAE,IAAI,OAAO,CAAC,EAAE,KAC9B,EAAqB,EACvB,MAAM,EAAe,EAAG,CAAW,EACnC,CAAC,EAKL,GAHE,GAAe,OACb,EAAM,QAAU,MAAQ,EAAM,SAAW,EAAY,IACpD,EAAM,QAAU,MAAQ,EAAmB,SAAS,EAAM,MAAM,GAEnE,MAAM,IAAI,EAAc,IAAK,CAC3B,QAAS,+CACX,CAAC,EAKH,OAFA,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,OAAO,CAAK,CAAC,CAAC,MAAM,EAAG,EAAM,GAAI,CAAO,CAAC,EAEpD,EAAE,KAAK,KAAM,GAAG,CACzB,CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"moderators.route.js","names":[],"sources":["../../../../../../../src/api/modules/admin/staff/routes/moderators.route.ts"],"sourcesContent":["import { buildRoute } from \"@/api/lib/route\";\nimport { withPagination } from \"@/api/lib/with-pagination\";\nimport { CONFIG_PLUGIN } from \"@/config\";\nimport { core_moderators_permissions } from \"@/database/moderators\";\n\nimport { resolveStaffEdges } from \"../lib/resolve-staff-edges\";\nimport { staffListAdminQuery, staffListAdminSchema } from \"../lib/schema\";\n\nexport const listModeratorsStaffAdminRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n adminStaffPermission: { module: \"staff_moderators\", permission: \"can_view\" },\n route: {\n method: \"get\",\n description: \"Get list of moderators staff (Admin only)\",\n path: \"/moderators\",\n request: {\n query: staffListAdminQuery,\n },\n responses: {\n 200: {\n content: {\n \"application/json\": {\n schema: staffListAdminSchema,\n },\n },\n description: \"List of moderators staff\",\n },\n 403: {\n description: \"Access Denied\",\n },\n },\n },\n handler: async c => {\n const query = c.req.valid(\"query\");\n\n const data = await withPagination({\n params: {\n query,\n },\n primaryCursor: core_moderators_permissions.id,\n query: async ({ limit, where, orderBy }) =>\n await c\n .get(\"db\")\n .select({\n id: core_moderators_permissions.id,\n roleId: core_moderators_permissions.roleId,\n userId: core_moderators_permissions.userId,\n createdAt: core_moderators_permissions.createdAt,\n updatedAt: core_moderators_permissions.updatedAt,\n data: core_moderators_permissions.data,\n protected: core_moderators_permissions.protected,\n })\n .from(core_moderators_permissions)\n .where(where)\n .orderBy(orderBy)\n .limit(limit),\n table: core_moderators_permissions,\n orderBy: {\n column: query.orderBy\n ? core_moderators_permissions[query.orderBy]\n : core_moderators_permissions.updatedAt,\n order: query.order ?? \"desc\",\n },\n c,\n });\n\n return c.json({\n pageInfo: data.pageInfo,\n edges: await resolveStaffEdges(c, data.edges),\n });\n },\n});\n"],"mappings":"0ZAQA,MAAa,EAAgC,EAAW,CACtD,SAAU,EAAc,SACxB,qBAAsB,CAAE,OAAQ,mBAAoB,WAAY,UAAW,EAC3E,MAAO,CACL,OAAQ,MACR,YAAa,4CACb,KAAM,cACN,QAAS,CACP,MAAO,CACT,EACA,UAAW,CACT,IAAK,CACH,QAAS,CACP,mBAAoB,CAClB,OAAQ,CACV,CACF,EACA,YAAa,0BACf,EACA,IAAK,CACH,YAAa,eACf,CACF,CACF,EACA,QAAS,KAAM,IAAK,CAClB,IAAM,EAAQ,EAAE,IAAI,MAAM,OAAO,EAE3B,EAAO,MAAM,EAAe,CAChC,OAAQ,CACN,OACF,EACA,cAAe,EAA4B,GAC3C,MAAO,MAAO,CAAE,QAAO,QAAO,aAC5B,MAAM,EACH,IAAI,IAAI,CAAC,CACT,OAAO,CACN,GAAI,EAA4B,GAChC,OAAQ,EAA4B,OACpC,OAAQ,EAA4B,OACpC,UAAW,EAA4B,UACvC,UAAW,EAA4B,UACvC,KAAM,EAA4B,KAClC,UAAW,EAA4B,SACzC,CAAC,CAAC,CACD,KAAK,CAA2B,CAAC,CACjC,MAAM,CAAK,CAAC,CACZ,QAAQ,CAAO,CAAC,CAChB,MAAM,CAAK,EAChB,MAAO,EACP,QAAS,CACP,OAAQ,EAAM,QACV,EAA4B,EAAM,SAClC,EAA4B,UAChC,MAAO,EAAM,OAAS,MACxB,EACA,GACF,CAAC,EAED,OAAO,EAAE,KAAK,CACZ,SAAU,EAAK,SACf,MAAO,MAAM,EAAkB,EAAG,EAAK,KAAK,CAC9C,CAAC,CACH,CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"permission-catalog.route.js","names":[],"sources":["../../../../../../../src/api/modules/admin/staff/routes/permission-catalog.route.ts"],"sourcesContent":["import { z } from \"@hono/zod-openapi\";\n\nimport { buildRoute } from \"@/api/lib/route\";\nimport { CONFIG_PLUGIN } from \"@/config\";\n\nconst permissionStaffModulesSchema = z.record(\n z.string(),\n z.array(\n z.object({\n permission: z.string(),\n dependsOn: z.array(z.string()),\n }),\n ),\n);\n\nexport const permissionCatalogStaffAdminRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n route: {\n method: \"get\",\n description:\n \"Get the staff permission catalog declared by every plugin (Admin only)\",\n path: \"/permission-catalog\",\n responses: {\n 200: {\n content: {\n \"application/json\": {\n schema: z.array(\n z.object({\n pluginId: z.string(),\n admin: permissionStaffModulesSchema,\n moderator: permissionStaffModulesSchema,\n }),\n ),\n },\n },\n description: \"Staff permission catalog\",\n },\n 403: {\n description: \"Access Denied\",\n },\n },\n },\n handler: c => {\n return c.json(c.get(\"core\").permissionStaff, 200);\n },\n});\n"],"mappings":"qJAKA,MAAM,EAA+B,EAAE,OACrC,EAAE,OAAO,EACT,EAAE,MACA,EAAE,OAAO,CACP,WAAY,EAAE,OAAO,EACrB,UAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAC/B,CAAC,CACH,CACF,EAEa,EAAmC,EAAW,CACzD,SAAU,EAAc,SACxB,MAAO,CACL,OAAQ,MACR,YACE,yEACF,KAAM,sBACN,UAAW,CACT,IAAK,CACH,QAAS,CACP,mBAAoB,CAClB,OAAQ,EAAE,MACR,EAAE,OAAO,CACP,SAAU,EAAE,OAAO,EACnB,MAAO,EACP,UAAW,CACb,CAAC,CACH,CACF,CACF,EACA,YAAa,0BACf,EACA,IAAK,CACH,YAAa,eACf,CACF,CACF,EACA,QAAS,GACA,EAAE,KAAK,EAAE,IAAI,MAAM,CAAC,CAAC,gBAAiB,GAAG,CAEpD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"show-permissions.route.js","names":[],"sources":["../../../../../../../src/api/modules/admin/staff/routes/show-permissions.route.ts"],"sourcesContent":["import { z } from \"@hono/zod-openapi\";\nimport { eq } from \"drizzle-orm\";\n\nimport { assertStaffPermission } from \"@/api/lib/check-staff-permission\";\nimport { buildRoute } from \"@/api/lib/route\";\nimport { CONFIG_PLUGIN } from \"@/config\";\nimport { core_admin_permissions } from \"@/database/admins\";\nimport { core_moderators_permissions } from \"@/database/moderators\";\n\nimport { resolveStaffEdges } from \"../lib/resolve-staff-edges\";\nimport {\n permissionsStaffArgsSchema,\n staffEntrySchema,\n staffPermissionModuleByType,\n staffTypeSchema,\n} from \"../lib/schema\";\n\nconst tableByType = {\n admin: core_admin_permissions,\n moderator: core_moderators_permissions,\n} as const;\n\nexport const showPermissionsStaffAdminRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n route: {\n method: \"get\",\n description:\n \"Get a single staff entry with its granted permissions (Admin only)\",\n path: \"/entry/{type}/{id}\",\n request: {\n params: z.object({\n type: staffTypeSchema,\n id: z.string().openapi({ example: \"1\" }),\n }),\n },\n responses: {\n 200: {\n content: {\n \"application/json\": {\n schema: staffEntrySchema.extend({\n permissions: z.array(permissionsStaffArgsSchema),\n }),\n },\n },\n description: \"Staff entry\",\n },\n 403: {\n description: \"Access Denied\",\n },\n 404: {\n content: {\n \"application/json\": {\n schema: z.object({ error: z.string() }),\n },\n },\n description: \"Staff entry not found\",\n },\n },\n },\n handler: async c => {\n const { type, id } = c.req.valid(\"param\");\n await assertStaffPermission(c, {\n type: \"admin\",\n plugin: CONFIG_PLUGIN.pluginId,\n module: staffPermissionModuleByType[type],\n permission: \"can_edit\",\n });\n\n const entryId = Number(id);\n if (!Number.isInteger(entryId)) {\n return c.json({ error: \"Staff entry not found\" }, 404);\n }\n\n const table = tableByType[type];\n const [entry] = await c\n .get(\"db\")\n .select({\n id: table.id,\n roleId: table.roleId,\n userId: table.userId,\n createdAt: table.createdAt,\n updatedAt: table.updatedAt,\n data: table.data,\n protected: table.protected,\n })\n .from(table)\n .where(eq(table.id, entryId))\n .limit(1);\n\n if (!entry) {\n return c.json({ error: \"Staff entry not found\" }, 404);\n }\n\n const [resolved] = await resolveStaffEdges(c, [entry]);\n\n return c.json(\n {\n ...resolved,\n permissions: entry.data?.permissions ?? [],\n },\n 200,\n );\n },\n});\n"],"mappings":"mnBAiBA,MAAM,EAAc,CAClB,MAAO,EACP,UAAW,CACb,EAEa,EAAiC,EAAW,CACvD,SAAU,EAAc,SACxB,MAAO,CACL,OAAQ,MACR,YACE,qEACF,KAAM,qBACN,QAAS,CACP,OAAQ,EAAE,OAAO,CACf,KAAM,EACN,GAAI,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAE,QAAS,GAAI,CAAC,CACzC,CAAC,CACH,EACA,UAAW,CACT,IAAK,CACH,QAAS,CACP,mBAAoB,CAClB,OAAQ,EAAiB,OAAO,CAC9B,YAAa,EAAE,MAAM,CAA0B,CACjD,CAAC,CACH,CACF,EACA,YAAa,aACf,EACA,IAAK,CACH,YAAa,eACf,EACA,IAAK,CACH,QAAS,CACP,mBAAoB,CAClB,OAAQ,EAAE,OAAO,CAAE,MAAO,EAAE,OAAO,CAAE,CAAC,CACxC,CACF,EACA,YAAa,uBACf,CACF,CACF,EACA,QAAS,KAAM,IAAK,CAClB,GAAM,CAAE,OAAM,MAAO,EAAE,IAAI,MAAM,OAAO,EACxC,MAAM,EAAsB,EAAG,CAC7B,KAAM,QACN,OAAQ,EAAc,SACtB,OAAQ,EAA4B,GACpC,WAAY,UACd,CAAC,EAED,IAAM,EAAU,OAAO,CAAE,EACzB,GAAI,CAAC,OAAO,UAAU,CAAO,EAC3B,OAAO,EAAE,KAAK,CAAE,MAAO,uBAAwB,EAAG,GAAG,EAGvD,IAAM,EAAQ,EAAY,GACpB,CAAC,GAAS,MAAM,EACnB,IAAI,IAAI,CAAC,CACT,OAAO,CACN,GAAI,EAAM,GACV,OAAQ,EAAM,OACd,OAAQ,EAAM,OACd,UAAW,EAAM,UACjB,UAAW,EAAM,UACjB,KAAM,EAAM,KACZ,UAAW,EAAM,SACnB,CAAC,CAAC,CACD,KAAK,CAAK,CAAC,CACX,MAAM,EAAG,EAAM,GAAI,CAAO,CAAC,CAAC,CAC5B,MAAM,CAAC,EAEV,GAAI,CAAC,EACH,OAAO,EAAE,KAAK,CAAE,MAAO,uBAAwB,EAAG,GAAG,EAGvD,GAAM,CAAC,GAAY,MAAM,EAAkB,EAAG,CAAC,CAAK,CAAC,EAErD,OAAO,EAAE,KACP,CACE,GAAG,EACH,YAAa,EAAM,MAAM,aAAe,CAAC,CAC3C,EACA,GACF,CACF,CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-permissions.route.js","names":[],"sources":["../../../../../../../src/api/modules/admin/staff/routes/update-permissions.route.ts"],"sourcesContent":["import { z } from \"@hono/zod-openapi\";\nimport { eq } from \"drizzle-orm\";\nimport { HTTPException } from \"hono/http-exception\";\n\nimport type { PermissionsStaffArgs } from \"@/api/lib/permission-staff\";\n\nimport {\n assertStaffPermission,\n getUserRoleIds,\n} from \"@/api/lib/check-staff-permission\";\nimport { buildRoute } from \"@/api/lib/route\";\nimport { staffPermissionKey } from \"@/api/lib/staff-permission\";\nimport { CONFIG_PLUGIN } from \"@/config\";\nimport { core_admin_permissions } from \"@/database/admins\";\nimport { core_moderators_permissions } from \"@/database/moderators\";\n\nimport {\n permissionsStaffArgsSchema,\n staffPermissionModuleByType,\n staffTypeSchema,\n} from \"../lib/schema\";\n\nconst tableByType = {\n admin: core_admin_permissions,\n moderator: core_moderators_permissions,\n} as const;\n\nexport const updatePermissionsStaffAdminRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n route: {\n method: \"patch\",\n description: \"Update the granted permissions of a staff entry (Admin only)\",\n path: \"/entry/{type}/{id}\",\n request: {\n params: z.object({\n type: staffTypeSchema,\n id: z.string().openapi({ example: \"1\" }),\n }),\n body: {\n content: {\n \"application/json\": {\n schema: z.object({\n unrestricted: z.boolean(),\n permissions: z.array(permissionsStaffArgsSchema),\n }),\n },\n },\n },\n },\n responses: {\n 200: {\n content: {\n \"application/json\": {\n schema: z.object({\n unrestricted: z.boolean(),\n permissions: z.array(permissionsStaffArgsSchema),\n }),\n },\n },\n description: \"Updated permissions\",\n },\n 403: {\n description: \"Access Denied\",\n },\n 404: {\n content: {\n \"application/json\": {\n schema: z.object({ error: z.string() }),\n },\n },\n description: \"Staff entry not found\",\n },\n },\n },\n handler: async c => {\n const { type, id } = c.req.valid(\"param\");\n await assertStaffPermission(c, {\n type: \"admin\",\n plugin: CONFIG_PLUGIN.pluginId,\n module: staffPermissionModuleByType[type],\n permission: \"can_edit\",\n });\n\n const { unrestricted, permissions } = c.req.valid(\"json\");\n\n const entryId = Number(id);\n if (!Number.isInteger(entryId)) {\n return c.json({ error: \"Staff entry not found\" }, 404);\n }\n\n const table = tableByType[type];\n\n const [entry] = await c\n .get(\"db\")\n .select({\n protected: table.protected,\n userId: table.userId,\n roleId: table.roleId,\n })\n .from(table)\n .where(eq(table.id, entryId))\n .limit(1);\n\n if (!entry) {\n return c.json({ error: \"Staff entry not found\" }, 404);\n }\n // Protected entries are managed by the system and cannot be edited.\n if (entry.protected) {\n throw new HTTPException(403, { message: \"Forbidden\" });\n }\n\n // An admin cannot edit the entry that governs their own access - their own\n // user entry or an entry for any role they belong to (primary or\n // secondary). This stops them from escalating their own permissions.\n const currentUser = c.get(\"admin\")?.user;\n const currentUserRoleIds = currentUser\n ? await getUserRoleIds(c, currentUser)\n : [];\n const isSelf =\n currentUser != null &&\n ((entry.userId != null && entry.userId === currentUser.id) ||\n (entry.roleId != null && currentUserRoleIds.includes(entry.roleId)));\n if (isSelf) {\n throw new HTTPException(403, {\n message: \"You cannot edit your own staff permissions.\",\n });\n }\n\n // Only persist permissions that actually exist in the catalog for this\n // staff type - silently drops anything unknown/forged. Also record each\n // permission's dependencies (the keys of the permissions it `dependsOn`\n // within the same module) so we can drop grants whose gate is missing.\n const allowed = new Set<string>();\n const dependencies = new Map<string, string[]>();\n for (const plugin of c.get(\"core\").permissionStaff) {\n for (const [module, modulePermissions] of Object.entries(plugin[type])) {\n for (const entry of modulePermissions) {\n const key = staffPermissionKey({\n plugin: plugin.pluginId,\n module,\n permission: entry.permission,\n });\n allowed.add(key);\n dependencies.set(\n key,\n entry.dependsOn.map(dependency =>\n staffPermissionKey({\n plugin: plugin.pluginId,\n module,\n permission: dependency,\n }),\n ),\n );\n }\n }\n }\n\n const seen = new Set<string>();\n const granted = new Map<string, PermissionsStaffArgs>();\n // When unrestricted, the explicit list is irrelevant - store none.\n if (!unrestricted) {\n for (const permission of permissions) {\n const key = staffPermissionKey(permission);\n if (!allowed.has(key) || seen.has(key)) continue;\n seen.add(key);\n granted.set(key, permission);\n }\n\n // Drop any granted permission whose dependencies aren't all granted too,\n // repeating until stable so a broken chain (a → b → c) collapses fully.\n let changed = true;\n while (changed) {\n changed = false;\n for (const key of granted.keys()) {\n const deps = dependencies.get(key) ?? [];\n if (deps.some(dependency => !granted.has(dependency))) {\n granted.delete(key);\n changed = true;\n }\n }\n }\n }\n\n const sanitized: PermissionsStaffArgs[] = [...granted.values()];\n\n const [updated] = await c\n .get(\"db\")\n .update(table)\n .set({ data: { unrestricted, permissions: sanitized } })\n .where(eq(table.id, entryId))\n .returning({ id: table.id });\n\n if (!updated) {\n return c.json({ error: \"Staff entry not found\" }, 404);\n }\n\n return c.json({ unrestricted, permissions: sanitized }, 200);\n },\n});\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"staff.admin.module.js","names":[],"sources":["../../../../../../src/api/modules/admin/staff/staff.admin.module.ts"],"sourcesContent":["import { buildModule } from \"@/api/lib/module\";\nimport { CONFIG_PLUGIN } from \"@/config\";\n\nimport { listAdminsStaffAdminRoute } from \"./routes/admins.route\";\nimport { createStaffAdminRoute } from \"./routes/create.route\";\nimport { deleteStaffAdminRoute } from \"./routes/delete.route\";\nimport { listModeratorsStaffAdminRoute } from \"./routes/moderators.route\";\nimport { permissionCatalogStaffAdminRoute } from \"./routes/permission-catalog.route\";\nimport { showPermissionsStaffAdminRoute } from \"./routes/show-permissions.route\";\nimport { updatePermissionsStaffAdminRoute } from \"./routes/update-permissions.route\";\n\nexport const staffAdminModule = buildModule({\n pluginId: CONFIG_PLUGIN.pluginId,\n name: \"staff\",\n routes: [\n listModeratorsStaffAdminRoute,\n listAdminsStaffAdminRoute,\n permissionCatalogStaffAdminRoute,\n showPermissionsStaffAdminRoute,\n updatePermissionsStaffAdminRoute,\n createStaffAdminRoute,\n deleteStaffAdminRoute,\n ],\n});\n"],"mappings":"moBAWA,MAAa,EAAmB,EAAY,CAC1C,SAAU,EAAc,SACxB,KAAM,QACN,OAAQ,CACN,EACA,EACA,EACA,EACA,EACA,EACA,CACF,CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"assert-edit-user-permission.js","names":[],"sources":["../../../../../../../src/api/modules/admin/users/lib/assert-edit-user-permission.ts"],"sourcesContent":["import type { Context } from \"hono\";\n\nimport { eq } from \"drizzle-orm\";\n\nimport { assertStaffPermission } from \"@/api/lib/check-staff-permission\";\nimport { SessionAdminModel } from \"@/api/models/session-admin\";\nimport { CONFIG_PLUGIN } from \"@/config\";\nimport { core_admin_permissions } from \"@/database/admins\";\n\nconst assertCanEditAdmin = async (c: Context): Promise<void> => {\n await assertStaffPermission(c, {\n type: \"admin\",\n plugin: CONFIG_PLUGIN.pluginId,\n module: \"users\",\n permission: \"can_edit_admin\",\n });\n};\n\nexport const assertCanEditAdminTarget = async (\n c: Context,\n userId: number,\n): Promise<void> => {\n const isTargetAdmin = await new SessionAdminModel(c).checkIfUserIsAdmin(\n userId,\n );\n if (!isTargetAdmin) return;\n\n await assertCanEditAdmin(c);\n};\n\n/**\n * A role grants admin access when it has a row in `core_admin_permissions`.\n * Assigning such a role as a user's primary role turns that user into an admin\n * (see `SessionAdminModel.checkIfUserIsAdmin`), so it must require the same\n * `can_edit_admin` permission as editing an already-admin user - otherwise a\n * `can_edit`-only admin could escalate a non-admin user into an admin.\n */\nexport const assertCanAssignPrimaryRole = async (\n c: Context,\n roleId: number,\n): Promise<void> => {\n const [adminRole] = await c\n .get(\"db\")\n .select({ id: core_admin_permissions.id })\n .from(core_admin_permissions)\n .where(eq(core_admin_permissions.roleId, roleId))\n .limit(1);\n\n if (!adminRole) return;\n\n await assertCanEditAdmin(c);\n};\n"],"mappings":"+TASA,MAAM,EAAqB,KAAO,IAA8B,CAC9D,MAAM,EAAsB,EAAG,CAC7B,KAAM,QACN,OAAQ,EAAc,SACtB,OAAQ,QACR,WAAY,gBACd,CAAC,CACH,EAEa,EAA2B,MACtC,EACA,IACkB,CAIb,MAHuB,IAAI,EAAkB,CAAC,CAAC,CAAC,mBACnD,CACF,GAGA,MAAM,EAAmB,CAAC,CAC5B,EASa,EAA6B,MACxC,EACA,IACkB,CAClB,GAAM,CAAC,GAAa,MAAM,EACvB,IAAI,IAAI,CAAC,CACT,OAAO,CAAE,GAAI,EAAuB,EAAG,CAAC,CAAC,CACzC,KAAK,CAAsB,CAAC,CAC5B,MAAM,EAAG,EAAuB,OAAQ,CAAM,CAAC,CAAC,CAChD,MAAM,CAAC,EAEL,GAEL,MAAM,EAAmB,CAAC,CAC5B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"create.route.js","names":[],"sources":["../../../../../../../src/api/modules/admin/users/routes/create.route.ts"],"sourcesContent":["import { z } from \"@hono/zod-openapi\";\n\nimport { buildRoute } from \"@/api/lib/route\";\nimport { PasswordModel } from \"@/api/models/password\";\nimport { UserModel } from \"@/api/models/user\";\nimport { CONFIG_PLUGIN } from \"@/config\";\n\nconst nameRegex = /^(?!.* {2})[\\p{L}\\p{N}._@ -]*$/u;\n\nexport const zodCreateUserAdminSchema = z.object({\n email: z.email().toLowerCase().openapi({\n example: \"test@test.com\",\n }),\n name: z\n .string()\n .openapi({ example: \"test\" })\n .min(3)\n .refine(val => nameRegex.test(val), {\n message: \"Invalid name\",\n }),\n password: z.string().min(8).openapi({\n example: \"Test123!\",\n }),\n});\n\nexport const createUserAdminRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n adminStaffPermission: { module: \"users\", permission: \"can_create\" },\n route: {\n method: \"post\",\n description: \"Create a new user (Admin only)\",\n path: \"/create\",\n request: {\n body: {\n required: true,\n content: {\n \"application/json\": {\n schema: zodCreateUserAdminSchema,\n },\n },\n },\n },\n responses: {\n 201: {\n content: {\n \"application/json\": {\n schema: z.object({\n id: z.number(),\n name: z.string(),\n email: z.email(),\n }),\n },\n },\n description: \"User created\",\n },\n 403: {\n description: \"Access Denied\",\n },\n 409: {\n description: \"Email or name already exists\",\n },\n },\n },\n handler: async c => {\n const { password, ...input } = c.req.valid(\"json\");\n const hashedPassword = await new PasswordModel().encryptPassword(password);\n const data = await new UserModel().signUp({ ...input, hashedPassword }, c);\n\n return c.json(\n {\n id: data.id,\n name: data.name,\n email: data.email,\n },\n 201,\n );\n },\n});\n"],"mappings":"2QAOA,MAAM,EAAY,kCAEL,EAA2B,EAAE,OAAO,CAC/C,MAAO,EAAE,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CACrC,QAAS,eACX,CAAC,EACD,KAAM,EACH,OAAO,CAAC,CACR,QAAQ,CAAE,QAAS,MAAO,CAAC,CAAC,CAC5B,IAAI,CAAC,CAAC,CACN,OAAO,GAAO,EAAU,KAAK,CAAG,EAAG,CAClC,QAAS,cACX,CAAC,EACH,SAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAClC,QAAS,UACX,CAAC,CACH,CAAC,EAEY,EAAuB,EAAW,CAC7C,SAAU,EAAc,SACxB,qBAAsB,CAAE,OAAQ,QAAS,WAAY,YAAa,EAClE,MAAO,CACL,OAAQ,OACR,YAAa,iCACb,KAAM,UACN,QAAS,CACP,KAAM,CACJ,SAAU,GACV,QAAS,CACP,mBAAoB,CAClB,OAAQ,CACV,CACF,CACF,CACF,EACA,UAAW,CACT,IAAK,CACH,QAAS,CACP,mBAAoB,CAClB,OAAQ,EAAE,OAAO,CACf,GAAI,EAAE,OAAO,EACb,KAAM,EAAE,OAAO,EACf,MAAO,EAAE,MAAM,CACjB,CAAC,CACH,CACF,EACA,YAAa,cACf,EACA,IAAK,CACH,YAAa,eACf,EACA,IAAK,CACH,YAAa,8BACf,CACF,CACF,EACA,QAAS,KAAM,IAAK,CAClB,GAAM,CAAE,WAAU,GAAG,GAAU,EAAE,IAAI,MAAM,MAAM,EAC3C,EAAiB,MAAM,IAAI,EAAc,CAAC,CAAC,gBAAgB,CAAQ,EACnE,EAAO,MAAM,IAAI,EAAU,CAAC,CAAC,OAAO,CAAE,GAAG,EAAO,gBAAe,EAAG,CAAC,EAEzE,OAAO,EAAE,KACP,CACE,GAAI,EAAK,GACT,KAAM,EAAK,KACX,MAAO,EAAK,KACd,EACA,GACF,CACF,CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.route.js","names":[],"sources":["../../../../../../../src/api/modules/admin/users/routes/list.route.ts"],"sourcesContent":["import { z } from \"@hono/zod-openapi\";\nimport { eq, inArray } from \"drizzle-orm\";\n\nimport { resolveRoleNames } from \"@/api/lib/resolve-role-names\";\nimport { buildRoute } from \"@/api/lib/route\";\nimport {\n withPagination,\n zodPaginationPageInfo,\n zodPaginationQuery,\n} from \"@/api/lib/with-pagination\";\nimport { CONFIG_PLUGIN } from \"@/config\";\nimport { core_roles } from \"@/database/roles\";\nimport { core_users, core_users_secondary_roles } from \"@/database/users\";\n\nexport const listUsersAdminRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n adminStaffPermission: { module: \"users\", permission: \"can_view\" },\n route: {\n method: \"get\",\n description: \"Get list of all users\",\n path: \"/list\",\n request: {\n query: zodPaginationQuery.extend({\n order: z.enum([\"asc\", \"desc\"]).optional(),\n orderBy: z.enum([\"name\", \"createdAt\"]).optional(),\n roleId: z.string().optional(),\n search: z.string().optional(),\n }),\n },\n responses: {\n 200: {\n content: {\n \"application/json\": {\n schema: z.object({\n edges: z.array(\n z.object({\n id: z.number(),\n name: z.string(),\n email: z.string(),\n nameCode: z.string(),\n createdAt: z.date(),\n newsletter: z.boolean(),\n avatarColor: z.string(),\n emailVerified: z.boolean(),\n roleId: z.number(),\n role: z.object({\n id: z.number(),\n color: z.string().nullable(),\n name: z.array(\n z.object({\n name: z.string(),\n languageCode: z.string(),\n }),\n ),\n }),\n secondaryRoles: z.array(\n z.object({\n id: z.number(),\n color: z.string().nullable(),\n name: z.array(\n z.object({\n name: z.string(),\n languageCode: z.string(),\n }),\n ),\n }),\n ),\n birthday: z.date().nullable(),\n language: z.string(),\n }),\n ),\n pageInfo: zodPaginationPageInfo,\n }),\n },\n },\n description: \"List of users\",\n },\n },\n },\n handler: async c => {\n const query = c.req.valid(\"query\");\n const roleIds = (query.roleId?.split(\",\") ?? [])\n .filter(Boolean)\n .map(id => Number(id))\n .filter(id => !Number.isNaN(id));\n const data = await withPagination({\n params: {\n query,\n },\n search: [core_users.name, core_users.email],\n where: roleIds.length ? inArray(core_users.roleId, roleIds) : undefined,\n primaryCursor: core_users.id,\n query: async ({ limit, where, orderBy }) =>\n await c\n .get(\"db\")\n .select({\n id: core_users.id,\n name: core_users.name,\n email: core_users.email,\n nameCode: core_users.nameCode,\n createdAt: core_users.createdAt,\n newsletter: core_users.newsletter,\n avatarColor: core_users.avatarColor,\n emailVerified: core_users.emailVerified,\n roleId: core_users.roleId,\n roleColor: core_roles.color,\n birthday: core_users.birthday,\n language: core_users.language,\n })\n .from(core_users)\n .leftJoin(core_roles, eq(core_roles.id, core_users.roleId))\n .where(where)\n .orderBy(orderBy)\n .limit(limit),\n table: core_users,\n orderBy: {\n column: query.orderBy\n ? core_users[query.orderBy]\n : core_users.createdAt,\n order: query.order ?? \"desc\",\n },\n c,\n });\n\n // Secondary roles are a user<->role join, so collect every assignment for\n // the listed users in a single query (with the role color alongside).\n const userIds = data.edges.map(user => user.id);\n const secondaryRoleRows = userIds.length\n ? await c\n .get(\"db\")\n .select({\n userId: core_users_secondary_roles.userId,\n roleId: core_users_secondary_roles.roleId,\n roleColor: core_roles.color,\n })\n .from(core_users_secondary_roles)\n .innerJoin(\n core_roles,\n eq(core_roles.id, core_users_secondary_roles.roleId),\n )\n .where(inArray(core_users_secondary_roles.userId, userIds))\n : [];\n\n // Role names live in `core_languages_words`, so resolve the translations for\n // every role referenced by the listed users (primary and secondary) at once.\n const roleNames = await resolveRoleNames(c, [\n ...data.edges.map(user => user.roleId),\n ...secondaryRoleRows.map(row => row.roleId),\n ]);\n\n return c.json({\n pageInfo: data.pageInfo,\n edges: data.edges.map(({ roleColor, ...user }) => ({\n ...user,\n role: {\n id: user.roleId,\n color: roleColor,\n name: roleNames.get(user.roleId) ?? [],\n },\n secondaryRoles: secondaryRoleRows\n .filter(row => row.userId === user.id)\n .map(row => ({\n id: row.roleId,\n color: row.roleColor,\n name: roleNames.get(row.roleId) ?? [],\n })),\n })),\n });\n },\n});\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"show.route.js","names":[],"sources":["../../../../../../../src/api/modules/admin/users/routes/show.route.ts"],"sourcesContent":["import { z } from \"@hono/zod-openapi\";\nimport { eq } from \"drizzle-orm\";\n\nimport { resolveRoleNames } from \"@/api/lib/resolve-role-names\";\nimport { buildRoute } from \"@/api/lib/route\";\nimport { SessionAdminModel } from \"@/api/models/session-admin\";\nimport { UserModel } from \"@/api/models/user\";\nimport { CONFIG_PLUGIN } from \"@/config\";\nimport { core_roles } from \"@/database/roles\";\nimport { core_users_secondary_roles } from \"@/database/users\";\n\nconst roleSchema = z.object({\n id: z.number(),\n color: z.string().nullable(),\n name: z.array(\n z.object({\n name: z.string(),\n languageCode: z.string(),\n }),\n ),\n});\n\nexport const showUserAdminRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n adminStaffPermission: { module: \"users\", permission: \"can_view\" },\n route: {\n method: \"get\",\n description: \"Get a single user by id (Admin only)\",\n path: \"/{id}\",\n request: {\n params: z.object({\n id: z.string().openapi({ example: \"1\" }),\n }),\n },\n responses: {\n 200: {\n content: {\n \"application/json\": {\n schema: z.object({\n id: z.number(),\n name: z.string(),\n email: z.string(),\n nameCode: z.string(),\n createdAt: z.date(),\n newsletter: z.boolean(),\n avatarColor: z.string(),\n emailVerified: z.boolean(),\n roleId: z.number(),\n role: roleSchema,\n secondaryRoles: z.array(roleSchema),\n birthday: z.date().nullable(),\n language: z.string(),\n isAdmin: z.boolean(),\n }),\n },\n },\n description: \"User found\",\n },\n 403: {\n description: \"Access Denied\",\n },\n 404: {\n content: {\n \"application/json\": {\n schema: z.object({\n error: z.string(),\n }),\n },\n },\n description: \"User not found\",\n },\n },\n },\n handler: async c => {\n const { id } = c.req.valid(\"param\");\n const userId = Number(id);\n if (!Number.isInteger(userId)) {\n return c.json({ error: \"User not found\" }, 404);\n }\n\n const user = await new UserModel().getUserById({\n id: userId,\n c,\n });\n\n if (!user) {\n return c.json({ error: \"User not found\" }, 404);\n }\n\n const db = c.get(\"db\");\n const secondaryRoleRows = await db\n .select({\n id: core_roles.id,\n color: core_roles.color,\n })\n .from(core_users_secondary_roles)\n .innerJoin(\n core_roles,\n eq(core_roles.id, core_users_secondary_roles.roleId),\n )\n .where(eq(core_users_secondary_roles.userId, user.id));\n\n const [primaryRole] = await db\n .select({ id: core_roles.id, color: core_roles.color })\n .from(core_roles)\n .where(eq(core_roles.id, user.roleId))\n .limit(1);\n\n const names = await resolveRoleNames(c, [\n user.roleId,\n ...secondaryRoleRows.map(role => role.id),\n ]);\n\n // Whether the listed user is themselves an administrator. The frontend uses\n // this to require the elevated `can_edit_admin` permission before showing\n // edit controls (the backend enforces the same rule on write).\n const isAdmin = await new SessionAdminModel(c).checkIfUserIsAdmin(user.id);\n\n return c.json(\n {\n ...user,\n isAdmin,\n role: {\n id: user.roleId,\n color: primaryRole?.color ?? null,\n name: names.get(user.roleId) ?? [],\n },\n secondaryRoles: secondaryRoleRows.map(role => ({\n id: role.id,\n color: role.color,\n name: names.get(role.id) ?? [],\n })),\n },\n 200,\n );\n },\n});\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"update.route.js","names":[],"sources":["../../../../../../../src/api/modules/admin/users/routes/update.route.ts"],"sourcesContent":["import { z } from \"@hono/zod-openapi\";\nimport { and, eq, inArray, ne } from \"drizzle-orm\";\n\nimport { buildRoute } from \"@/api/lib/route\";\nimport { CONFIG_PLUGIN } from \"@/config\";\nimport { core_roles } from \"@/database/roles\";\nimport { core_users, core_users_secondary_roles } from \"@/database/users\";\n\nimport {\n assertCanAssignPrimaryRole,\n assertCanEditAdminTarget,\n} from \"../lib/assert-edit-user-permission\";\n\nconst nameRegex = /^(?!.* {2})[\\p{L}\\p{N}._@ -]*$/u;\n\nexport const zodUpdateUserAdminSchema = z\n .object({\n email: z.email().toLowerCase().openapi({\n example: \"test@test.com\",\n }),\n name: z\n .string()\n .min(3)\n .refine(val => nameRegex.test(val), {\n message: \"Invalid name\",\n })\n .openapi({ example: \"test\" }),\n nameCode: z\n .string()\n .min(3)\n .max(255)\n .regex(/^[a-zA-Z0-9-]+$/, { message: \"Invalid name code\" })\n .openapi({ example: \"test\" }),\n roleId: z.number().int().positive().openapi({ example: 1 }),\n secondaryRoleIds: z\n .array(z.number().int().positive())\n .openapi({ example: [2, 3] }),\n })\n .partial()\n .refine(body => Object.values(body).some(value => value !== undefined), {\n message: \"At least one field is required\",\n });\n\nexport const updateUserAdminRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n adminStaffPermission: { module: \"users\", permission: \"can_edit\" },\n route: {\n method: \"patch\",\n description: \"Update a user's name or email by id (Admin only)\",\n path: \"/{id}\",\n request: {\n params: z.object({\n id: z.string().openapi({ example: \"1\" }),\n }),\n body: {\n required: true,\n content: {\n \"application/json\": {\n schema: zodUpdateUserAdminSchema,\n },\n },\n },\n },\n responses: {\n 200: {\n content: {\n \"application/json\": {\n schema: z.object({\n id: z.number(),\n name: z.string(),\n email: z.email(),\n nameCode: z.string(),\n }),\n },\n },\n description: \"User updated\",\n },\n 400: {\n content: {\n \"application/json\": {\n schema: z.object({ error: z.string() }),\n },\n },\n description: \"Invalid role\",\n },\n 403: {\n description: \"Access Denied\",\n },\n 404: {\n content: {\n \"application/json\": {\n schema: z.object({ error: z.string() }),\n },\n },\n description: \"User not found\",\n },\n 409: {\n content: {\n \"application/json\": {\n schema: z.object({ error: z.string() }),\n },\n },\n description: \"Email or name already exists\",\n },\n },\n },\n handler: async c => {\n const { id } = c.req.valid(\"param\");\n const body = c.req.valid(\"json\");\n const db = c.get(\"db\");\n\n const userId = Number(id);\n if (!Number.isInteger(userId)) {\n return c.json({ error: \"User not found\" }, 404);\n }\n\n const [user] = await db\n .select({ id: core_users.id, roleId: core_users.roleId })\n .from(core_users)\n .where(eq(core_users.id, userId))\n .limit(1);\n\n if (!user) {\n return c.json({ error: \"User not found\" }, 404);\n }\n\n await assertCanEditAdminTarget(c, userId);\n\n const values: Partial<typeof core_users.$inferInsert> = {};\n\n if (body.email !== undefined) {\n const [existing] = await db\n .select({ id: core_users.id })\n .from(core_users)\n .where(\n and(eq(core_users.email, body.email), ne(core_users.id, user.id)),\n )\n .limit(1);\n\n if (existing) {\n return c.json({ error: \"Email already exists\" }, 409);\n }\n\n values.email = body.email;\n }\n\n if (body.name !== undefined) {\n const [existing] = await db\n .select({ id: core_users.id })\n .from(core_users)\n .where(and(eq(core_users.name, body.name), ne(core_users.id, user.id)))\n .limit(1);\n\n if (existing) {\n return c.json({ error: \"Name already exists\" }, 409);\n }\n\n values.name = body.name;\n }\n\n if (body.nameCode !== undefined) {\n // The name code is the user's URL identifier (`@mention` handle), so it\n // must stay globally unique.\n const [existing] = await db\n .select({ id: core_users.id })\n .from(core_users)\n .where(\n and(\n eq(core_users.nameCode, body.nameCode),\n ne(core_users.id, user.id),\n ),\n )\n .limit(1);\n\n if (existing) {\n return c.json({ error: \"Name code already exists\" }, 409);\n }\n\n values.nameCode = body.nameCode;\n }\n\n const effectivePrimaryId = body.roleId ?? user.roleId;\n const secondaryRoleIds =\n body.secondaryRoleIds !== undefined\n ? [...new Set(body.secondaryRoleIds)].filter(\n id => id !== effectivePrimaryId,\n )\n : undefined;\n\n const roleIdsToValidate = [\n ...(body.roleId !== undefined ? [body.roleId] : []),\n ...(secondaryRoleIds ?? []),\n ];\n\n if (roleIdsToValidate.length > 0) {\n const existingRoles = await db\n .select({ id: core_roles.id, guest: core_roles.guest })\n .from(core_roles)\n .where(inArray(core_roles.id, roleIdsToValidate));\n const assignableRoleIds = new Set(\n existingRoles.filter(role => !role.guest).map(role => role.id),\n );\n\n if (roleIdsToValidate.some(id => !assignableRoleIds.has(id))) {\n return c.json({ error: \"Invalid role\" }, 400);\n }\n }\n\n if (body.roleId !== undefined) {\n await assertCanAssignPrimaryRole(c, body.roleId);\n values.roleId = body.roleId;\n }\n\n if (secondaryRoleIds !== undefined) {\n await db\n .delete(core_users_secondary_roles)\n .where(eq(core_users_secondary_roles.userId, user.id));\n\n if (secondaryRoleIds.length > 0) {\n await db.insert(core_users_secondary_roles).values(\n secondaryRoleIds.map(roleId => ({\n userId: user.id,\n roleId,\n })),\n );\n }\n }\n\n if (Object.keys(values).length > 0) {\n const [updated] = await db\n .update(core_users)\n .set(values)\n .where(eq(core_users.id, user.id))\n .returning({\n id: core_users.id,\n name: core_users.name,\n email: core_users.email,\n nameCode: core_users.nameCode,\n });\n\n return c.json(updated, 200);\n }\n\n const [current] = await db\n .select({\n id: core_users.id,\n name: core_users.name,\n email: core_users.email,\n nameCode: core_users.nameCode,\n })\n .from(core_users)\n .where(eq(core_users.id, user.id))\n .limit(1);\n\n return c.json(current, 200);\n },\n});\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"users.route.js","names":[],"sources":["../../../../../../../src/api/modules/admin/users/routes/users.route.ts"],"sourcesContent":["import { z } from \"@hono/zod-openapi\";\n\nimport { buildRoute } from \"@/api/lib/route\";\nimport {\n withPagination,\n zodPaginationPageInfo,\n zodPaginationQuery,\n} from \"@/api/lib/with-pagination\";\nimport { CONFIG_PLUGIN } from \"@/config\";\nimport { core_users } from \"@/database/users\";\n\nexport const usersAdminRoute = buildRoute({\n pluginId: CONFIG_PLUGIN.pluginId,\n route: {\n method: \"get\",\n description: \"Get list of all users (Admin only)\",\n path: \"/list\",\n request: {\n query: zodPaginationQuery.extend({\n order: z.enum([\"asc\", \"desc\"]).optional(),\n orderBy: z.enum([\"id\", \"name\", \"email\", \"createdAt\"]).optional(),\n }),\n },\n responses: {\n 200: {\n content: {\n \"application/json\": {\n schema: z.object({\n edges: z.array(\n z.object({\n id: z.number(),\n name: z.string(),\n email: z.string(),\n nameCode: z.string(),\n createdAt: z.date(),\n newsletter: z.boolean(),\n avatarColor: z.string(),\n emailVerified: z.boolean(),\n roleId: z.number(),\n birthday: z.date().nullable(),\n language: z.string(),\n }),\n ),\n pageInfo: zodPaginationPageInfo,\n }),\n },\n },\n description: \"List of users\",\n },\n 403: {\n description: \"Access Denied\",\n },\n },\n },\n handler: async c => {\n const query = c.req.valid(\"query\");\n const data = await withPagination({\n params: {\n query,\n },\n primaryCursor: core_users.id,\n query: async ({ limit, where, orderBy }) =>\n await c\n .get(\"db\")\n .select({\n id: core_users.id,\n name: core_users.name,\n email: core_users.email,\n nameCode: core_users.nameCode,\n createdAt: core_users.createdAt,\n newsletter: core_users.newsletter,\n avatarColor: core_users.avatarColor,\n emailVerified: core_users.emailVerified,\n roleId: core_users.roleId,\n birthday: core_users.birthday,\n language: core_users.language,\n })\n .from(core_users)\n .where(where)\n .orderBy(orderBy)\n .limit(limit),\n table: core_users,\n orderBy: {\n column: query.orderBy\n ? core_users[query.orderBy]\n : core_users.createdAt,\n order: query.order ?? \"desc\",\n },\n c,\n });\n\n return c.json(data);\n },\n});\n"],"mappings":"0UAWA,MAAa,EAAkB,EAAW,CACxC,SAAU,EAAc,SACxB,MAAO,CACL,OAAQ,MACR,YAAa,qCACb,KAAM,QACN,QAAS,CACP,MAAO,EAAmB,OAAO,CAC/B,MAAO,EAAE,KAAK,CAAC,MAAO,MAAM,CAAC,CAAC,CAAC,SAAS,EACxC,QAAS,EAAE,KAAK,CAAC,KAAM,OAAQ,QAAS,WAAW,CAAC,CAAC,CAAC,SAAS,CACjE,CAAC,CACH,EACA,UAAW,CACT,IAAK,CACH,QAAS,CACP,mBAAoB,CAClB,OAAQ,EAAE,OAAO,CACf,MAAO,EAAE,MACP,EAAE,OAAO,CACP,GAAI,EAAE,OAAO,EACb,KAAM,EAAE,OAAO,EACf,MAAO,EAAE,OAAO,EAChB,SAAU,EAAE,OAAO,EACnB,UAAW,EAAE,KAAK,EAClB,WAAY,EAAE,QAAQ,EACtB,YAAa,EAAE,OAAO,EACtB,cAAe,EAAE,QAAQ,EACzB,OAAQ,EAAE,OAAO,EACjB,SAAU,EAAE,KAAK,CAAC,CAAC,SAAS,EAC5B,SAAU,EAAE,OAAO,CACrB,CAAC,CACH,EACA,SAAU,CACZ,CAAC,CACH,CACF,EACA,YAAa,eACf,EACA,IAAK,CACH,YAAa,eACf,CACF,CACF,EACA,QAAS,KAAM,IAAK,CAClB,IAAM,EAAQ,EAAE,IAAI,MAAM,OAAO,EAC3B,EAAO,MAAM,EAAe,CAChC,OAAQ,CACN,OACF,EACA,cAAe,EAAW,GAC1B,MAAO,MAAO,CAAE,QAAO,QAAO,aAC5B,MAAM,EACH,IAAI,IAAI,CAAC,CACT,OAAO,CACN,GAAI,EAAW,GACf,KAAM,EAAW,KACjB,MAAO,EAAW,MAClB,SAAU,EAAW,SACrB,UAAW,EAAW,UACtB,WAAY,EAAW,WACvB,YAAa,EAAW,YACxB,cAAe,EAAW,cAC1B,OAAQ,EAAW,OACnB,SAAU,EAAW,SACrB,SAAU,EAAW,QACvB,CAAC,CAAC,CACD,KAAK,CAAU,CAAC,CAChB,MAAM,CAAK,CAAC,CACZ,QAAQ,CAAO,CAAC,CAChB,MAAM,CAAK,EAChB,MAAO,EACP,QAAS,CACP,OAAQ,EAAM,QACV,EAAW,EAAM,SACjB,EAAW,UACf,MAAO,EAAM,OAAS,MACxB,EACA,GACF,CAAC,EAED,OAAO,EAAE,KAAK,CAAI,CACpB,CACF,CAAC"}