@vitnode/core 1.2.0-canary.73 → 1.2.0-canary.75
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/next.config.ts +4 -0
- package/dist/scripts/plugin.d.ts.map +1 -1
- package/dist/scripts/prepare-database.d.ts.map +1 -1
- package/dist/scripts/scripts.js +10 -39
- package/dist/scripts/shared/file-utils.d.ts +1 -0
- package/dist/scripts/shared/file-utils.d.ts.map +1 -1
- package/dist/scripts/shared/file-utils.test.d.ts +2 -0
- package/dist/scripts/shared/file-utils.test.d.ts.map +1 -0
- package/dist/src/api/config.d.ts.map +1 -1
- package/dist/src/api/config.js +1 -1
- package/dist/src/api/lib/cache-client.d.ts +4 -0
- package/dist/src/api/lib/cache-client.d.ts.map +1 -0
- package/dist/src/api/lib/cache-client.js +1 -0
- package/dist/src/api/lib/cache.d.ts +32 -0
- package/dist/src/api/lib/cache.d.ts.map +1 -0
- package/dist/src/api/lib/cache.js +1 -0
- package/dist/src/api/lib/cache.test.d.ts +2 -0
- package/dist/src/api/lib/cache.test.d.ts.map +1 -0
- package/dist/src/api/lib/cache.test.js +1 -0
- package/dist/src/api/lib/check-staff-permission.d.ts +20 -0
- package/dist/src/api/lib/check-staff-permission.d.ts.map +1 -0
- package/dist/src/api/lib/check-staff-permission.js +1 -0
- package/dist/src/api/lib/module.d.ts +4 -1
- package/dist/src/api/lib/module.d.ts.map +1 -1
- package/dist/src/api/lib/module.js +1 -1
- package/dist/src/api/lib/permission-staff.d.ts +35 -0
- package/dist/src/api/lib/permission-staff.d.ts.map +1 -0
- package/dist/src/api/lib/permission-staff.js +1 -0
- package/dist/src/api/lib/plugin.d.ts +8 -3
- package/dist/src/api/lib/plugin.d.ts.map +1 -1
- package/dist/src/api/lib/plugin.js +1 -1
- package/dist/src/api/lib/queue.d.ts +14 -0
- package/dist/src/api/lib/queue.d.ts.map +1 -0
- package/dist/src/api/lib/queue.js +1 -0
- package/dist/src/api/lib/resolve-role-names.d.ts +7 -0
- package/dist/src/api/lib/resolve-role-names.d.ts.map +1 -0
- package/dist/src/api/lib/resolve-role-names.js +1 -0
- package/dist/src/api/lib/route.d.ts +7 -1
- package/dist/src/api/lib/route.d.ts.map +1 -1
- package/dist/src/api/lib/route.js +1 -1
- package/dist/src/api/lib/staff-permission.d.ts +4 -0
- package/dist/src/api/lib/staff-permission.d.ts.map +1 -0
- package/dist/src/api/lib/staff-permission.js +1 -0
- package/dist/src/api/middlewares/global.middleware.d.ts +18 -5
- package/dist/src/api/middlewares/global.middleware.d.ts.map +1 -1
- package/dist/src/api/middlewares/global.middleware.js +1 -1
- package/dist/src/api/middlewares/rate-limiter.middleware.d.ts +2 -1
- package/dist/src/api/middlewares/rate-limiter.middleware.d.ts.map +1 -1
- package/dist/src/api/middlewares/rate-limiter.middleware.js +1 -1
- package/dist/src/api/models/email.d.ts +11 -1
- package/dist/src/api/models/email.d.ts.map +1 -1
- package/dist/src/api/models/email.js +1 -1
- package/dist/src/api/models/email.test.d.ts +2 -0
- package/dist/src/api/models/email.test.d.ts.map +1 -0
- package/dist/src/api/models/email.test.js +1 -0
- package/dist/src/api/models/queue.d.ts +17 -0
- package/dist/src/api/models/queue.d.ts.map +1 -0
- package/dist/src/api/models/queue.js +1 -0
- package/dist/src/api/models/queue.test.d.ts +2 -0
- package/dist/src/api/models/queue.test.d.ts.map +1 -0
- package/dist/src/api/models/queue.test.js +1 -0
- package/dist/src/api/models/session-admin.d.ts.map +1 -1
- package/dist/src/api/models/session-admin.js +1 -1
- package/dist/src/api/models/session-cache.d.ts +8 -0
- package/dist/src/api/models/session-cache.d.ts.map +1 -0
- package/dist/src/api/models/session-cache.js +1 -0
- package/dist/src/api/models/session.d.ts.map +1 -1
- package/dist/src/api/models/session.js +1 -1
- package/dist/src/api/modules/admin/admin.module.d.ts +694 -8
- package/dist/src/api/modules/admin/admin.module.d.ts.map +1 -1
- package/dist/src/api/modules/admin/admin.module.js +1 -1
- package/dist/src/api/modules/admin/advanced/advanced.admin.module.d.ts +64 -2
- package/dist/src/api/modules/admin/advanced/advanced.admin.module.d.ts.map +1 -1
- package/dist/src/api/modules/admin/advanced/advanced.admin.module.js +1 -1
- package/dist/src/api/modules/admin/advanced/queue/queue.admin.module.d.ts +64 -0
- package/dist/src/api/modules/admin/advanced/queue/queue.admin.module.d.ts.map +1 -0
- package/dist/src/api/modules/admin/advanced/queue/queue.admin.module.js +1 -0
- package/dist/src/api/modules/admin/advanced/queue/routes/get.route.d.ts +65 -0
- package/dist/src/api/modules/admin/advanced/queue/routes/get.route.d.ts.map +1 -0
- package/dist/src/api/modules/admin/advanced/queue/routes/get.route.js +1 -0
- package/dist/src/api/modules/admin/debug/debug.admin.module.d.ts +122 -2
- package/dist/src/api/modules/admin/debug/debug.admin.module.d.ts.map +1 -1
- package/dist/src/api/modules/admin/debug/debug.admin.module.js +1 -1
- package/dist/src/api/modules/admin/debug/routes/integrations.route.d.ts +49 -0
- package/dist/src/api/modules/admin/debug/routes/integrations.route.d.ts.map +1 -0
- package/dist/src/api/modules/admin/debug/routes/integrations.route.js +1 -0
- package/dist/src/api/modules/admin/debug/routes/logs.route.d.ts +2 -2
- package/dist/src/api/modules/admin/debug/routes/logs.route.d.ts.map +1 -1
- package/dist/src/api/modules/admin/debug/routes/logs.route.js +1 -1
- package/dist/src/api/modules/admin/debug/routes/queue.route.d.ts +42 -0
- package/dist/src/api/modules/admin/debug/routes/queue.route.d.ts.map +1 -0
- package/dist/src/api/modules/admin/debug/routes/queue.route.js +1 -0
- package/dist/src/api/modules/admin/debug/routes/send-test-email.route.d.ts +43 -0
- package/dist/src/api/modules/admin/debug/routes/send-test-email.route.d.ts.map +1 -0
- package/dist/src/api/modules/admin/debug/routes/send-test-email.route.js +1 -0
- package/dist/src/api/modules/admin/routes/session.route.d.ts +8 -0
- package/dist/src/api/modules/admin/routes/session.route.d.ts.map +1 -1
- package/dist/src/api/modules/admin/routes/session.route.js +1 -1
- package/dist/src/api/modules/admin/staff/lib/resolve-staff-edges.d.ts +38 -0
- package/dist/src/api/modules/admin/staff/lib/resolve-staff-edges.d.ts.map +1 -0
- package/dist/src/api/modules/admin/staff/lib/resolve-staff-edges.js +1 -0
- package/dist/src/api/modules/admin/staff/lib/schema.d.ts +107 -0
- package/dist/src/api/modules/admin/staff/lib/schema.d.ts.map +1 -0
- package/dist/src/api/modules/admin/staff/lib/schema.js +1 -0
- package/dist/src/api/modules/admin/staff/routes/admins.route.d.ts +76 -0
- package/dist/src/api/modules/admin/staff/routes/admins.route.d.ts.map +1 -0
- package/dist/src/api/modules/admin/staff/routes/admins.route.js +1 -0
- package/dist/src/api/modules/admin/staff/routes/create.route.d.ts +52 -0
- package/dist/src/api/modules/admin/staff/routes/create.route.d.ts.map +1 -0
- package/dist/src/api/modules/admin/staff/routes/create.route.js +1 -0
- package/dist/src/api/modules/admin/staff/routes/delete.route.d.ts +36 -0
- package/dist/src/api/modules/admin/staff/routes/delete.route.d.ts.map +1 -0
- package/dist/src/api/modules/admin/staff/routes/delete.route.js +1 -0
- package/dist/src/api/modules/admin/staff/routes/moderators.route.d.ts +76 -0
- package/dist/src/api/modules/admin/staff/routes/moderators.route.d.ts.map +1 -0
- package/dist/src/api/modules/admin/staff/routes/moderators.route.js +1 -0
- package/dist/src/api/modules/admin/staff/routes/permission-catalog.route.d.ts +32 -0
- package/dist/src/api/modules/admin/staff/routes/permission-catalog.route.d.ts.map +1 -0
- package/dist/src/api/modules/admin/staff/routes/permission-catalog.route.js +1 -0
- package/dist/src/api/modules/admin/staff/routes/show-permissions.route.d.ts +75 -0
- package/dist/src/api/modules/admin/staff/routes/show-permissions.route.d.ts.map +1 -0
- package/dist/src/api/modules/admin/staff/routes/show-permissions.route.js +1 -0
- package/dist/src/api/modules/admin/staff/routes/update-permissions.route.d.ts +62 -0
- package/dist/src/api/modules/admin/staff/routes/update-permissions.route.d.ts.map +1 -0
- package/dist/src/api/modules/admin/staff/routes/update-permissions.route.js +1 -0
- package/dist/src/api/modules/admin/staff/staff.admin.module.d.ts +392 -0
- package/dist/src/api/modules/admin/staff/staff.admin.module.d.ts.map +1 -0
- package/dist/src/api/modules/admin/staff/staff.admin.module.js +1 -0
- package/dist/src/api/modules/admin/users/lib/assert-edit-user-permission.d.ts +4 -0
- package/dist/src/api/modules/admin/users/lib/assert-edit-user-permission.d.ts.map +1 -0
- package/dist/src/api/modules/admin/users/lib/assert-edit-user-permission.js +1 -0
- package/dist/src/api/modules/admin/users/routes/create.route.d.ts.map +1 -1
- package/dist/src/api/modules/admin/users/routes/create.route.js +1 -1
- package/dist/src/api/modules/admin/users/routes/list.route.d.ts +16 -0
- package/dist/src/api/modules/admin/users/routes/list.route.d.ts.map +1 -1
- package/dist/src/api/modules/admin/users/routes/list.route.js +1 -1
- package/dist/src/api/modules/admin/users/routes/show.route.d.ts +19 -2
- package/dist/src/api/modules/admin/users/routes/show.route.d.ts.map +1 -1
- package/dist/src/api/modules/admin/users/routes/show.route.js +1 -1
- package/dist/src/api/modules/admin/users/routes/update.route.d.ts +83 -0
- package/dist/src/api/modules/admin/users/routes/update.route.d.ts.map +1 -0
- package/dist/src/api/modules/admin/users/routes/update.route.js +1 -0
- package/dist/src/api/modules/admin/users/routes/verify-email.route.d.ts +2 -2
- package/dist/src/api/modules/admin/users/routes/verify-email.route.d.ts.map +1 -1
- package/dist/src/api/modules/admin/users/routes/verify-email.route.js +1 -1
- package/dist/src/api/modules/admin/users/users.admin.module.d.ts +110 -4
- package/dist/src/api/modules/admin/users/users.admin.module.d.ts.map +1 -1
- package/dist/src/api/modules/admin/users/users.admin.module.js +1 -1
- package/dist/src/api/modules/queue/cron/process-queue.cron.d.ts +2 -0
- package/dist/src/api/modules/queue/cron/process-queue.cron.d.ts.map +1 -0
- package/dist/src/api/modules/queue/cron/process-queue.cron.js +1 -0
- package/dist/src/api/modules/queue/helpers/process-queue-tasks.d.ts +4 -0
- package/dist/src/api/modules/queue/helpers/process-queue-tasks.d.ts.map +1 -0
- package/dist/src/api/modules/queue/helpers/process-queue-tasks.js +1 -0
- package/dist/src/api/modules/queue/queue.module.d.ts +2 -0
- package/dist/src/api/modules/queue/queue.module.d.ts.map +1 -0
- package/dist/src/api/modules/queue/queue.module.js +1 -0
- package/dist/src/api/modules/queue/tasks/send-email.task.d.ts +10 -0
- package/dist/src/api/modules/queue/tasks/send-email.task.d.ts.map +1 -0
- package/dist/src/api/modules/queue/tasks/send-email.task.js +1 -0
- package/dist/src/api/modules/users/routes/permissions.route.d.ts +26 -0
- package/dist/src/api/modules/users/routes/permissions.route.d.ts.map +1 -0
- package/dist/src/api/modules/users/routes/permissions.route.js +1 -0
- package/dist/src/api/modules/users/routes/reset-passowrd.route.js +1 -1
- package/dist/src/api/modules/users/routes/session.route.d.ts +1 -0
- package/dist/src/api/modules/users/routes/session.route.d.ts.map +1 -1
- package/dist/src/api/modules/users/routes/session.route.js +1 -1
- package/dist/src/api/modules/users/users.module.d.ts +24 -0
- package/dist/src/api/modules/users/users.module.d.ts.map +1 -1
- package/dist/src/api/modules/users/users.module.js +1 -1
- package/dist/src/api/plugin.d.ts.map +1 -1
- package/dist/src/api/plugin.js +1 -1
- package/dist/src/components/confirm-action/confirm-action-alert-dialog.d.ts +1 -1
- package/dist/src/components/confirm-action/confirm-action-alert-dialog.d.ts.map +1 -1
- package/dist/src/components/confirm-action/confirm-action-alert-dialog.js +1 -1
- package/dist/src/components/form/auto-form.js +1 -1
- package/dist/src/components/form/fields/array.d.ts.map +1 -1
- package/dist/src/components/form/fields/checkbox.js +1 -1
- package/dist/src/components/form/fields/select.d.ts.map +1 -1
- package/dist/src/components/form/fields/select.js +1 -1
- package/dist/src/components/form/fields/switch.js +1 -1
- package/dist/src/components/staff-permission/provider.d.ts +13 -0
- package/dist/src/components/staff-permission/provider.d.ts.map +1 -0
- package/dist/src/components/staff-permission/provider.js +1 -0
- package/dist/src/components/switchers/langs/language-switcher.d.ts.map +1 -1
- package/dist/src/components/switchers/langs/language-switcher.js +1 -1
- package/dist/src/components/switchers/themes/theme-switcher.js +1 -1
- package/dist/src/components/table/filters.d.ts.map +1 -1
- package/dist/src/components/table/filters.js +1 -1
- package/dist/src/components/table/pagination.d.ts.map +1 -1
- package/dist/src/components/table/pagination.js +1 -1
- package/dist/src/components/theme-provider.d.ts +26 -0
- package/dist/src/components/theme-provider.d.ts.map +1 -0
- package/dist/src/components/theme-provider.js +1 -0
- package/dist/src/components/tiptap/toolbar/actions/alignment-action.d.ts.map +1 -1
- package/dist/src/components/tiptap/toolbar/actions/alignment-action.js +1 -1
- package/dist/src/components/tiptap/toolbar/actions/headings-action.d.ts.map +1 -1
- package/dist/src/components/tiptap/toolbar/actions/headings-action.js +1 -1
- package/dist/src/components/tiptap/toolbar/actions/text-format-more/text-format-more.d.ts.map +1 -1
- package/dist/src/components/tiptap/toolbar/actions/text-format-more/text-format-more.js +1 -1
- package/dist/src/components/ui/accordion.d.ts +3 -3
- package/dist/src/components/ui/accordion.d.ts.map +1 -1
- package/dist/src/components/ui/accordion.js +1 -1
- package/dist/src/components/ui/alert-dialog.d.ts +10 -10
- package/dist/src/components/ui/alert-dialog.d.ts.map +1 -1
- package/dist/src/components/ui/alert-dialog.js +1 -1
- package/dist/src/components/ui/alert.d.ts +2 -2
- package/dist/src/components/ui/alert.d.ts.map +1 -1
- package/dist/src/components/ui/alert.js +1 -1
- package/dist/src/components/ui/aspect-ratio.d.ts +4 -2
- package/dist/src/components/ui/aspect-ratio.d.ts.map +1 -1
- package/dist/src/components/ui/aspect-ratio.js +1 -1
- package/dist/src/components/ui/avatar.d.ts +2 -2
- package/dist/src/components/ui/avatar.d.ts.map +1 -1
- package/dist/src/components/ui/avatar.js +1 -1
- package/dist/src/components/ui/badge.d.ts +3 -5
- package/dist/src/components/ui/badge.d.ts.map +1 -1
- package/dist/src/components/ui/badge.js +1 -1
- package/dist/src/components/ui/breadcrumb.d.ts +3 -4
- package/dist/src/components/ui/breadcrumb.d.ts.map +1 -1
- package/dist/src/components/ui/breadcrumb.js +1 -1
- package/dist/src/components/ui/button-client.d.ts +1 -1
- package/dist/src/components/ui/button-client.d.ts.map +1 -1
- package/dist/src/components/ui/button-client.js +1 -1
- package/dist/src/components/ui/button-group.d.ts +2 -3
- package/dist/src/components/ui/button-group.d.ts.map +1 -1
- package/dist/src/components/ui/button-group.js +1 -1
- package/dist/src/components/ui/button.d.ts +5 -5
- package/dist/src/components/ui/button.d.ts.map +1 -1
- package/dist/src/components/ui/button.js +1 -1
- package/dist/src/components/ui/card.d.ts +1 -1
- package/dist/src/components/ui/card.d.ts.map +1 -1
- package/dist/src/components/ui/card.js +1 -1
- package/dist/src/components/ui/carousel.d.ts +1 -1
- package/dist/src/components/ui/carousel.d.ts.map +1 -1
- package/dist/src/components/ui/carousel.js +1 -1
- package/dist/src/components/ui/chart.d.ts +1 -1
- package/dist/src/components/ui/chart.d.ts.map +1 -1
- package/dist/src/components/ui/chart.js +1 -1
- package/dist/src/components/ui/checkbox.d.ts +2 -2
- package/dist/src/components/ui/checkbox.d.ts.map +1 -1
- package/dist/src/components/ui/checkbox.js +1 -1
- package/dist/src/components/ui/collapsible.d.ts +5 -4
- package/dist/src/components/ui/collapsible.d.ts.map +1 -1
- package/dist/src/components/ui/collapsible.js +1 -1
- package/dist/src/components/ui/combobox.d.ts +1 -1
- package/dist/src/components/ui/combobox.d.ts.map +1 -1
- package/dist/src/components/ui/combobox.js +1 -1
- package/dist/src/components/ui/command.d.ts +1 -1
- package/dist/src/components/ui/command.d.ts.map +1 -1
- package/dist/src/components/ui/command.js +1 -1
- package/dist/src/components/ui/context-menu.d.ts +7 -9
- package/dist/src/components/ui/context-menu.d.ts.map +1 -1
- package/dist/src/components/ui/context-menu.js +1 -1
- package/dist/src/components/ui/dialog.d.ts +12 -9
- package/dist/src/components/ui/dialog.d.ts.map +1 -1
- package/dist/src/components/ui/dialog.js +1 -1
- package/dist/src/components/ui/direction.d.ts +5 -5
- package/dist/src/components/ui/direction.d.ts.map +1 -1
- package/dist/src/components/ui/direction.js +1 -1
- package/dist/src/components/ui/drawer.d.ts +1 -1
- package/dist/src/components/ui/drawer.d.ts.map +1 -1
- package/dist/src/components/ui/drawer.js +1 -1
- package/dist/src/components/ui/dropdown-menu.d.ts +16 -16
- package/dist/src/components/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/src/components/ui/dropdown-menu.js +1 -1
- package/dist/src/components/ui/empty.d.ts.map +1 -1
- package/dist/src/components/ui/empty.js +1 -1
- package/dist/src/components/ui/field.js +1 -1
- package/dist/src/components/ui/form.d.ts +1 -2
- package/dist/src/components/ui/form.d.ts.map +1 -1
- package/dist/src/components/ui/form.js +1 -1
- package/dist/src/components/ui/hover-card.d.ts +5 -5
- package/dist/src/components/ui/hover-card.d.ts.map +1 -1
- package/dist/src/components/ui/hover-card.js +1 -1
- package/dist/src/components/ui/input-group.d.ts +4 -2
- package/dist/src/components/ui/input-group.d.ts.map +1 -1
- package/dist/src/components/ui/input-group.js +1 -1
- package/dist/src/components/ui/input-otp.d.ts +1 -1
- package/dist/src/components/ui/input-otp.d.ts.map +1 -1
- package/dist/src/components/ui/input-otp.js +1 -1
- package/dist/src/components/ui/input.d.ts +1 -1
- package/dist/src/components/ui/input.d.ts.map +1 -1
- package/dist/src/components/ui/input.js +1 -1
- package/dist/src/components/ui/item.d.ts +4 -5
- package/dist/src/components/ui/item.d.ts.map +1 -1
- package/dist/src/components/ui/item.js +1 -1
- package/dist/src/components/ui/label.d.ts +2 -3
- package/dist/src/components/ui/label.d.ts.map +1 -1
- package/dist/src/components/ui/label.js +1 -1
- package/dist/src/components/ui/menubar.d.ts +18 -17
- package/dist/src/components/ui/menubar.d.ts.map +1 -1
- package/dist/src/components/ui/menubar.js +1 -1
- package/dist/src/components/ui/native-select.d.ts +1 -1
- package/dist/src/components/ui/native-select.d.ts.map +1 -1
- package/dist/src/components/ui/native-select.js +1 -1
- package/dist/src/components/ui/navigation-menu.d.ts +9 -11
- package/dist/src/components/ui/navigation-menu.d.ts.map +1 -1
- package/dist/src/components/ui/navigation-menu.js +1 -1
- package/dist/src/components/ui/pagination.d.ts +1 -1
- package/dist/src/components/ui/pagination.d.ts.map +1 -1
- package/dist/src/components/ui/pagination.js +1 -1
- package/dist/src/components/ui/popover.d.ts +6 -7
- package/dist/src/components/ui/popover.d.ts.map +1 -1
- package/dist/src/components/ui/popover.js +1 -1
- package/dist/src/components/ui/progress.d.ts +2 -2
- package/dist/src/components/ui/progress.d.ts.map +1 -1
- package/dist/src/components/ui/progress.js +1 -1
- package/dist/src/components/ui/radio-group.d.ts +5 -4
- package/dist/src/components/ui/radio-group.d.ts.map +1 -1
- package/dist/src/components/ui/radio-group.js +1 -1
- package/dist/src/components/ui/scroll-area.d.ts +3 -3
- package/dist/src/components/ui/scroll-area.d.ts.map +1 -1
- package/dist/src/components/ui/scroll-area.js +1 -1
- package/dist/src/components/ui/select.d.ts +6 -6
- package/dist/src/components/ui/select.d.ts.map +1 -1
- package/dist/src/components/ui/select.js +1 -1
- package/dist/src/components/ui/separator.d.ts +3 -3
- package/dist/src/components/ui/separator.d.ts.map +1 -1
- package/dist/src/components/ui/separator.js +1 -1
- package/dist/src/components/ui/sheet.d.ts +8 -8
- package/dist/src/components/ui/sheet.d.ts.map +1 -1
- package/dist/src/components/ui/sheet.js +1 -1
- package/dist/src/components/ui/sidebar.d.ts +9 -15
- package/dist/src/components/ui/sidebar.d.ts.map +1 -1
- package/dist/src/components/ui/sidebar.js +1 -1
- package/dist/src/components/ui/slider.d.ts +2 -2
- package/dist/src/components/ui/slider.d.ts.map +1 -1
- package/dist/src/components/ui/slider.js +1 -1
- package/dist/src/components/ui/sonner.d.ts.map +1 -1
- package/dist/src/components/ui/sonner.js +1 -1
- package/dist/src/components/ui/spinner.d.ts.map +1 -1
- package/dist/src/components/ui/spinner.js +1 -1
- package/dist/src/components/ui/switch.d.ts +2 -2
- package/dist/src/components/ui/switch.d.ts.map +1 -1
- package/dist/src/components/ui/switch.js +1 -1
- package/dist/src/components/ui/table.d.ts +1 -1
- package/dist/src/components/ui/table.d.ts.map +1 -1
- package/dist/src/components/ui/table.js +1 -1
- package/dist/src/components/ui/tabs.d.ts +4 -4
- package/dist/src/components/ui/tabs.d.ts.map +1 -1
- package/dist/src/components/ui/tabs.js +1 -1
- package/dist/src/components/ui/textarea.d.ts +1 -1
- package/dist/src/components/ui/textarea.d.ts.map +1 -1
- package/dist/src/components/ui/textarea.js +1 -1
- package/dist/src/components/ui/toggle-group.d.ts +1 -1
- package/dist/src/components/ui/toggle-group.d.ts.map +1 -1
- package/dist/src/components/ui/toggle-group.js +1 -1
- package/dist/src/components/ui/tooltip.d.ts +1 -1
- package/dist/src/components/ui/tooltip.d.ts.map +1 -1
- package/dist/src/components/ui/tooltip.js +1 -1
- package/dist/src/config.js +1 -1
- package/dist/src/database/admins.d.ts +20 -0
- package/dist/src/database/admins.d.ts.map +1 -1
- package/dist/src/database/admins.js +1 -1
- package/dist/src/database/languages.d.ts.map +1 -1
- package/dist/src/database/languages.js +1 -1
- package/dist/src/database/logs.d.ts +1 -1
- package/dist/src/database/moderators.d.ts +20 -0
- package/dist/src/database/moderators.d.ts.map +1 -1
- package/dist/src/database/moderators.js +1 -1
- package/dist/src/database/queue.d.ts +273 -0
- package/dist/src/database/queue.d.ts.map +1 -0
- package/dist/src/database/queue.js +1 -0
- package/dist/src/database/users.d.ts +63 -0
- package/dist/src/database/users.d.ts.map +1 -1
- package/dist/src/database/users.js +1 -1
- package/dist/src/emails/default-template.d.ts +1 -1
- package/dist/src/emails/default-template.d.ts.map +1 -1
- package/dist/src/emails/default-template.js +1 -1
- package/dist/src/emails/reset-password.js +1 -1
- package/dist/src/emails/test-email.d.ts +26 -0
- package/dist/src/emails/test-email.d.ts.map +1 -0
- package/dist/src/emails/test-email.js +1 -0
- package/dist/src/emails/ui/button.d.ts +2 -2
- package/dist/src/emails/ui/button.d.ts.map +1 -1
- package/dist/src/emails/ui/button.js +1 -1
- package/dist/src/emails/ui/card.d.ts +1 -1
- package/dist/src/emails/ui/card.d.ts.map +1 -1
- package/dist/src/emails/ui/card.js +1 -1
- package/dist/src/hooks/use-captcha.d.ts.map +1 -1
- package/dist/src/hooks/use-captcha.js +1 -1
- package/dist/src/hooks/use-mobile.js +1 -1
- package/dist/src/lib/api/get-moderator-permissions-api.d.ts +4 -0
- package/dist/src/lib/api/get-moderator-permissions-api.d.ts.map +1 -0
- package/dist/src/lib/api/get-moderator-permissions-api.js +1 -0
- package/dist/src/lib/api/get-next-cron-run-date.js +1 -1
- package/dist/src/lib/api/get-queue-backoff-date.d.ts +2 -0
- package/dist/src/lib/api/get-queue-backoff-date.d.ts.map +1 -0
- package/dist/src/lib/api/get-queue-backoff-date.js +1 -0
- package/dist/src/lib/api/get-queue-backoff-date.test.d.ts +2 -0
- package/dist/src/lib/api/get-queue-backoff-date.test.d.ts.map +1 -0
- package/dist/src/lib/api/get-queue-backoff-date.test.js +1 -0
- package/dist/src/lib/api/get-session-admin-api.d.ts +12 -0
- package/dist/src/lib/api/get-session-admin-api.d.ts.map +1 -1
- package/dist/src/lib/api/get-session-admin-api.js +1 -1
- package/dist/src/lib/api/get-session-api.d.ts +1 -0
- package/dist/src/lib/api/get-session-api.d.ts.map +1 -1
- package/dist/src/lib/api/resolve-queue-task-outcome.d.ts +14 -0
- package/dist/src/lib/api/resolve-queue-task-outcome.d.ts.map +1 -0
- package/dist/src/lib/api/resolve-queue-task-outcome.js +1 -0
- package/dist/src/lib/api/resolve-queue-task-outcome.test.d.ts +2 -0
- package/dist/src/lib/api/resolve-queue-task-outcome.test.d.ts.map +1 -0
- package/dist/src/lib/api/resolve-queue-task-outcome.test.js +1 -0
- package/dist/src/lib/api/should-cron-job-run.js +1 -1
- package/dist/src/lib/config.d.ts +1 -0
- package/dist/src/lib/config.d.ts.map +1 -1
- package/dist/src/lib/config.js +1 -1
- package/dist/src/lib/fetcher/types.d.ts.map +1 -1
- package/dist/src/lib/navigation.d.ts +5 -5
- package/dist/src/lib/plugin.d.ts +3 -0
- package/dist/src/lib/plugin.d.ts.map +1 -1
- package/dist/src/lib/utils.d.ts +1 -0
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +1 -1
- package/dist/src/routes/admin/core/advanced/queue/page.d.ts +13 -0
- package/dist/src/routes/admin/core/advanced/queue/page.d.ts.map +1 -0
- package/dist/src/routes/admin/core/advanced/queue/page.js +1 -0
- package/dist/src/routes/admin/core/debug/page.d.ts.map +1 -1
- package/dist/src/routes/admin/core/debug/page.js +1 -1
- package/dist/src/routes/admin/core/staff/admins/create/page.d.ts +3 -0
- package/dist/src/routes/admin/core/staff/admins/create/page.d.ts.map +1 -0
- package/dist/src/routes/admin/core/staff/admins/create/page.js +1 -0
- package/dist/src/routes/admin/core/staff/admins/edit/[id]/page.d.ts +7 -0
- package/dist/src/routes/admin/core/staff/admins/edit/[id]/page.d.ts.map +1 -0
- package/dist/src/routes/admin/core/staff/admins/edit/[id]/page.js +1 -0
- package/dist/src/routes/admin/core/staff/admins/page.d.ts +4 -0
- package/dist/src/routes/admin/core/staff/admins/page.d.ts.map +1 -0
- package/dist/src/routes/admin/core/staff/admins/page.js +1 -0
- package/dist/src/routes/admin/core/staff/moderators/create/page.d.ts +3 -0
- package/dist/src/routes/admin/core/staff/moderators/create/page.d.ts.map +1 -0
- package/dist/src/routes/admin/core/staff/moderators/create/page.js +1 -0
- package/dist/src/routes/admin/core/staff/moderators/edit/[id]/page.d.ts +7 -0
- package/dist/src/routes/admin/core/staff/moderators/edit/[id]/page.d.ts.map +1 -0
- package/dist/src/routes/admin/core/staff/moderators/edit/[id]/page.js +1 -0
- package/dist/src/routes/admin/core/staff/moderators/page.d.ts +4 -0
- package/dist/src/routes/admin/core/staff/moderators/page.d.ts.map +1 -0
- package/dist/src/routes/admin/core/staff/moderators/page.js +1 -0
- package/dist/src/routes/admin/core/system/integrations/page.d.ts +7 -0
- package/dist/src/routes/admin/core/system/integrations/page.d.ts.map +1 -0
- package/dist/src/routes/admin/core/system/integrations/page.js +1 -0
- package/dist/src/routes/admin/core/users/{[nameCode] → [id]}/page.d.ts +2 -2
- package/dist/src/routes/admin/core/users/[id]/page.d.ts.map +1 -0
- package/dist/src/routes/admin/core/users/[id]/page.js +1 -0
- package/dist/src/routes/admin/core/users/page.d.ts.map +1 -1
- package/dist/src/routes/admin/core/users/page.js +1 -1
- package/dist/src/routes/breadcrumb/admin/[...all]/page.d.ts +1 -5
- package/dist/src/routes/breadcrumb/admin/[...all]/page.d.ts.map +1 -1
- package/dist/src/routes/breadcrumb/admin/[...all]/page.js +1 -1
- package/dist/src/routes/breadcrumb/admin/core/staff/admins/create/page.d.ts +2 -0
- package/dist/src/routes/breadcrumb/admin/core/staff/admins/create/page.d.ts.map +1 -0
- package/dist/src/routes/breadcrumb/admin/core/staff/admins/create/page.js +1 -0
- package/dist/src/routes/breadcrumb/admin/core/{users/[nameCode] → staff/admins/edit/[id]}/page.d.ts +1 -1
- package/dist/src/routes/breadcrumb/admin/core/staff/admins/edit/[id]/page.d.ts.map +1 -0
- package/dist/src/routes/breadcrumb/admin/core/staff/admins/edit/[id]/page.js +1 -0
- package/dist/src/routes/breadcrumb/admin/core/staff/admins/page.d.ts +2 -0
- package/dist/src/routes/breadcrumb/admin/core/staff/admins/page.d.ts.map +1 -0
- package/dist/src/routes/breadcrumb/admin/core/staff/admins/page.js +1 -0
- package/dist/src/routes/breadcrumb/admin/core/staff/moderators/create/page.d.ts +2 -0
- package/dist/src/routes/breadcrumb/admin/core/staff/moderators/create/page.d.ts.map +1 -0
- package/dist/src/routes/breadcrumb/admin/core/staff/moderators/create/page.js +1 -0
- package/dist/src/routes/breadcrumb/admin/core/staff/moderators/edit/[id]/page.d.ts +6 -0
- package/dist/src/routes/breadcrumb/admin/core/staff/moderators/edit/[id]/page.d.ts.map +1 -0
- package/dist/src/routes/breadcrumb/admin/core/staff/moderators/edit/[id]/page.js +1 -0
- package/dist/src/routes/breadcrumb/admin/core/staff/moderators/page.d.ts +2 -0
- package/dist/src/routes/breadcrumb/admin/core/staff/moderators/page.d.ts.map +1 -0
- package/dist/src/routes/breadcrumb/admin/core/staff/moderators/page.js +1 -0
- package/dist/src/routes/breadcrumb/admin/core/users/[id]/page.d.ts +6 -0
- package/dist/src/routes/breadcrumb/admin/core/users/[id]/page.d.ts.map +1 -0
- package/dist/src/routes/breadcrumb/admin/core/users/{[nameCode] → [id]}/page.js +1 -1
- package/dist/src/routes/breadcrumb/main/[...rest]/page.d.ts +1 -5
- package/dist/src/routes/breadcrumb/main/[...rest]/page.d.ts.map +1 -1
- package/dist/src/routes/breadcrumb/main/[...rest]/page.js +1 -1
- package/dist/src/routes/breadcrumb/main/settings/overview/page.d.ts.map +1 -0
- package/dist/src/routes/breadcrumb/main/settings/overview/page.js +1 -0
- package/dist/src/routes/breadcrumb/main/settings/page.d.ts.map +1 -0
- package/dist/src/routes/breadcrumb/main/{register → settings}/page.js +1 -1
- package/dist/src/routes/breadcrumb/main/settings/security/page.d.ts.map +1 -0
- package/dist/src/routes/breadcrumb/main/settings/security/page.js +1 -0
- package/dist/src/routes/main/settings/layout.d.ts +5 -0
- package/dist/src/routes/main/settings/layout.d.ts.map +1 -0
- package/dist/src/routes/main/settings/layout.js +1 -0
- package/dist/src/routes/main/settings/overview/page.d.ts +5 -0
- package/dist/src/routes/main/settings/overview/page.d.ts.map +1 -0
- package/dist/src/routes/main/settings/overview/page.js +1 -0
- package/dist/src/routes/main/settings/page.d.ts +5 -0
- package/dist/src/routes/main/settings/page.d.ts.map +1 -0
- package/dist/src/routes/main/settings/page.js +1 -0
- package/dist/src/routes/main/settings/security/page.d.ts +5 -0
- package/dist/src/routes/main/settings/security/page.d.ts.map +1 -0
- package/dist/src/routes/main/settings/security/page.js +1 -0
- package/dist/src/views/admin/layouts/admin-layout.d.ts.map +1 -1
- package/dist/src/views/admin/layouts/admin-layout.js +1 -1
- package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-admin.d.ts +6 -0
- package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-admin.d.ts.map +1 -0
- package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-admin.js +1 -0
- package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-create-admin.d.ts +5 -0
- package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-create-admin.d.ts.map +1 -0
- package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-create-admin.js +1 -0
- package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-edit-admin.d.ts +6 -0
- package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-edit-admin.d.ts.map +1 -0
- package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-staff-edit-admin.js +1 -0
- package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-user-admin.d.ts +2 -2
- package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-user-admin.d.ts.map +1 -1
- package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-user-admin.js +1 -1
- package/dist/src/views/admin/layouts/breadcrumb/resolve-breadcrumb.d.ts.map +1 -1
- package/dist/src/views/admin/layouts/breadcrumb/resolve-breadcrumb.js +1 -1
- package/dist/src/views/admin/layouts/sidebar/nav/get-admin-nav.d.ts.map +1 -1
- package/dist/src/views/admin/layouts/sidebar/nav/get-admin-nav.js +1 -1
- package/dist/src/views/admin/layouts/sidebar/nav/item.d.ts.map +1 -1
- package/dist/src/views/admin/layouts/sidebar/nav/item.js +1 -1
- package/dist/src/views/admin/layouts/user-bar/client.d.ts.map +1 -1
- package/dist/src/views/admin/layouts/user-bar/client.js +1 -1
- package/dist/src/views/admin/layouts/user-bar/user-bar.js +1 -1
- package/dist/src/views/admin/views/core/advanced/queue/badges/status-badge.d.ts +5 -0
- package/dist/src/views/admin/views/core/advanced/queue/badges/status-badge.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/advanced/queue/badges/status-badge.js +1 -0
- package/dist/src/views/admin/views/core/advanced/queue/queue-table-view.d.ts +7 -0
- package/dist/src/views/admin/views/core/advanced/queue/queue-table-view.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/advanced/queue/queue-table-view.js +1 -0
- package/dist/src/views/admin/views/core/debug/actions/clear-cache/mutation-api.d.ts.map +1 -1
- package/dist/src/views/admin/views/core/debug/actions/clear-cache/mutation-api.js +1 -1
- package/dist/src/views/admin/views/core/debug/queue/queue-view.d.ts +2 -0
- package/dist/src/views/admin/views/core/debug/queue/queue-view.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/debug/queue/queue-view.js +1 -0
- package/dist/src/views/admin/views/core/debug/system-logs/actions/more/more.d.ts +1 -1
- package/dist/src/views/admin/views/core/debug/system-logs/actions/more/more.d.ts.map +1 -1
- package/dist/src/views/admin/views/core/debug/system-logs/actions/more/more.js +1 -1
- package/dist/src/views/admin/views/core/debug/system-logs/system-logs-view.d.ts +1 -1
- package/dist/src/views/admin/views/core/staff/create/create-staff-permissions-view.d.ts +5 -0
- package/dist/src/views/admin/views/core/staff/create/create-staff-permissions-view.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/staff/create/create-staff-permissions-view.js +1 -0
- package/dist/src/views/admin/views/core/staff/create/form.d.ts +6 -0
- package/dist/src/views/admin/views/core/staff/create/form.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/staff/create/form.js +1 -0
- package/dist/src/views/admin/views/core/staff/create/mutation-api.d.ts +14 -0
- package/dist/src/views/admin/views/core/staff/create/mutation-api.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/staff/create/mutation-api.js +1 -0
- package/dist/src/views/admin/views/core/staff/create/search.action.d.ts +8 -0
- package/dist/src/views/admin/views/core/staff/create/search.action.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/staff/create/search.action.js +1 -0
- package/dist/src/views/admin/views/core/staff/edit/edit-staff-permissions-view.d.ts +8 -0
- package/dist/src/views/admin/views/core/staff/edit/edit-staff-permissions-view.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/staff/edit/edit-staff-permissions-view.js +1 -0
- package/dist/src/views/admin/views/core/staff/edit/form.d.ts +29 -0
- package/dist/src/views/admin/views/core/staff/edit/form.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/staff/edit/form.js +1 -0
- package/dist/src/views/admin/views/core/staff/edit/mutation-api.d.ts +13 -0
- package/dist/src/views/admin/views/core/staff/edit/mutation-api.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/staff/edit/mutation-api.js +1 -0
- package/dist/src/views/admin/views/core/staff/selectable-card.d.ts +11 -0
- package/dist/src/views/admin/views/core/staff/selectable-card.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/staff/selectable-card.js +1 -0
- package/dist/src/views/admin/views/core/staff/table/actions/delete-action.d.ts +11 -0
- package/dist/src/views/admin/views/core/staff/table/actions/delete-action.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/staff/table/actions/delete-action.js +1 -0
- package/dist/src/views/admin/views/core/staff/table/actions/staff-row-actions.d.ts +10 -0
- package/dist/src/views/admin/views/core/staff/table/actions/staff-row-actions.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/staff/table/actions/staff-row-actions.js +1 -0
- package/dist/src/views/admin/views/core/staff/table/staff-table.d.ts +7 -0
- package/dist/src/views/admin/views/core/staff/table/staff-table.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/staff/table/staff-table.js +1 -0
- package/dist/src/views/admin/views/core/staff/table/staff-user-format.d.ts +18 -0
- package/dist/src/views/admin/views/core/staff/table/staff-user-format.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/staff/table/staff-user-format.js +1 -0
- package/dist/src/views/admin/views/core/staff/views/admins/admins-staff-view.d.ts +4 -0
- package/dist/src/views/admin/views/core/staff/views/admins/admins-staff-view.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/staff/views/admins/admins-staff-view.js +1 -0
- package/dist/src/views/admin/views/core/staff/views/moderators/moderators-staff-view.d.ts +4 -0
- package/dist/src/views/admin/views/core/staff/views/moderators/moderators-staff-view.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/staff/views/moderators/moderators-staff-view.js +1 -0
- package/dist/src/views/admin/views/core/system/integrations/integration-card.d.ts +15 -0
- package/dist/src/views/admin/views/core/system/integrations/integration-card.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/system/integrations/integration-card.js +1 -0
- package/dist/src/views/admin/views/core/system/integrations/integrations-view.d.ts +3 -0
- package/dist/src/views/admin/views/core/system/integrations/integrations-view.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/system/integrations/integrations-view.js +1 -0
- package/dist/src/views/admin/views/core/system/integrations/send-test-email/content.d.ts +2 -0
- package/dist/src/views/admin/views/core/system/integrations/send-test-email/content.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/system/integrations/send-test-email/content.js +1 -0
- package/dist/src/views/admin/views/core/system/integrations/send-test-email/mutation-api.d.ts +12 -0
- package/dist/src/views/admin/views/core/system/integrations/send-test-email/mutation-api.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/system/integrations/send-test-email/mutation-api.js +1 -0
- package/dist/src/views/admin/views/core/system/integrations/send-test-email/send-test-email.d.ts +3 -0
- package/dist/src/views/admin/views/core/system/integrations/send-test-email/send-test-email.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/system/integrations/send-test-email/send-test-email.js +1 -0
- package/dist/src/views/admin/views/core/system/integrations/send-test-email/use-form.d.ts +15 -0
- package/dist/src/views/admin/views/core/system/integrations/send-test-email/use-form.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/system/integrations/send-test-email/use-form.js +1 -0
- package/dist/src/views/admin/views/core/users/actions/create/create.d.ts.map +1 -1
- package/dist/src/views/admin/views/core/users/actions/create/create.js +1 -1
- package/dist/src/views/admin/views/core/users/actions/verify-email/mutation-api.d.ts +1 -1
- package/dist/src/views/admin/views/core/users/actions/verify-email/mutation-api.d.ts.map +1 -1
- package/dist/src/views/admin/views/core/users/actions/verify-email/mutation-api.js +1 -1
- package/dist/src/views/admin/views/core/users/actions/verify-email/verify-email.d.ts +2 -2
- package/dist/src/views/admin/views/core/users/actions/verify-email/verify-email.d.ts.map +1 -1
- package/dist/src/views/admin/views/core/users/actions/verify-email/verify-email.js +1 -1
- package/dist/src/views/admin/views/core/users/actions.d.ts +3 -3
- package/dist/src/views/admin/views/core/users/actions.d.ts.map +1 -1
- package/dist/src/views/admin/views/core/users/actions.js +1 -1
- package/dist/src/views/admin/views/core/users/show/edit-buttons.d.ts +4 -0
- package/dist/src/views/admin/views/core/users/show/edit-buttons.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/users/show/edit-buttons.js +1 -0
- package/dist/src/views/admin/views/core/users/show/edit-field.d.ts +13 -0
- package/dist/src/views/admin/views/core/users/show/edit-field.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/users/show/edit-field.js +1 -0
- package/dist/src/views/admin/views/core/users/show/edit-name-code.d.ts +5 -0
- package/dist/src/views/admin/views/core/users/show/edit-name-code.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/users/show/edit-name-code.js +1 -0
- package/dist/src/views/admin/views/core/users/show/mutation-api.d.ts +19 -0
- package/dist/src/views/admin/views/core/users/show/mutation-api.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/users/show/mutation-api.js +1 -0
- package/dist/src/views/admin/views/core/users/show/roles/edit-roles.d.ts +8 -0
- package/dist/src/views/admin/views/core/users/show/roles/edit-roles.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/users/show/roles/edit-roles.js +1 -0
- package/dist/src/views/admin/views/core/users/show/roles/roles.d.ts +8 -0
- package/dist/src/views/admin/views/core/users/show/roles/roles.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/users/show/roles/roles.js +1 -0
- package/dist/src/views/admin/views/core/users/show/roles/search-roles.action.d.ts +10 -0
- package/dist/src/views/admin/views/core/users/show/roles/search-roles.action.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/users/show/roles/search-roles.action.js +1 -0
- package/dist/src/views/admin/views/core/users/show/roles/update-roles.action.d.ts +13 -0
- package/dist/src/views/admin/views/core/users/show/roles/update-roles.action.d.ts.map +1 -0
- package/dist/src/views/admin/views/core/users/show/roles/update-roles.action.js +1 -0
- package/dist/src/views/admin/views/core/users/show/show-user-admin-view.d.ts +2 -2
- package/dist/src/views/admin/views/core/users/show/show-user-admin-view.d.ts.map +1 -1
- package/dist/src/views/admin/views/core/users/show/show-user-admin-view.js +1 -1
- package/dist/src/views/admin/views/core/users/users-admin-view.d.ts.map +1 -1
- package/dist/src/views/admin/views/core/users/users-admin-view.js +1 -1
- package/dist/src/views/auth/settings/layout.d.ts +4 -0
- package/dist/src/views/auth/settings/layout.d.ts.map +1 -0
- package/dist/src/views/auth/settings/layout.js +1 -0
- package/dist/src/views/auth/settings/nav.d.ts +2 -0
- package/dist/src/views/auth/settings/nav.d.ts.map +1 -0
- package/dist/src/views/auth/settings/nav.js +1 -0
- package/dist/src/views/auth/settings/overview/overview.d.ts +2 -0
- package/dist/src/views/auth/settings/overview/overview.d.ts.map +1 -0
- package/dist/src/views/auth/settings/overview/overview.js +1 -0
- package/dist/src/views/auth/settings/security/security.d.ts +2 -0
- package/dist/src/views/auth/settings/security/security.d.ts.map +1 -0
- package/dist/src/views/auth/settings/security/security.js +1 -0
- package/dist/src/views/auth/settings/shell.d.ts +4 -0
- package/dist/src/views/auth/settings/shell.d.ts.map +1 -0
- package/dist/src/views/auth/settings/shell.js +1 -0
- package/dist/src/views/auth/sso/callback/client/client.d.ts.map +1 -1
- package/dist/src/views/auth/sso/callback/client/client.js +1 -1
- package/dist/src/views/breadcrumb/breadcrumb-main.js +1 -1
- package/dist/src/views/breadcrumb/breadcrumb-render.js +1 -1
- package/dist/src/views/error/global-error-view.js +1 -1
- package/dist/src/views/layouts/provider.d.ts.map +1 -1
- package/dist/src/views/layouts/provider.js +1 -1
- package/dist/src/views/layouts/root-layout.d.ts.map +1 -1
- package/dist/src/views/layouts/root-layout.js +1 -1
- package/dist/src/views/layouts/theme/header/user/auth/auth.js +1 -1
- package/dist/src/views/layouts/theme/header/user/auth/client.d.ts.map +1 -1
- package/dist/src/views/layouts/theme/header/user/auth/client.js +1 -1
- package/dist/src/vitnode.config.d.ts +7 -3
- package/dist/src/vitnode.config.d.ts.map +1 -1
- package/dist/src/ws/handle.d.ts.map +1 -1
- package/dist/src/ws/handle.js +1 -1
- package/dist/src/ws/manager.d.ts.map +1 -1
- package/dist/src/ws/manager.js +1 -1
- package/dist/src/ws/provider.d.ts.map +1 -1
- package/dist/src/ws/provider.js +1 -1
- package/dist/src/ws/registry.d.ts +5 -0
- package/dist/src/ws/registry.d.ts.map +1 -1
- package/dist/src/ws/registry.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/vitest.config.d.ts.map +1 -1
- package/package.json +24 -26
- package/src/locales/en.json +279 -4
- package/src/routes/admin/core/advanced/cron/page.tsx +42 -0
- package/src/routes/admin/core/advanced/queue/page.tsx +51 -0
- package/src/routes/admin/core/debug/page.tsx +67 -0
- package/src/routes/admin/core/page.tsx +5 -0
- package/src/routes/admin/core/staff/admins/create/page.tsx +17 -0
- package/src/routes/admin/core/staff/admins/edit/[id]/page.tsx +23 -0
- package/src/routes/admin/core/staff/admins/page.tsx +14 -0
- package/src/routes/admin/core/staff/moderators/create/page.tsx +17 -0
- package/src/routes/admin/core/staff/moderators/edit/[id]/page.tsx +23 -0
- package/src/routes/admin/core/staff/moderators/page.tsx +14 -0
- package/src/routes/admin/core/system/integrations/page.tsx +43 -0
- package/src/routes/admin/core/test/page.tsx +5 -0
- package/src/routes/admin/core/users/[id]/page.tsx +65 -0
- package/src/routes/admin/core/users/page.tsx +55 -0
- package/src/routes/admin/core/users/roles/page.tsx +46 -0
- package/src/routes/blank/test/page.tsx +11 -0
- package/src/routes/breadcrumb/admin/[...all]/page.tsx +3 -0
- package/src/routes/breadcrumb/admin/core/staff/admins/create/page.tsx +5 -0
- package/src/routes/breadcrumb/admin/core/staff/admins/edit/[id]/page.tsx +11 -0
- package/src/routes/breadcrumb/admin/core/staff/admins/page.tsx +5 -0
- package/src/routes/breadcrumb/admin/core/staff/moderators/create/page.tsx +5 -0
- package/src/routes/breadcrumb/admin/core/staff/moderators/edit/[id]/page.tsx +11 -0
- package/src/routes/breadcrumb/admin/core/staff/moderators/page.tsx +5 -0
- package/src/routes/breadcrumb/admin/core/users/[id]/page.tsx +11 -0
- package/src/routes/breadcrumb/admin/default.tsx +4 -0
- package/src/routes/breadcrumb/main/[...rest]/page.tsx +3 -0
- package/src/routes/breadcrumb/main/default.tsx +4 -0
- package/src/routes/breadcrumb/main/page.tsx +6 -0
- package/src/routes/breadcrumb/main/settings/overview/page.tsx +17 -0
- package/src/routes/breadcrumb/main/settings/page.tsx +14 -0
- package/src/routes/breadcrumb/main/settings/security/page.tsx +17 -0
- package/src/routes/main/login/page.tsx +22 -0
- package/src/routes/main/login/reset-password/page.tsx +27 -0
- package/src/routes/main/login/sso/[providerId]/page.tsx +19 -0
- package/src/routes/main/register/page.tsx +22 -0
- package/src/routes/main/settings/layout.tsx +16 -0
- package/src/routes/main/settings/overview/page.tsx +15 -0
- package/src/routes/main/settings/page.tsx +15 -0
- package/src/routes/main/settings/security/page.tsx +15 -0
- package/dist/scripts/get-config.js +0 -66
- package/dist/scripts/plugin.js +0 -206
- package/dist/scripts/prepare-database.js +0 -177
- package/dist/scripts/prepare-plugins-files.js +0 -152
- package/dist/scripts/run-interactive-shell-command.js +0 -21
- package/dist/scripts/shared/file-utils.js +0 -203
- package/dist/src/locales/en.json +0 -372
- package/dist/src/routes/admin/core/users/[nameCode]/page.d.ts.map +0 -1
- package/dist/src/routes/admin/core/users/[nameCode]/page.js +0 -1
- package/dist/src/routes/breadcrumb/admin/core/users/[nameCode]/page.d.ts.map +0 -1
- package/dist/src/routes/breadcrumb/main/login/page.d.ts.map +0 -1
- package/dist/src/routes/breadcrumb/main/login/page.js +0 -1
- package/dist/src/routes/breadcrumb/main/login/reset-password/page.d.ts.map +0 -1
- package/dist/src/routes/breadcrumb/main/login/reset-password/page.js +0 -1
- package/dist/src/routes/breadcrumb/main/register/page.d.ts.map +0 -1
- package/dist/tsup.config.js +0 -17
- package/dist/vitest.config.js +0 -48
- /package/dist/src/routes/breadcrumb/main/{login → settings/overview}/page.d.ts +0 -0
- /package/dist/src/routes/breadcrumb/main/{login/reset-password → settings}/page.d.ts +0 -0
- /package/dist/src/routes/breadcrumb/main/{register → settings/security}/page.d.ts +0 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { z } from "@hono/zod-openapi";
|
|
2
|
+
export declare const updatePermissionsStaffAdminRoute: import("../../../../../api/lib/route").Route<"@vitnode/core", {
|
|
3
|
+
method: "patch";
|
|
4
|
+
description: string;
|
|
5
|
+
path: "/entry/{type}/{id}";
|
|
6
|
+
request: {
|
|
7
|
+
params: z.ZodObject<{
|
|
8
|
+
type: z.ZodEnum<{
|
|
9
|
+
admin: "admin";
|
|
10
|
+
moderator: "moderator";
|
|
11
|
+
}>;
|
|
12
|
+
id: z.ZodString;
|
|
13
|
+
}, z.core.$strip>;
|
|
14
|
+
body: {
|
|
15
|
+
content: {
|
|
16
|
+
"application/json": {
|
|
17
|
+
schema: z.ZodObject<{
|
|
18
|
+
unrestricted: z.ZodBoolean;
|
|
19
|
+
permissions: z.ZodArray<z.ZodObject<{
|
|
20
|
+
plugin: z.ZodString;
|
|
21
|
+
module: z.ZodString;
|
|
22
|
+
permission: z.ZodString;
|
|
23
|
+
}, z.core.$strip>>;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
responses: {
|
|
30
|
+
200: {
|
|
31
|
+
content: {
|
|
32
|
+
"application/json": {
|
|
33
|
+
schema: z.ZodObject<{
|
|
34
|
+
unrestricted: z.ZodBoolean;
|
|
35
|
+
permissions: z.ZodArray<z.ZodObject<{
|
|
36
|
+
plugin: z.ZodString;
|
|
37
|
+
module: z.ZodString;
|
|
38
|
+
permission: z.ZodString;
|
|
39
|
+
}, z.core.$strip>>;
|
|
40
|
+
}, z.core.$strip>;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
description: string;
|
|
44
|
+
};
|
|
45
|
+
403: {
|
|
46
|
+
description: string;
|
|
47
|
+
};
|
|
48
|
+
404: {
|
|
49
|
+
content: {
|
|
50
|
+
"application/json": {
|
|
51
|
+
schema: z.ZodObject<{
|
|
52
|
+
error: z.ZodString;
|
|
53
|
+
}, z.core.$strip>;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
description: string;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
} & {
|
|
60
|
+
path: string;
|
|
61
|
+
}>;
|
|
62
|
+
//# sourceMappingURL=update-permissions.route.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-permissions.route.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/modules/admin/staff/routes/update-permissions.route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AA2BtC,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2K3C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{z}from"@hono/zod-openapi";import{eq}from"drizzle-orm";import{HTTPException}from"hono/http-exception";import{assertStaffPermission,getUserRoleIds}from"../../../../lib/check-staff-permission.js";import{buildRoute}from"../../../../lib/route.js";import{staffPermissionKey}from"../../../../lib/staff-permission.js";import{CONFIG_PLUGIN}from"../../../../../config.js";import{core_admin_permissions}from"../../../../../database/admins.js";import{core_moderators_permissions}from"../../../../../database/moderators.js";import{permissionsStaffArgsSchema,staffPermissionModuleByType,staffTypeSchema}from"../lib/schema.js";const tableByType={admin:core_admin_permissions,moderator:core_moderators_permissions};export const updatePermissionsStaffAdminRoute=buildRoute({pluginId:CONFIG_PLUGIN.pluginId,route:{method:"patch",description:"Update the granted permissions of a staff entry (Admin only)",path:"/entry/{type}/{id}",request:{params:z.object({type:staffTypeSchema,id:z.string().openapi({example:"1"})}),body:{content:{"application/json":{schema:z.object({unrestricted:z.boolean(),permissions:z.array(permissionsStaffArgsSchema)})}}}},responses:{200:{content:{"application/json":{schema:z.object({unrestricted:z.boolean(),permissions:z.array(permissionsStaffArgsSchema)})}},description:"Updated permissions"},403:{description:"Access Denied"},404:{content:{"application/json":{schema:z.object({error:z.string()})}},description:"Staff entry not found"}}},handler:async c=>{const{type,id}=c.req.valid("param");await assertStaffPermission(c,{type:"admin",plugin:CONFIG_PLUGIN.pluginId,module:staffPermissionModuleByType[type],permission:"can_edit"});const{unrestricted,permissions}=c.req.valid("json");const entryId=Number(id);if(!Number.isInteger(entryId)){return c.json({error:"Staff entry not found"},404)}const table=tableByType[type];const[entry]=await c.get("db").select({protected:table.protected,userId:table.userId,roleId:table.roleId}).from(table).where(eq(table.id,entryId)).limit(1);if(!entry){return c.json({error:"Staff entry not found"},404)}if(entry.protected){throw new HTTPException(403,{message:"Forbidden"})}const currentUser=c.get("admin")?.user;const currentUserRoleIds=currentUser?await getUserRoleIds(c,currentUser):[];const isSelf=currentUser!=null&&(entry.userId!=null&&entry.userId===currentUser.id||entry.roleId!=null&¤tUserRoleIds.includes(entry.roleId));if(isSelf){throw new HTTPException(403,{message:"You cannot edit your own staff permissions."})}const allowed=new Set;const dependencies=new Map;for(const plugin of c.get("core").permissionStaff){for(const[module,modulePermissions]of Object.entries(plugin[type])){for(const entry of modulePermissions){const key=staffPermissionKey({plugin:plugin.pluginId,module,permission:entry.permission});allowed.add(key);dependencies.set(key,entry.dependsOn.map(dependency=>staffPermissionKey({plugin:plugin.pluginId,module,permission:dependency})))}}}const seen=new Set;const granted=new Map;if(!unrestricted){for(const permission of permissions){const key=staffPermissionKey(permission);if(!allowed.has(key)||seen.has(key))continue;seen.add(key);granted.set(key,permission)}let changed=true;while(changed){changed=false;for(const key of granted.keys()){const deps=dependencies.get(key)??[];if(deps.some(dependency=>!granted.has(dependency))){granted.delete(key);changed=true}}}}const sanitized=[...granted.values()];const[updated]=await c.get("db").update(table).set({data:{unrestricted,permissions:sanitized}}).where(eq(table.id,entryId)).returning({id:table.id});if(!updated){return c.json({error:"Staff entry not found"},404)}return c.json({unrestricted,permissions:sanitized},200)}});
|
|
@@ -0,0 +1,392 @@
|
|
|
1
|
+
export declare const staffAdminModule: import("../../../../api/lib/module").BuildModuleReturn<"@vitnode/core", "staff", [import("../../../lib/route").Route<"@vitnode/core", {
|
|
2
|
+
method: "get";
|
|
3
|
+
description: string;
|
|
4
|
+
path: "/moderators";
|
|
5
|
+
request: {
|
|
6
|
+
query: import("zod").ZodObject<{
|
|
7
|
+
cursor: import("zod").ZodOptional<import("zod").ZodString>;
|
|
8
|
+
first: import("zod").ZodOptional<import("zod").ZodString>;
|
|
9
|
+
last: import("zod").ZodOptional<import("zod").ZodString>;
|
|
10
|
+
order: import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
11
|
+
asc: "asc";
|
|
12
|
+
desc: "desc";
|
|
13
|
+
}>>;
|
|
14
|
+
orderBy: import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
15
|
+
id: "id";
|
|
16
|
+
createdAt: "createdAt";
|
|
17
|
+
updatedAt: "updatedAt";
|
|
18
|
+
}>>;
|
|
19
|
+
}, import("zod/v4/core").$strip>;
|
|
20
|
+
};
|
|
21
|
+
responses: {
|
|
22
|
+
200: {
|
|
23
|
+
content: {
|
|
24
|
+
"application/json": {
|
|
25
|
+
schema: import("zod").ZodObject<{
|
|
26
|
+
edges: import("zod").ZodArray<import("zod").ZodObject<{
|
|
27
|
+
id: import("zod").ZodNumber;
|
|
28
|
+
createdAt: import("zod").ZodDate;
|
|
29
|
+
updatedAt: import("zod").ZodDate;
|
|
30
|
+
unrestricted: import("zod").ZodBoolean;
|
|
31
|
+
protected: import("zod").ZodBoolean;
|
|
32
|
+
self: import("zod").ZodBoolean;
|
|
33
|
+
role: import("zod").ZodNullable<import("zod").ZodObject<{
|
|
34
|
+
id: import("zod").ZodNumber;
|
|
35
|
+
color: import("zod").ZodNullable<import("zod").ZodString>;
|
|
36
|
+
name: import("zod").ZodArray<import("zod").ZodObject<{
|
|
37
|
+
name: import("zod").ZodString;
|
|
38
|
+
languageCode: import("zod").ZodString;
|
|
39
|
+
}, import("zod/v4/core").$strip>>;
|
|
40
|
+
}, import("zod/v4/core").$strip>>;
|
|
41
|
+
user: import("zod").ZodNullable<import("zod").ZodObject<{
|
|
42
|
+
id: import("zod").ZodNumber;
|
|
43
|
+
name: import("zod").ZodString;
|
|
44
|
+
nameCode: import("zod").ZodString;
|
|
45
|
+
avatarColor: import("zod").ZodString;
|
|
46
|
+
role: import("zod").ZodObject<{
|
|
47
|
+
id: import("zod").ZodNumber;
|
|
48
|
+
color: import("zod").ZodNullable<import("zod").ZodString>;
|
|
49
|
+
name: import("zod").ZodArray<import("zod").ZodObject<{
|
|
50
|
+
name: import("zod").ZodString;
|
|
51
|
+
languageCode: import("zod").ZodString;
|
|
52
|
+
}, import("zod/v4/core").$strip>>;
|
|
53
|
+
}, import("zod/v4/core").$strip>;
|
|
54
|
+
}, import("zod/v4/core").$strip>>;
|
|
55
|
+
}, import("zod/v4/core").$strip>>;
|
|
56
|
+
pageInfo: import("zod").ZodObject<{
|
|
57
|
+
totalCount: import("zod").ZodNumber;
|
|
58
|
+
count: import("zod").ZodNumber;
|
|
59
|
+
hasNextPage: import("zod").ZodBoolean;
|
|
60
|
+
hasPreviousPage: import("zod").ZodBoolean;
|
|
61
|
+
startCursor: import("zod").ZodNullable<import("zod").ZodNumber>;
|
|
62
|
+
endCursor: import("zod").ZodNullable<import("zod").ZodNumber>;
|
|
63
|
+
}, import("zod/v4/core").$strip>;
|
|
64
|
+
}, import("zod/v4/core").$strip>;
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
description: string;
|
|
68
|
+
};
|
|
69
|
+
403: {
|
|
70
|
+
description: string;
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
} & {
|
|
74
|
+
path: string;
|
|
75
|
+
}>, import("../../../lib/route").Route<"@vitnode/core", {
|
|
76
|
+
method: "get";
|
|
77
|
+
description: string;
|
|
78
|
+
path: "/admins";
|
|
79
|
+
request: {
|
|
80
|
+
query: import("zod").ZodObject<{
|
|
81
|
+
cursor: import("zod").ZodOptional<import("zod").ZodString>;
|
|
82
|
+
first: import("zod").ZodOptional<import("zod").ZodString>;
|
|
83
|
+
last: import("zod").ZodOptional<import("zod").ZodString>;
|
|
84
|
+
order: import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
85
|
+
asc: "asc";
|
|
86
|
+
desc: "desc";
|
|
87
|
+
}>>;
|
|
88
|
+
orderBy: import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
89
|
+
id: "id";
|
|
90
|
+
createdAt: "createdAt";
|
|
91
|
+
updatedAt: "updatedAt";
|
|
92
|
+
}>>;
|
|
93
|
+
}, import("zod/v4/core").$strip>;
|
|
94
|
+
};
|
|
95
|
+
responses: {
|
|
96
|
+
200: {
|
|
97
|
+
content: {
|
|
98
|
+
"application/json": {
|
|
99
|
+
schema: import("zod").ZodObject<{
|
|
100
|
+
edges: import("zod").ZodArray<import("zod").ZodObject<{
|
|
101
|
+
id: import("zod").ZodNumber;
|
|
102
|
+
createdAt: import("zod").ZodDate;
|
|
103
|
+
updatedAt: import("zod").ZodDate;
|
|
104
|
+
unrestricted: import("zod").ZodBoolean;
|
|
105
|
+
protected: import("zod").ZodBoolean;
|
|
106
|
+
self: import("zod").ZodBoolean;
|
|
107
|
+
role: import("zod").ZodNullable<import("zod").ZodObject<{
|
|
108
|
+
id: import("zod").ZodNumber;
|
|
109
|
+
color: import("zod").ZodNullable<import("zod").ZodString>;
|
|
110
|
+
name: import("zod").ZodArray<import("zod").ZodObject<{
|
|
111
|
+
name: import("zod").ZodString;
|
|
112
|
+
languageCode: import("zod").ZodString;
|
|
113
|
+
}, import("zod/v4/core").$strip>>;
|
|
114
|
+
}, import("zod/v4/core").$strip>>;
|
|
115
|
+
user: import("zod").ZodNullable<import("zod").ZodObject<{
|
|
116
|
+
id: import("zod").ZodNumber;
|
|
117
|
+
name: import("zod").ZodString;
|
|
118
|
+
nameCode: import("zod").ZodString;
|
|
119
|
+
avatarColor: import("zod").ZodString;
|
|
120
|
+
role: import("zod").ZodObject<{
|
|
121
|
+
id: import("zod").ZodNumber;
|
|
122
|
+
color: import("zod").ZodNullable<import("zod").ZodString>;
|
|
123
|
+
name: import("zod").ZodArray<import("zod").ZodObject<{
|
|
124
|
+
name: import("zod").ZodString;
|
|
125
|
+
languageCode: import("zod").ZodString;
|
|
126
|
+
}, import("zod/v4/core").$strip>>;
|
|
127
|
+
}, import("zod/v4/core").$strip>;
|
|
128
|
+
}, import("zod/v4/core").$strip>>;
|
|
129
|
+
}, import("zod/v4/core").$strip>>;
|
|
130
|
+
pageInfo: import("zod").ZodObject<{
|
|
131
|
+
totalCount: import("zod").ZodNumber;
|
|
132
|
+
count: import("zod").ZodNumber;
|
|
133
|
+
hasNextPage: import("zod").ZodBoolean;
|
|
134
|
+
hasPreviousPage: import("zod").ZodBoolean;
|
|
135
|
+
startCursor: import("zod").ZodNullable<import("zod").ZodNumber>;
|
|
136
|
+
endCursor: import("zod").ZodNullable<import("zod").ZodNumber>;
|
|
137
|
+
}, import("zod/v4/core").$strip>;
|
|
138
|
+
}, import("zod/v4/core").$strip>;
|
|
139
|
+
};
|
|
140
|
+
};
|
|
141
|
+
description: string;
|
|
142
|
+
};
|
|
143
|
+
403: {
|
|
144
|
+
description: string;
|
|
145
|
+
};
|
|
146
|
+
};
|
|
147
|
+
} & {
|
|
148
|
+
path: string;
|
|
149
|
+
}>, import("../../../lib/route").Route<"@vitnode/core", {
|
|
150
|
+
method: "get";
|
|
151
|
+
description: string;
|
|
152
|
+
path: "/permission-catalog";
|
|
153
|
+
responses: {
|
|
154
|
+
200: {
|
|
155
|
+
content: {
|
|
156
|
+
"application/json": {
|
|
157
|
+
schema: import("zod").ZodArray<import("zod").ZodObject<{
|
|
158
|
+
pluginId: import("zod").ZodString;
|
|
159
|
+
admin: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodArray<import("zod").ZodObject<{
|
|
160
|
+
permission: import("zod").ZodString;
|
|
161
|
+
dependsOn: import("zod").ZodArray<import("zod").ZodString>;
|
|
162
|
+
}, import("zod/v4/core").$strip>>>;
|
|
163
|
+
moderator: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodArray<import("zod").ZodObject<{
|
|
164
|
+
permission: import("zod").ZodString;
|
|
165
|
+
dependsOn: import("zod").ZodArray<import("zod").ZodString>;
|
|
166
|
+
}, import("zod/v4/core").$strip>>>;
|
|
167
|
+
}, import("zod/v4/core").$strip>>;
|
|
168
|
+
};
|
|
169
|
+
};
|
|
170
|
+
description: string;
|
|
171
|
+
};
|
|
172
|
+
403: {
|
|
173
|
+
description: string;
|
|
174
|
+
};
|
|
175
|
+
};
|
|
176
|
+
} & {
|
|
177
|
+
path: string;
|
|
178
|
+
}>, import("../../../lib/route").Route<"@vitnode/core", {
|
|
179
|
+
method: "get";
|
|
180
|
+
description: string;
|
|
181
|
+
path: "/entry/{type}/{id}";
|
|
182
|
+
request: {
|
|
183
|
+
params: import("zod").ZodObject<{
|
|
184
|
+
type: import("zod").ZodEnum<{
|
|
185
|
+
admin: "admin";
|
|
186
|
+
moderator: "moderator";
|
|
187
|
+
}>;
|
|
188
|
+
id: import("zod").ZodString;
|
|
189
|
+
}, import("zod/v4/core").$strip>;
|
|
190
|
+
};
|
|
191
|
+
responses: {
|
|
192
|
+
200: {
|
|
193
|
+
content: {
|
|
194
|
+
"application/json": {
|
|
195
|
+
schema: import("zod").ZodObject<{
|
|
196
|
+
id: import("zod").ZodNumber;
|
|
197
|
+
createdAt: import("zod").ZodDate;
|
|
198
|
+
updatedAt: import("zod").ZodDate;
|
|
199
|
+
unrestricted: import("zod").ZodBoolean;
|
|
200
|
+
protected: import("zod").ZodBoolean;
|
|
201
|
+
self: import("zod").ZodBoolean;
|
|
202
|
+
role: import("zod").ZodNullable<import("zod").ZodObject<{
|
|
203
|
+
id: import("zod").ZodNumber;
|
|
204
|
+
color: import("zod").ZodNullable<import("zod").ZodString>;
|
|
205
|
+
name: import("zod").ZodArray<import("zod").ZodObject<{
|
|
206
|
+
name: import("zod").ZodString;
|
|
207
|
+
languageCode: import("zod").ZodString;
|
|
208
|
+
}, import("zod/v4/core").$strip>>;
|
|
209
|
+
}, import("zod/v4/core").$strip>>;
|
|
210
|
+
user: import("zod").ZodNullable<import("zod").ZodObject<{
|
|
211
|
+
id: import("zod").ZodNumber;
|
|
212
|
+
name: import("zod").ZodString;
|
|
213
|
+
nameCode: import("zod").ZodString;
|
|
214
|
+
avatarColor: import("zod").ZodString;
|
|
215
|
+
role: import("zod").ZodObject<{
|
|
216
|
+
id: import("zod").ZodNumber;
|
|
217
|
+
color: import("zod").ZodNullable<import("zod").ZodString>;
|
|
218
|
+
name: import("zod").ZodArray<import("zod").ZodObject<{
|
|
219
|
+
name: import("zod").ZodString;
|
|
220
|
+
languageCode: import("zod").ZodString;
|
|
221
|
+
}, import("zod/v4/core").$strip>>;
|
|
222
|
+
}, import("zod/v4/core").$strip>;
|
|
223
|
+
}, import("zod/v4/core").$strip>>;
|
|
224
|
+
permissions: import("zod").ZodArray<import("zod").ZodObject<{
|
|
225
|
+
plugin: import("zod").ZodString;
|
|
226
|
+
module: import("zod").ZodString;
|
|
227
|
+
permission: import("zod").ZodString;
|
|
228
|
+
}, import("zod/v4/core").$strip>>;
|
|
229
|
+
}, import("zod/v4/core").$strip>;
|
|
230
|
+
};
|
|
231
|
+
};
|
|
232
|
+
description: string;
|
|
233
|
+
};
|
|
234
|
+
403: {
|
|
235
|
+
description: string;
|
|
236
|
+
};
|
|
237
|
+
404: {
|
|
238
|
+
content: {
|
|
239
|
+
"application/json": {
|
|
240
|
+
schema: import("zod").ZodObject<{
|
|
241
|
+
error: import("zod").ZodString;
|
|
242
|
+
}, import("zod/v4/core").$strip>;
|
|
243
|
+
};
|
|
244
|
+
};
|
|
245
|
+
description: string;
|
|
246
|
+
};
|
|
247
|
+
};
|
|
248
|
+
} & {
|
|
249
|
+
path: string;
|
|
250
|
+
}>, import("../../../lib/route").Route<"@vitnode/core", {
|
|
251
|
+
method: "patch";
|
|
252
|
+
description: string;
|
|
253
|
+
path: "/entry/{type}/{id}";
|
|
254
|
+
request: {
|
|
255
|
+
params: import("zod").ZodObject<{
|
|
256
|
+
type: import("zod").ZodEnum<{
|
|
257
|
+
admin: "admin";
|
|
258
|
+
moderator: "moderator";
|
|
259
|
+
}>;
|
|
260
|
+
id: import("zod").ZodString;
|
|
261
|
+
}, import("zod/v4/core").$strip>;
|
|
262
|
+
body: {
|
|
263
|
+
content: {
|
|
264
|
+
"application/json": {
|
|
265
|
+
schema: import("zod").ZodObject<{
|
|
266
|
+
unrestricted: import("zod").ZodBoolean;
|
|
267
|
+
permissions: import("zod").ZodArray<import("zod").ZodObject<{
|
|
268
|
+
plugin: import("zod").ZodString;
|
|
269
|
+
module: import("zod").ZodString;
|
|
270
|
+
permission: import("zod").ZodString;
|
|
271
|
+
}, import("zod/v4/core").$strip>>;
|
|
272
|
+
}, import("zod/v4/core").$strip>;
|
|
273
|
+
};
|
|
274
|
+
};
|
|
275
|
+
};
|
|
276
|
+
};
|
|
277
|
+
responses: {
|
|
278
|
+
200: {
|
|
279
|
+
content: {
|
|
280
|
+
"application/json": {
|
|
281
|
+
schema: import("zod").ZodObject<{
|
|
282
|
+
unrestricted: import("zod").ZodBoolean;
|
|
283
|
+
permissions: import("zod").ZodArray<import("zod").ZodObject<{
|
|
284
|
+
plugin: import("zod").ZodString;
|
|
285
|
+
module: import("zod").ZodString;
|
|
286
|
+
permission: import("zod").ZodString;
|
|
287
|
+
}, import("zod/v4/core").$strip>>;
|
|
288
|
+
}, import("zod/v4/core").$strip>;
|
|
289
|
+
};
|
|
290
|
+
};
|
|
291
|
+
description: string;
|
|
292
|
+
};
|
|
293
|
+
403: {
|
|
294
|
+
description: string;
|
|
295
|
+
};
|
|
296
|
+
404: {
|
|
297
|
+
content: {
|
|
298
|
+
"application/json": {
|
|
299
|
+
schema: import("zod").ZodObject<{
|
|
300
|
+
error: import("zod").ZodString;
|
|
301
|
+
}, import("zod/v4/core").$strip>;
|
|
302
|
+
};
|
|
303
|
+
};
|
|
304
|
+
description: string;
|
|
305
|
+
};
|
|
306
|
+
};
|
|
307
|
+
} & {
|
|
308
|
+
path: string;
|
|
309
|
+
}>, import("../../../lib/route").Route<"@vitnode/core", {
|
|
310
|
+
method: "post";
|
|
311
|
+
description: string;
|
|
312
|
+
path: "/entry/{type}";
|
|
313
|
+
request: {
|
|
314
|
+
params: import("zod").ZodObject<{
|
|
315
|
+
type: import("zod").ZodEnum<{
|
|
316
|
+
admin: "admin";
|
|
317
|
+
moderator: "moderator";
|
|
318
|
+
}>;
|
|
319
|
+
}, import("zod/v4/core").$strip>;
|
|
320
|
+
body: {
|
|
321
|
+
content: {
|
|
322
|
+
"application/json": {
|
|
323
|
+
schema: import("zod").ZodObject<{
|
|
324
|
+
roleId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
|
|
325
|
+
userId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
|
|
326
|
+
}, import("zod/v4/core").$strip>;
|
|
327
|
+
};
|
|
328
|
+
};
|
|
329
|
+
};
|
|
330
|
+
};
|
|
331
|
+
responses: {
|
|
332
|
+
201: {
|
|
333
|
+
content: {
|
|
334
|
+
"application/json": {
|
|
335
|
+
schema: import("zod").ZodObject<{
|
|
336
|
+
id: import("zod").ZodNumber;
|
|
337
|
+
}, import("zod/v4/core").$strip>;
|
|
338
|
+
};
|
|
339
|
+
};
|
|
340
|
+
description: string;
|
|
341
|
+
};
|
|
342
|
+
403: {
|
|
343
|
+
description: string;
|
|
344
|
+
};
|
|
345
|
+
409: {
|
|
346
|
+
content: {
|
|
347
|
+
"application/json": {
|
|
348
|
+
schema: import("zod").ZodObject<{
|
|
349
|
+
error: import("zod").ZodString;
|
|
350
|
+
}, import("zod/v4/core").$strip>;
|
|
351
|
+
};
|
|
352
|
+
};
|
|
353
|
+
description: string;
|
|
354
|
+
};
|
|
355
|
+
};
|
|
356
|
+
} & {
|
|
357
|
+
path: string;
|
|
358
|
+
}>, import("../../../lib/route").Route<"@vitnode/core", {
|
|
359
|
+
method: "delete";
|
|
360
|
+
description: string;
|
|
361
|
+
path: "/entry/{type}/{id}";
|
|
362
|
+
request: {
|
|
363
|
+
params: import("zod").ZodObject<{
|
|
364
|
+
type: import("zod").ZodEnum<{
|
|
365
|
+
admin: "admin";
|
|
366
|
+
moderator: "moderator";
|
|
367
|
+
}>;
|
|
368
|
+
id: import("zod").ZodString;
|
|
369
|
+
}, import("zod/v4/core").$strip>;
|
|
370
|
+
};
|
|
371
|
+
responses: {
|
|
372
|
+
200: {
|
|
373
|
+
description: string;
|
|
374
|
+
};
|
|
375
|
+
403: {
|
|
376
|
+
description: string;
|
|
377
|
+
};
|
|
378
|
+
404: {
|
|
379
|
+
content: {
|
|
380
|
+
"application/json": {
|
|
381
|
+
schema: import("zod").ZodObject<{
|
|
382
|
+
error: import("zod").ZodString;
|
|
383
|
+
}, import("zod/v4/core").$strip>;
|
|
384
|
+
};
|
|
385
|
+
};
|
|
386
|
+
description: string;
|
|
387
|
+
};
|
|
388
|
+
};
|
|
389
|
+
} & {
|
|
390
|
+
path: string;
|
|
391
|
+
}>], import("../../../../api/lib/module").BaseBuildModuleReturn<"@vitnode/core", string, import("../../../lib/route").Route<"@vitnode/core", import("@hono/zod-openapi").RouteConfig>[]>[]>;
|
|
392
|
+
//# sourceMappingURL=staff.admin.module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"staff.admin.module.d.ts","sourceRoot":"","sources":["../../../../../../src/api/modules/admin/staff/staff.admin.module.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iLAY3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{buildModule}from"../../../lib/module.js";import{CONFIG_PLUGIN}from"../../../../config.js";import{listAdminsStaffAdminRoute}from"./routes/admins.route.js";import{createStaffAdminRoute}from"./routes/create.route.js";import{deleteStaffAdminRoute}from"./routes/delete.route.js";import{listModeratorsStaffAdminRoute}from"./routes/moderators.route.js";import{permissionCatalogStaffAdminRoute}from"./routes/permission-catalog.route.js";import{showPermissionsStaffAdminRoute}from"./routes/show-permissions.route.js";import{updatePermissionsStaffAdminRoute}from"./routes/update-permissions.route.js";export const staffAdminModule=buildModule({pluginId:CONFIG_PLUGIN.pluginId,name:"staff",routes:[listModeratorsStaffAdminRoute,listAdminsStaffAdminRoute,permissionCatalogStaffAdminRoute,showPermissionsStaffAdminRoute,updatePermissionsStaffAdminRoute,createStaffAdminRoute,deleteStaffAdminRoute]});
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Context } from "hono";
|
|
2
|
+
export declare const assertCanEditAdminTarget: (c: Context, userId: number) => Promise<void>;
|
|
3
|
+
export declare const assertCanAssignPrimaryRole: (c: Context, roleId: number) => Promise<void>;
|
|
4
|
+
//# sourceMappingURL=assert-edit-user-permission.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assert-edit-user-permission.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/modules/admin/users/lib/assert-edit-user-permission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAkBpC,eAAO,MAAM,wBAAwB,GACnC,GAAG,OAAO,EACV,QAAQ,MAAM,KACb,OAAO,CAAC,IAAI,CAOd,CAAC;AASF,eAAO,MAAM,0BAA0B,GACrC,GAAG,OAAO,EACV,QAAQ,MAAM,KACb,OAAO,CAAC,IAAI,CAWd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{eq}from"drizzle-orm";import{assertStaffPermission}from"../../../../lib/check-staff-permission.js";import{SessionAdminModel}from"../../../../models/session-admin.js";import{CONFIG_PLUGIN}from"../../../../../config.js";import{core_admin_permissions}from"../../../../../database/admins.js";const assertCanEditAdmin=async c=>{await assertStaffPermission(c,{type:"admin",plugin:CONFIG_PLUGIN.pluginId,module:"users",permission:"can_edit_admin"})};export const assertCanEditAdminTarget=async(c,userId)=>{const isTargetAdmin=await new SessionAdminModel(c).checkIfUserIsAdmin(userId);if(!isTargetAdmin)return;await assertCanEditAdmin(c)};export const assertCanAssignPrimaryRole=async(c,roleId)=>{const[adminRole]=await c.get("db").select({id:core_admin_permissions.id}).from(core_admin_permissions).where(eq(core_admin_permissions.roleId,roleId)).limit(1);if(!adminRole)return;await assertCanEditAdmin(c)};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.route.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/modules/admin/users/routes/create.route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAStC,eAAO,MAAM,wBAAwB;;;;iBAcnC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"create.route.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/modules/admin/users/routes/create.route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAStC,eAAO,MAAM,wBAAwB;;;;iBAcnC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoD/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{z}from"@hono/zod-openapi";import{buildRoute}from"../../../../lib/route.js";import{PasswordModel}from"../../../../models/password.js";import{UserModel}from"../../../../models/user.js";import{CONFIG_PLUGIN}from"../../../../../config.js";const nameRegex=/^(?!.* {2})[\p{L}\p{N}._@ -]*$/u;export const zodCreateUserAdminSchema=z.object({email:z.email().toLowerCase().openapi({example:"test@test.com"}),name:z.string().openapi({example:"test"}).min(3).refine(val=>nameRegex.test(val),{message:"Invalid name"}),password:z.string().min(8).openapi({example:"Test123!"})});export const createUserAdminRoute=buildRoute({pluginId:CONFIG_PLUGIN.pluginId,route:{method:"post",description:"Create a new user (Admin only)",path:"/create",request:{body:{required:true,content:{"application/json":{schema:zodCreateUserAdminSchema}}}},responses:{201:{content:{"application/json":{schema:z.object({id:z.number(),name:z.string(),email:z.email()})}},description:"User created"},403:{description:"Access Denied"},409:{description:"Email or name already exists"}}},handler:async c=>{const{password,...input}=c.req.valid("json");const hashedPassword=await new PasswordModel().encryptPassword(password);const data=await new UserModel().signUp({...input,hashedPassword},c);return c.json({id:data.id,name:data.name,email:data.email},201)}});
|
|
1
|
+
import{z}from"@hono/zod-openapi";import{buildRoute}from"../../../../lib/route.js";import{PasswordModel}from"../../../../models/password.js";import{UserModel}from"../../../../models/user.js";import{CONFIG_PLUGIN}from"../../../../../config.js";const nameRegex=/^(?!.* {2})[\p{L}\p{N}._@ -]*$/u;export const zodCreateUserAdminSchema=z.object({email:z.email().toLowerCase().openapi({example:"test@test.com"}),name:z.string().openapi({example:"test"}).min(3).refine(val=>nameRegex.test(val),{message:"Invalid name"}),password:z.string().min(8).openapi({example:"Test123!"})});export const createUserAdminRoute=buildRoute({pluginId:CONFIG_PLUGIN.pluginId,adminStaffPermission:{module:"users",permission:"can_create"},route:{method:"post",description:"Create a new user (Admin only)",path:"/create",request:{body:{required:true,content:{"application/json":{schema:zodCreateUserAdminSchema}}}},responses:{201:{content:{"application/json":{schema:z.object({id:z.number(),name:z.string(),email:z.email()})}},description:"User created"},403:{description:"Access Denied"},409:{description:"Email or name already exists"}}},handler:async c=>{const{password,...input}=c.req.valid("json");const hashedPassword=await new PasswordModel().encryptPassword(password);const data=await new UserModel().signUp({...input,hashedPassword},c);return c.json({id:data.id,name:data.name,email:data.email},201)}});
|
|
@@ -35,6 +35,22 @@ export declare const listUsersAdminRoute: import("../../../../../api/lib/route")
|
|
|
35
35
|
avatarColor: z.ZodString;
|
|
36
36
|
emailVerified: z.ZodBoolean;
|
|
37
37
|
roleId: z.ZodNumber;
|
|
38
|
+
role: z.ZodObject<{
|
|
39
|
+
id: z.ZodNumber;
|
|
40
|
+
color: z.ZodNullable<z.ZodString>;
|
|
41
|
+
name: z.ZodArray<z.ZodObject<{
|
|
42
|
+
name: z.ZodString;
|
|
43
|
+
languageCode: z.ZodString;
|
|
44
|
+
}, z.core.$strip>>;
|
|
45
|
+
}, z.core.$strip>;
|
|
46
|
+
secondaryRoles: z.ZodArray<z.ZodObject<{
|
|
47
|
+
id: z.ZodNumber;
|
|
48
|
+
color: z.ZodNullable<z.ZodString>;
|
|
49
|
+
name: z.ZodArray<z.ZodObject<{
|
|
50
|
+
name: z.ZodString;
|
|
51
|
+
languageCode: z.ZodString;
|
|
52
|
+
}, z.core.$strip>>;
|
|
53
|
+
}, z.core.$strip>>;
|
|
38
54
|
birthday: z.ZodNullable<z.ZodDate>;
|
|
39
55
|
language: z.ZodString;
|
|
40
56
|
}, z.core.$strip>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.route.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/modules/admin/users/routes/list.route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"list.route.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/modules/admin/users/routes/list.route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AActC,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2J9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{z}from"@hono/zod-openapi";import{inArray}from"drizzle-orm";import{buildRoute}from"../../../../lib/route.js";import{withPagination,zodPaginationPageInfo,zodPaginationQuery}from"../../../../lib/with-pagination.js";import{CONFIG_PLUGIN}from"../../../../../config.js";import{core_users}from"../../../../../database/users.js";export const listUsersAdminRoute=buildRoute({pluginId:CONFIG_PLUGIN.pluginId,route:{method:"get",description:"Get list of all users",path:"/list",request:{query:zodPaginationQuery.extend({order:z.enum(["asc","desc"]).optional(),orderBy:z.enum(["name","createdAt"]).optional(),roleId:z.string().optional(),search:z.string().optional()})},responses:{200:{content:{"application/json":{schema:z.object({edges:z.array(z.object({id:z.number(),name:z.string(),email:z.string(),nameCode:z.string(),createdAt:z.date(),newsletter:z.boolean(),avatarColor:z.string(),emailVerified:z.boolean(),roleId:z.number(),birthday:z.date().nullable(),language:z.string()})),pageInfo:zodPaginationPageInfo})}},description:"List of users"}}},handler:async c=>{const query=c.req.valid("query");const roleIds=(query.roleId?.split(",")??[]).filter(Boolean).map(id=>Number(id)).filter(id=>!Number.isNaN(id));const data=await withPagination({params:{query},search:[core_users.name,core_users.email],where:roleIds.length?inArray(core_users.roleId,roleIds):undefined,primaryCursor:core_users.id,query:async({limit,where,orderBy})=>await c.get("db").select({id:core_users.id,name:core_users.name,email:core_users.email,nameCode:core_users.nameCode,createdAt:core_users.createdAt,newsletter:core_users.newsletter,avatarColor:core_users.avatarColor,emailVerified:core_users.emailVerified,roleId:core_users.roleId,birthday:core_users.birthday,language:core_users.language}).from(core_users).where(where).orderBy(orderBy).limit(limit),table:core_users,orderBy:{column:query.orderBy?core_users[query.orderBy]:core_users.createdAt,order:query.order??"desc"},c});return c.json(data)}});
|
|
1
|
+
import{z}from"@hono/zod-openapi";import{eq,inArray}from"drizzle-orm";import{resolveRoleNames}from"../../../../lib/resolve-role-names.js";import{buildRoute}from"../../../../lib/route.js";import{withPagination,zodPaginationPageInfo,zodPaginationQuery}from"../../../../lib/with-pagination.js";import{CONFIG_PLUGIN}from"../../../../../config.js";import{core_roles}from"../../../../../database/roles.js";import{core_users,core_users_secondary_roles}from"../../../../../database/users.js";export const listUsersAdminRoute=buildRoute({pluginId:CONFIG_PLUGIN.pluginId,adminStaffPermission:{module:"users",permission:"can_view"},route:{method:"get",description:"Get list of all users",path:"/list",request:{query:zodPaginationQuery.extend({order:z.enum(["asc","desc"]).optional(),orderBy:z.enum(["name","createdAt"]).optional(),roleId:z.string().optional(),search:z.string().optional()})},responses:{200:{content:{"application/json":{schema:z.object({edges:z.array(z.object({id:z.number(),name:z.string(),email:z.string(),nameCode:z.string(),createdAt:z.date(),newsletter:z.boolean(),avatarColor:z.string(),emailVerified:z.boolean(),roleId:z.number(),role:z.object({id:z.number(),color:z.string().nullable(),name:z.array(z.object({name:z.string(),languageCode:z.string()}))}),secondaryRoles:z.array(z.object({id:z.number(),color:z.string().nullable(),name:z.array(z.object({name:z.string(),languageCode:z.string()}))})),birthday:z.date().nullable(),language:z.string()})),pageInfo:zodPaginationPageInfo})}},description:"List of users"}}},handler:async c=>{const query=c.req.valid("query");const roleIds=(query.roleId?.split(",")??[]).filter(Boolean).map(id=>Number(id)).filter(id=>!Number.isNaN(id));const data=await withPagination({params:{query},search:[core_users.name,core_users.email],where:roleIds.length?inArray(core_users.roleId,roleIds):undefined,primaryCursor:core_users.id,query:async({limit,where,orderBy})=>await c.get("db").select({id:core_users.id,name:core_users.name,email:core_users.email,nameCode:core_users.nameCode,createdAt:core_users.createdAt,newsletter:core_users.newsletter,avatarColor:core_users.avatarColor,emailVerified:core_users.emailVerified,roleId:core_users.roleId,roleColor:core_roles.color,birthday:core_users.birthday,language:core_users.language}).from(core_users).leftJoin(core_roles,eq(core_roles.id,core_users.roleId)).where(where).orderBy(orderBy).limit(limit),table:core_users,orderBy:{column:query.orderBy?core_users[query.orderBy]:core_users.createdAt,order:query.order??"desc"},c});const userIds=data.edges.map(user=>user.id);const secondaryRoleRows=userIds.length?await c.get("db").select({userId:core_users_secondary_roles.userId,roleId:core_users_secondary_roles.roleId,roleColor:core_roles.color}).from(core_users_secondary_roles).innerJoin(core_roles,eq(core_roles.id,core_users_secondary_roles.roleId)).where(inArray(core_users_secondary_roles.userId,userIds)):[];const roleNames=await resolveRoleNames(c,[...data.edges.map(user=>user.roleId),...secondaryRoleRows.map(row=>row.roleId)]);return c.json({pageInfo:data.pageInfo,edges:data.edges.map(({roleColor,...user})=>({...user,role:{id:user.roleId,color:roleColor,name:roleNames.get(user.roleId)??[]},secondaryRoles:secondaryRoleRows.filter(row=>row.userId===user.id).map(row=>({id:row.roleId,color:row.roleColor,name:roleNames.get(row.roleId)??[]}))}))})}});
|
|
@@ -2,10 +2,10 @@ import { z } from "@hono/zod-openapi";
|
|
|
2
2
|
export declare const showUserAdminRoute: import("../../../../../api/lib/route").Route<"@vitnode/core", {
|
|
3
3
|
method: "get";
|
|
4
4
|
description: string;
|
|
5
|
-
path: "/{
|
|
5
|
+
path: "/{id}";
|
|
6
6
|
request: {
|
|
7
7
|
params: z.ZodObject<{
|
|
8
|
-
|
|
8
|
+
id: z.ZodString;
|
|
9
9
|
}, z.core.$strip>;
|
|
10
10
|
};
|
|
11
11
|
responses: {
|
|
@@ -22,8 +22,25 @@ export declare const showUserAdminRoute: import("../../../../../api/lib/route").
|
|
|
22
22
|
avatarColor: z.ZodString;
|
|
23
23
|
emailVerified: z.ZodBoolean;
|
|
24
24
|
roleId: z.ZodNumber;
|
|
25
|
+
role: z.ZodObject<{
|
|
26
|
+
id: z.ZodNumber;
|
|
27
|
+
color: z.ZodNullable<z.ZodString>;
|
|
28
|
+
name: z.ZodArray<z.ZodObject<{
|
|
29
|
+
name: z.ZodString;
|
|
30
|
+
languageCode: z.ZodString;
|
|
31
|
+
}, z.core.$strip>>;
|
|
32
|
+
}, z.core.$strip>;
|
|
33
|
+
secondaryRoles: z.ZodArray<z.ZodObject<{
|
|
34
|
+
id: z.ZodNumber;
|
|
35
|
+
color: z.ZodNullable<z.ZodString>;
|
|
36
|
+
name: z.ZodArray<z.ZodObject<{
|
|
37
|
+
name: z.ZodString;
|
|
38
|
+
languageCode: z.ZodString;
|
|
39
|
+
}, z.core.$strip>>;
|
|
40
|
+
}, z.core.$strip>>;
|
|
25
41
|
birthday: z.ZodNullable<z.ZodDate>;
|
|
26
42
|
language: z.ZodString;
|
|
43
|
+
isAdmin: z.ZodBoolean;
|
|
27
44
|
}, z.core.$strip>;
|
|
28
45
|
};
|
|
29
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"show.route.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/modules/admin/users/routes/show.route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"show.route.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/modules/admin/users/routes/show.route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAsBtC,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkH7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{z}from"@hono/zod-openapi";import{buildRoute}from"../../../../lib/route.js";import{UserModel}from"../../../../models/user.js";import{CONFIG_PLUGIN}from"../../../../../config.js";export const showUserAdminRoute=buildRoute({pluginId:CONFIG_PLUGIN.pluginId,route:{method:"get",description:"Get a single user by
|
|
1
|
+
import{z}from"@hono/zod-openapi";import{eq}from"drizzle-orm";import{resolveRoleNames}from"../../../../lib/resolve-role-names.js";import{buildRoute}from"../../../../lib/route.js";import{SessionAdminModel}from"../../../../models/session-admin.js";import{UserModel}from"../../../../models/user.js";import{CONFIG_PLUGIN}from"../../../../../config.js";import{core_roles}from"../../../../../database/roles.js";import{core_users_secondary_roles}from"../../../../../database/users.js";const roleSchema=z.object({id:z.number(),color:z.string().nullable(),name:z.array(z.object({name:z.string(),languageCode:z.string()}))});export const showUserAdminRoute=buildRoute({pluginId:CONFIG_PLUGIN.pluginId,adminStaffPermission:{module:"users",permission:"can_view"},route:{method:"get",description:"Get a single user by id (Admin only)",path:"/{id}",request:{params:z.object({id:z.string().openapi({example:"1"})})},responses:{200:{content:{"application/json":{schema:z.object({id:z.number(),name:z.string(),email:z.string(),nameCode:z.string(),createdAt:z.date(),newsletter:z.boolean(),avatarColor:z.string(),emailVerified:z.boolean(),roleId:z.number(),role:roleSchema,secondaryRoles:z.array(roleSchema),birthday:z.date().nullable(),language:z.string(),isAdmin:z.boolean()})}},description:"User found"},403:{description:"Access Denied"},404:{content:{"application/json":{schema:z.object({error:z.string()})}},description:"User not found"}}},handler:async c=>{const{id}=c.req.valid("param");const userId=Number(id);if(!Number.isInteger(userId)){return c.json({error:"User not found"},404)}const user=await new UserModel().getUserById({id:userId,c});if(!user){return c.json({error:"User not found"},404)}const db=c.get("db");const secondaryRoleRows=await db.select({id:core_roles.id,color:core_roles.color}).from(core_users_secondary_roles).innerJoin(core_roles,eq(core_roles.id,core_users_secondary_roles.roleId)).where(eq(core_users_secondary_roles.userId,user.id));const[primaryRole]=await db.select({id:core_roles.id,color:core_roles.color}).from(core_roles).where(eq(core_roles.id,user.roleId)).limit(1);const names=await resolveRoleNames(c,[user.roleId,...secondaryRoleRows.map(role=>role.id)]);const isAdmin=await new SessionAdminModel(c).checkIfUserIsAdmin(user.id);return c.json({...user,isAdmin,role:{id:user.roleId,color:primaryRole?.color??null,name:names.get(user.roleId)??[]},secondaryRoles:secondaryRoleRows.map(role=>({id:role.id,color:role.color,name:names.get(role.id)??[]}))},200)}});
|