@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 @@
|
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/main/settings/overview/page.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB;;EAM5B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,IAAI,gCAE3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as _jsx}from"react/jsx-runtime";import{getTranslations}from"next-intl/server";import{OverviewSettings}from"../../../../views/auth/settings/overview/overview.js";export const generateMetadata=async()=>{const t=await getTranslations("core.auth.settings");return{title:`${t("nav.overview")} - ${t("title")}`}};export default function Page(){return _jsx(OverviewSettings,{})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../../../src/routes/main/settings/page.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB;;EAM5B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,IAAI,gCAE3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as _jsx}from"react/jsx-runtime";import{getTranslations}from"next-intl/server";import{OverviewSettings}from"../../../views/auth/settings/overview/overview.js";export const generateMetadata=async()=>{const t=await getTranslations("core.auth.settings");return{title:`${t("nav.overview")} - ${t("title")}`}};export default function Page(){return _jsx(OverviewSettings,{})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/main/settings/security/page.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB;;EAM5B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,IAAI,gCAE3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as _jsx}from"react/jsx-runtime";import{getTranslations}from"next-intl/server";import{SecuritySettings}from"../../../../views/auth/settings/security/security.js";export const generateMetadata=async()=>{const t=await getTranslations("core.auth.settings");return{title:`${t("nav.security")} - ${t("title")}`}};export default function Page(){return _jsx(SecuritySettings,{})}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-layout.d.ts","sourceRoot":"","sources":["../../../../../src/views/admin/layouts/admin-layout.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"admin-layout.d.ts","sourceRoot":"","sources":["../../../../../src/views/admin/layouts/admin-layout.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAO7D,MAAM,WAAW,gBAAgB;IAE/B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,WAAW,GAAU,0CAI/B,gBAAgB,GAAG;IACpB,aAAa,EAAE,aAAa,CAAC;CAC9B,gDAqCA,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{cookies}from"next/headers";import{ThemeSwitcher}from"../../../components/switchers/themes/theme-switcher.js";import{Separator}from"../../../components/ui/separator.js";import{SidebarInset,SidebarProvider,SidebarTrigger}from"../../../components/ui/sidebar.js";import{getSessionAdminApi}from"../../../lib/api/get-session-admin-api.js";import{I18nProvider}from"../../../components/i18n-provider.js";import{LanguageSwitcher}from"../../../components/switchers/langs/language-switcher.js";import{SidebarAdmin}from"./sidebar/sidebar.js";import{UserBarAdmin}from"./user-bar/user-bar.js";export const AdminLayout=async({children,breadcrumb,vitNodeConfig})=>{const session=await getSessionAdminApi();const cookieStore=await cookies();const defaultOpen=!cookieStore.get("vitnode_admin_sidebar_state")||cookieStore.get("vitnode_admin_sidebar_state")?.value==="true";if(!session)return null;return _jsx(I18nProvider,{namespaces:["admin.global"],children:_jsxs(SidebarProvider,{defaultOpen:defaultOpen,children:[_jsx(SidebarAdmin,{vitNodeConfig:vitNodeConfig}),_jsxs(SidebarInset,{children:[_jsxs("header",{className:"flex h-16 shrink-0 items-center gap-2 border-b px-4",children:[_jsx(SidebarTrigger,{className:"-ml-1"}),breadcrumb!=null&&_jsxs(_Fragment,{children:[_jsx(Separator,{className:"mr-1 h-4",orientation:"vertical"}),breadcrumb]}),_jsxs("div",{className:"ml-auto flex items-center justify-center gap-2 px-2",children:[vitNodeConfig.i18n.locales.length>1&&_jsx(LanguageSwitcher,{locales:vitNodeConfig.i18n.locales}),_jsx(ThemeSwitcher,{}),_jsx(UserBarAdmin,{user:session.user})]})]}),children]})]})})};
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{cookies}from"next/headers";import{AdminStaffPermissionProvider}from"../../../components/staff-permission/provider.js";import{ThemeSwitcher}from"../../../components/switchers/themes/theme-switcher.js";import{Separator}from"../../../components/ui/separator.js";import{SidebarInset,SidebarProvider,SidebarTrigger}from"../../../components/ui/sidebar.js";import{getSessionAdminApi}from"../../../lib/api/get-session-admin-api.js";import{I18nProvider}from"../../../components/i18n-provider.js";import{LanguageSwitcher}from"../../../components/switchers/langs/language-switcher.js";import{SidebarAdmin}from"./sidebar/sidebar.js";import{UserBarAdmin}from"./user-bar/user-bar.js";export const AdminLayout=async({children,breadcrumb,vitNodeConfig})=>{const session=await getSessionAdminApi();const cookieStore=await cookies();const defaultOpen=!cookieStore.get("vitnode_admin_sidebar_state")||cookieStore.get("vitnode_admin_sidebar_state")?.value==="true";if(!session)return null;return _jsx(I18nProvider,{namespaces:["admin.global"],children:_jsx(AdminStaffPermissionProvider,{value:session.permissions,children:_jsxs(SidebarProvider,{defaultOpen:defaultOpen,children:[_jsx(SidebarAdmin,{vitNodeConfig:vitNodeConfig}),_jsxs(SidebarInset,{children:[_jsxs("header",{className:"flex h-16 shrink-0 items-center gap-2 border-b px-4",children:[_jsx(SidebarTrigger,{className:"-ml-1"}),breadcrumb!=null&&_jsxs(_Fragment,{children:[_jsx(Separator,{className:"mr-1 h-4",orientation:"vertical"}),breadcrumb]}),_jsxs("div",{className:"ml-auto flex items-center justify-center gap-2 px-2",children:[vitNodeConfig.i18n.locales.length>1&&_jsx(LanguageSwitcher,{locales:vitNodeConfig.i18n.locales}),_jsx(ThemeSwitcher,{}),_jsx(UserBarAdmin,{user:session.user})]})]}),children]})]})})})};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { VitNodeConfig } from "../../../../vitnode.config";
|
|
2
|
+
export declare const BreadcrumbStaffAdmin: ({ tab, vitNodeConfig, }: {
|
|
3
|
+
tab: "admins" | "moderators";
|
|
4
|
+
vitNodeConfig?: VitNodeConfig;
|
|
5
|
+
}) => Promise<import("react").JSX.Element>;
|
|
6
|
+
//# sourceMappingURL=breadcrumb-staff-admin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breadcrumb-staff-admin.d.ts","sourceRoot":"","sources":["../../../../../../src/views/admin/layouts/breadcrumb/breadcrumb-staff-admin.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAItD,eAAO,MAAM,oBAAoB,GAAU,yBAGxC;IACD,GAAG,EAAE,QAAQ,GAAG,YAAY,CAAC;IAC7B,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,yCAaA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as _jsx}from"react/jsx-runtime";import{getTranslations}from"next-intl/server";import{BreadcrumbAdmin}from"./breadcrumb-admin.js";export const BreadcrumbStaffAdmin=async({tab,vitNodeConfig})=>{const t=await getTranslations("admin.staff");return _jsx(BreadcrumbAdmin,{labels:{"/admin/core/staff":t("title"),[`/admin/core/staff/${tab}`]:t(`tabs.${tab}`)},segments:["core","staff",tab],vitNodeConfig:vitNodeConfig})};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { PermissionStaffType } from "../../../../api/lib/permission-staff";
|
|
2
|
+
export declare const BreadcrumbStaffCreateAdmin: ({ type, }: {
|
|
3
|
+
type: PermissionStaffType;
|
|
4
|
+
}) => Promise<import("react").JSX.Element>;
|
|
5
|
+
//# sourceMappingURL=breadcrumb-staff-create-admin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breadcrumb-staff-create-admin.d.ts","sourceRoot":"","sources":["../../../../../../src/views/admin/layouts/breadcrumb/breadcrumb-staff-create-admin.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAItE,eAAO,MAAM,0BAA0B,GAAU,WAE9C;IACD,IAAI,EAAE,mBAAmB,CAAC;CAC3B,yCAiBA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as _jsx}from"react/jsx-runtime";import{getTranslations}from"next-intl/server";import{BreadcrumbAdmin}from"./breadcrumb-admin.js";export const BreadcrumbStaffCreateAdmin=async({type})=>{const[t,tCreate]=await Promise.all([getTranslations("admin.staff"),getTranslations("admin.staff.create")]);const tab=type==="admin"?"admins":"moderators";return _jsx(BreadcrumbAdmin,{labels:{"/admin/core/staff":t("title"),[`/admin/core/staff/${tab}`]:t(`tabs.${tab}`)},overrideLastLabel:tCreate("button"),segments:["core","staff",tab,"create"]})};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { PermissionStaffType } from "../../../../api/lib/permission-staff";
|
|
2
|
+
export declare const BreadcrumbStaffEditAdmin: ({ type, id, }: {
|
|
3
|
+
id: string;
|
|
4
|
+
type: PermissionStaffType;
|
|
5
|
+
}) => Promise<import("react").JSX.Element>;
|
|
6
|
+
//# sourceMappingURL=breadcrumb-staff-edit-admin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breadcrumb-staff-edit-admin.d.ts","sourceRoot":"","sources":["../../../../../../src/views/admin/layouts/breadcrumb/breadcrumb-staff-edit-admin.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAItE,eAAO,MAAM,wBAAwB,GAAU,eAG5C;IACD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,mBAAmB,CAAC;CAC3B,yCAcA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as _jsx}from"react/jsx-runtime";import{getTranslations}from"next-intl/server";import{BreadcrumbAdmin}from"./breadcrumb-admin.js";export const BreadcrumbStaffEditAdmin=async({type,id})=>{const t=await getTranslations("admin.staff");const tab=type==="admin"?"admins":"moderators";return _jsx(BreadcrumbAdmin,{labels:{"/admin/core/staff":t("title"),[`/admin/core/staff/${tab}`]:t(`tabs.${tab}`)},overrideLastLabel:t("edit.title"),segments:["core","staff",tab,id]})};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { VitNodeConfig } from "../../../../vitnode.config";
|
|
2
|
-
export declare const BreadcrumbUserAdmin: ({
|
|
3
|
-
|
|
2
|
+
export declare const BreadcrumbUserAdmin: ({ id, vitNodeConfig, }: {
|
|
3
|
+
id: string;
|
|
4
4
|
vitNodeConfig?: VitNodeConfig;
|
|
5
5
|
}) => Promise<import("react").JSX.Element>;
|
|
6
6
|
//# sourceMappingURL=breadcrumb-user-admin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumb-user-admin.d.ts","sourceRoot":"","sources":["../../../../../../src/views/admin/layouts/breadcrumb/breadcrumb-user-admin.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AActD,eAAO,MAAM,mBAAmB,GAAU,
|
|
1
|
+
{"version":3,"file":"breadcrumb-user-admin.d.ts","sourceRoot":"","sources":["../../../../../../src/views/admin/layouts/breadcrumb/breadcrumb-user-admin.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AActD,eAAO,MAAM,mBAAmB,GAAU,wBAGvC;IACD,EAAE,EAAE,MAAM,CAAC;IAEX,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,yCAiCA,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as _jsx}from"react/jsx-runtime";import{adminModule}from"../../../../api/modules/admin/admin.module.js";import{fetcher}from"../../../../lib/fetcher.js";import{getAdminNav}from"../sidebar/nav/get-admin-nav.js";import{BreadcrumbAdmin}from"./breadcrumb-admin.js";import{resolveBreadcrumb}from"./resolve-breadcrumb.js";export const BreadcrumbUserAdmin=async({
|
|
1
|
+
import{jsx as _jsx}from"react/jsx-runtime";import{adminModule}from"../../../../api/modules/admin/admin.module.js";import{fetcher}from"../../../../lib/fetcher.js";import{getAdminNav}from"../sidebar/nav/get-admin-nav.js";import{BreadcrumbAdmin}from"./breadcrumb-admin.js";import{resolveBreadcrumb}from"./resolve-breadcrumb.js";export const BreadcrumbUserAdmin=async({id,vitNodeConfig})=>{const segments=["core","users",id];const nav=await getAdminNav({vitNodeConfig});const isKnownRoute=resolveBreadcrumb(nav,segments).at(-1)?.isKnown??false;let overrideLastLabel;if(!isKnownRoute){const res=await fetcher(adminModule,{path:"/{id}",method:"get",module:"admin/users",args:{params:{id}}});if(res.ok){overrideLastLabel=(await res.json()).name}}return _jsx(BreadcrumbAdmin,{nav:nav,overrideLastLabel:overrideLastLabel,segments:segments,vitNodeConfig:vitNodeConfig})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-breadcrumb.d.ts","sourceRoot":"","sources":["../../../../../../src/views/admin/layouts/breadcrumb/resolve-breadcrumb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAY,MAAM,0BAA0B,CAAC;AAE1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,YAAY,EAAE,eAAe,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve-breadcrumb.d.ts","sourceRoot":"","sources":["../../../../../../src/views/admin/layouts/breadcrumb/resolve-breadcrumb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAY,MAAM,0BAA0B,CAAC;AAE1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,YAAY,EAAE,eAAe,EAAE,CAAC;AA6BhC,eAAO,MAAM,iBAAiB,GAC5B,KAAK,cAAc,EAAE,EACrB,UAAU,MAAM,EAAE,KACjB,eAAe,EAgBjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{humanize}from"../../../breadcrumb/crumb.js";const normalizeUrl=url=>url.endsWith("/")&&url.length>1?url.slice(0,-1):url;const flattenNav=nav=>{const labels=new Map;const setIfAbsent=(href,title)=>{if(href==null)return;const key=normalizeUrl(href);if(!labels.has(key))labels.set(key,title)};for(const parent of nav){for(const item of parent.items){setIfAbsent(item.href,item.title);for(const subItem of item.items??[]){setIfAbsent(subItem.href,subItem.title)}}}return labels};export const resolveBreadcrumb=(nav,segments)=>{const labels=flattenNav(nav);return segments.map((segment,index)=>{const href=`/admin/${segments.slice(0,index+1).join("/")}`;const known=labels.get(normalizeUrl(href));const isCurrent=index===segments.length-1;return{href,isCurrent,isKnown:known!==undefined,isLink:known!==undefined&&!isCurrent,label:known??humanize(segment)}})};
|
|
1
|
+
import{humanize}from"../../../breadcrumb/crumb.js";const normalizeUrl=url=>url.endsWith("/")&&url.length>1?url.slice(0,-1):url;const flattenNav=nav=>{const labels=new Map;const setIfAbsent=(href,title)=>{if(href==null)return;const key=normalizeUrl(href);if(!labels.has(key))labels.set(key,title)};for(const parent of nav){setIfAbsent(`/admin/${parent.id}`,parent.title);for(const item of parent.items){setIfAbsent(item.href,item.title);for(const subItem of item.items??[]){setIfAbsent(subItem.href,subItem.title)}}}return labels};export const resolveBreadcrumb=(nav,segments)=>{const labels=flattenNav(nav);return segments.map((segment,index)=>{const href=`/admin/${segments.slice(0,index+1).join("/")}`;const known=labels.get(normalizeUrl(href));const isCurrent=index===segments.length-1;return{href,isCurrent,isKnown:known!==undefined,isLink:known!==undefined&&!isCurrent,label:known??humanize(segment)}})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-admin-nav.d.ts","sourceRoot":"","sources":["../../../../../../../src/views/admin/layouts/sidebar/nav/get-admin-nav.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-admin-nav.d.ts","sourceRoot":"","sources":["../../../../../../../src/views/admin/layouts/sidebar/nav/get-admin-nav.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAE3C,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,EAAE,CAAC;IACnD,KAAK,EAAE,MAAM,CAAC;CACf;AAoED,eAAO,MAAM,WAAW,GAAU,qBAE/B;IACD,aAAa,CAAC,EAAE,aAAa,CAAC;CAC1B,KAAG,OAAO,CAAC,cAAc,EAAE,CAgJhC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as _jsx}from"react/jsx-runtime";import{LayoutDashboardIcon,UsersRoundIcon,WrenchIcon}from"lucide-react";import{getTranslations}from"next-intl/server";import{getVitNodeConfig}from"../../../../../vitnode.config.js";export const getAdminNav=async({vitNodeConfig=getVitNodeConfig()}={})=>{const t=await getTranslations();const core={id:"core",title:t("admin.global.nav.core"),items:[{href:"/admin/core/",icon:_jsx(LayoutDashboardIcon,{}),title:t("admin.global.nav.dashboard")},{title:"test",icon:_jsx(LayoutDashboardIcon,{}),href:"/admin/core/test"},{href:"/admin/core/users",title:t("admin.global.nav.users.title"),icon:_jsx(UsersRoundIcon,{}),items:[{title:t("admin.global.nav.users.list"),href:"/admin/core/users"},{title:t("admin.global.nav.users.roles"),href:"/admin/core/users/roles"}]},{href:"/admin/core/advanced",title:t("admin.global.nav.advanced.title"),icon:_jsx(WrenchIcon,{}),items:[{title:t("admin.global.nav.advanced.cron"),href:"/admin/core/advanced/cron"}]}]};const pluginNav=vitNodeConfig.plugins.filter(plugin=>plugin.admin?.nav).map(plugin=>({id:plugin.pluginId,title:t(`${plugin.pluginId}.title`),items:(plugin.admin?.nav??[]).map(item=>({
|
|
1
|
+
import{jsx as _jsx}from"react/jsx-runtime";import{LayoutDashboardIcon,ServerIcon,ShieldUserIcon,UsersRoundIcon,WrenchIcon}from"lucide-react";import{getTranslations}from"next-intl/server";import{hasStaffPermission}from"../../../../../api/lib/staff-permission.js";import{CONFIG_PLUGIN}from"../../../../../config.js";import{getSessionAdminApi}from"../../../../../lib/api/get-session-admin-api.js";import{getVitNodeConfig}from"../../../../../vitnode.config.js";const isAllowed=(permission,set)=>!permission||hasStaffPermission(set,permission);const filterNavItems=(items,set)=>{const result=[];for(const item of items){if(!isAllowed(item.permission,set))continue;if(item.items&&item.items.length>0){const visibleSubItems=item.items.filter(subItem=>isAllowed(subItem.permission,set));if(visibleSubItems.length===0)continue;result.push({href:item.href,icon:item.icon,isOpenInNewTab:item.isOpenInNewTab,title:item.title,items:visibleSubItems.map(subItem=>({href:subItem.href,isOpenInNewTab:subItem.isOpenInNewTab,title:subItem.title}))})}else{result.push({href:item.href,icon:item.icon,isOpenInNewTab:item.isOpenInNewTab,title:item.title})}}return result};export const getAdminNav=async({vitNodeConfig=getVitNodeConfig()}={})=>{const t=await getTranslations();const session=await getSessionAdminApi();const permissions=session?.permissions??{root:false,permissions:[]};const core={id:"core",title:t("admin.global.nav.core"),items:[{href:"/admin/core/",icon:_jsx(LayoutDashboardIcon,{}),title:t("admin.global.nav.dashboard")},{title:"test",icon:_jsx(LayoutDashboardIcon,{}),href:"/admin/core/test"},{href:"/admin/core/users",title:t("admin.global.nav.users.title"),icon:_jsx(UsersRoundIcon,{}),items:[{title:t("admin.global.nav.users.list"),href:"/admin/core/users",permission:{plugin:CONFIG_PLUGIN.pluginId,module:"users",permission:"can_view"}},{title:t("admin.global.nav.users.roles"),href:"/admin/core/users/roles"}]},{href:"/admin/core/staff",title:t("admin.global.nav.staff.title"),icon:_jsx(ShieldUserIcon,{}),items:[{title:t("admin.global.nav.staff.moderators"),href:"/admin/core/staff/moderators",permission:{plugin:CONFIG_PLUGIN.pluginId,module:"staff_moderators",permission:"can_view"}},{title:t("admin.global.nav.staff.admins"),href:"/admin/core/staff/admins",permission:{plugin:CONFIG_PLUGIN.pluginId,module:"staff_admins",permission:"can_view"}}]},{href:"/admin/core/system",title:t("admin.global.nav.system.title"),icon:_jsx(ServerIcon,{}),items:[{title:t("admin.global.nav.system.integrations"),href:"/admin/core/system/integrations",permission:{plugin:CONFIG_PLUGIN.pluginId,module:"system",permission:"can_view"}}]},{href:"/admin/core/advanced",title:t("admin.global.nav.advanced.title"),icon:_jsx(WrenchIcon,{}),items:[{title:t("admin.global.nav.advanced.cron"),href:"/admin/core/advanced/cron"},{title:t("admin.global.nav.advanced.queue"),href:"/admin/core/advanced/queue",permission:{plugin:CONFIG_PLUGIN.pluginId,module:"queue",permission:"can_view"}}]}]};const pluginNav=vitNodeConfig.plugins.filter(plugin=>plugin.admin?.nav).map(plugin=>({id:plugin.pluginId,title:t(`${plugin.pluginId}.title`),items:(plugin.admin?.nav??[]).map(item=>({href:item.href,icon:item.icon,isOpenInNewTab:item.isOpenInNewTab,title:t(`${plugin.pluginId}.admin.nav.${item.id}`),permission:item.permission?{plugin:plugin.pluginId,...item.permission}:undefined,items:item.items?.map(subItem=>({href:subItem.href,isOpenInNewTab:subItem.isOpenInNewTab,title:t(`${plugin.pluginId}.admin.nav.${item.id}.${subItem.id}`),permission:subItem.permission?{plugin:plugin.pluginId,...subItem.permission}:undefined}))??[]}))}));return[core,...pluginNav].map(group=>({id:group.id,title:group.title,items:filterNavItems(group.items,permissions)})).filter(group=>group.items.length>0)};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../../../../../../src/views/admin/layouts/sidebar/nav/item.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../../../../../../src/views/admin/layouts/sidebar/nav/item.tsx"],"names":[],"mappings":"AAsBA,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,YAAY,GAAI,+CAM1B,iBAAiB,GAAG;IACrB,KAAK,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,EAAE,CAAC;CAC3C,gCA4IA,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{ChevronRight,MenuIcon}from"lucide-react";import{Collapsible,CollapsibleContent,CollapsibleTrigger}from"../../../../../components/ui/collapsible.js";import{SidebarMenuButton,SidebarMenuItem,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,useSidebar}from"../../../../../components/ui/sidebar.js";import{useIsMobile}from"../../../../../hooks/use-mobile.js";import{Link,usePathname}from"../../../../../lib/navigation.js";import{cn}from"../../../../../lib/utils.js";export const ItemNavAdmin=({href,title,icon,items=[],isOpenInNewTab})=>{const{toggleSidebar}=useSidebar();const isMobile=useIsMobile();const pathname=usePathname();const normalizeUrl=url=>{return url.endsWith("/")&&url.length>1?url.slice(0,-1):url};const isActive=normalizeUrl(pathname)===normalizeUrl(href);const
|
|
1
|
+
"use client";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{ChevronRight,MenuIcon}from"lucide-react";import{useEffect,useState}from"react";import{Collapsible,CollapsibleContent,CollapsibleTrigger}from"../../../../../components/ui/collapsible.js";import{SidebarMenuButton,SidebarMenuItem,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,useSidebar}from"../../../../../components/ui/sidebar.js";import{useIsMobile}from"../../../../../hooks/use-mobile.js";import{Link,usePathname}from"../../../../../lib/navigation.js";import{cn}from"../../../../../lib/utils.js";export const ItemNavAdmin=({href,title,icon,items=[],isOpenInNewTab})=>{const{toggleSidebar}=useSidebar();const isMobile=useIsMobile();const pathname=usePathname();const normalizeUrl=url=>{return url.endsWith("/")&&url.length>1?url.slice(0,-1):url};const isPathnameUnderHref=candidate=>{const normalizedPathname=normalizeUrl(pathname);const normalizedHref=normalizeUrl(candidate);return normalizedPathname===normalizedHref||normalizedPathname.startsWith(`${normalizedHref}/`)};const isActive=normalizeUrl(pathname)===normalizeUrl(href);const activeChildHref=items.reduce((best,item)=>{if(!isPathnameUnderHref(item.href))return best;if(best===null)return item.href;return normalizeUrl(item.href).length>normalizeUrl(best).length?item.href:best},null);const hasActiveChild=activeChildHref!==null;const[open,setOpen]=useState(hasActiveChild);useEffect(()=>{if(hasActiveChild){setOpen(true)}},[hasActiveChild]);const content=_jsxs(_Fragment,{children:[icon??_jsx(MenuIcon,{}),_jsx("span",{children:title})]});if(!items.length){return _jsx(SidebarMenuItem,{children:_jsx(SidebarMenuButton,{isActive:isActive,render:_jsx(Link,{href:href,onClick:()=>{if(isMobile){toggleSidebar()}},rel:isOpenInNewTab?"noopener noreferrer":undefined,target:isOpenInNewTab?"_blank":undefined}),tooltip:title,children:content})})}return _jsxs(Collapsible,{onOpenChange:setOpen,open:open,render:_jsx(SidebarMenuItem,{}),children:[_jsxs(CollapsibleTrigger,{className:"group/collapsible",render:_jsx(SidebarMenuButton,{isActive:isActive||hasActiveChild,tooltip:title}),children:[content,_jsx(ChevronRight,{className:"ml-auto transition-transform duration-200 group-data-panel-open/collapsible:rotate-90"})]}),_jsx(CollapsibleContent,{className:cn("text-popover-foreground h-(--collapsible-panel-height) overflow-hidden transition-[height] duration-200 ease-out outline-none data-ending-style:h-0 data-starting-style:h-0"),children:_jsx(SidebarMenuSub,{children:items.map(item=>{const isChildActive=item.href===activeChildHref;return _jsx(SidebarMenuSubItem,{children:_jsx(SidebarMenuSubButton,{isActive:isChildActive,render:_jsx(Link,{href:item.href,onClick:()=>{if(isMobile){toggleSidebar()}},rel:item.isOpenInNewTab?"noopener noreferrer":undefined,target:item.isOpenInNewTab?"_blank":undefined}),children:item.title})},item.href)})})})]})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../../src/views/admin/layouts/user-bar/client.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../../src/views/admin/layouts/user-bar/client.tsx"],"names":[],"mappings":"AAgBA,eAAO,MAAM,kBAAkB,GAAI,WAEhC;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH,gCAyCA,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{BugIcon,HomeIcon,LogOut}from"lucide-react";import{useTranslations}from"next-intl";import{DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuSeparator}from"../../../../components/ui/dropdown-menu.js";import{Link}from"../../../../lib/navigation.js";import{logOutMutationApi}from"../../../layouts/theme/header/user/auth/log-out-mutation-api.js";export const ClientUserBarAdmin=({user})=>{const t=useTranslations("admin.global.nav.user_bar");return _jsxs(_Fragment,{children:[_jsx(DropdownMenuLabel,{className:"p-0 font-normal",children:_jsxs("div",{className:"flex flex-col px-2 py-2 text-left",children:[_jsx("span",{className:"font-medium",children:user.name}),_jsx("span",{className:"text-muted-foreground text-xs",children:user.email})]})}),_jsx(DropdownMenuSeparator,{}),_jsxs(DropdownMenuGroup,{children:[
|
|
1
|
+
"use client";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{BugIcon,HomeIcon,LogOut}from"lucide-react";import{useTranslations}from"next-intl";import{useAdminStaffPermission}from"../../../../components/staff-permission/provider.js";import{DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuSeparator}from"../../../../components/ui/dropdown-menu.js";import{CONFIG_PLUGIN}from"../../../../config.js";import{Link}from"../../../../lib/navigation.js";import{logOutMutationApi}from"../../../layouts/theme/header/user/auth/log-out-mutation-api.js";export const ClientUserBarAdmin=({user})=>{const t=useTranslations("admin.global.nav.user_bar");const canViewDebug=useAdminStaffPermission({plugin:CONFIG_PLUGIN.pluginId,module:"debug",permission:"can_view"});return _jsxs(_Fragment,{children:[_jsx(DropdownMenuLabel,{className:"p-0 font-normal",children:_jsxs("div",{className:"flex flex-col px-2 py-2 text-left",children:[_jsx("span",{className:"font-medium",children:user.name}),_jsx("span",{className:"text-muted-foreground text-xs",children:user.email})]})}),_jsx(DropdownMenuSeparator,{}),_jsxs(DropdownMenuGroup,{children:[_jsxs(DropdownMenuItem,{render:_jsx(Link,{href:"/",target:"_blank"}),children:[_jsx(HomeIcon,{}),t("home_page")]}),canViewDebug&&_jsxs(DropdownMenuItem,{render:_jsx(Link,{href:"/admin/core/debug"}),children:[_jsx(BugIcon,{}),t("debug")]})]}),_jsx(DropdownMenuSeparator,{}),_jsxs(DropdownMenuItem,{className:"text-destructive data-highlighted:text-destructive",onClick:async()=>{await logOutMutationApi({isAdmin:true})},children:[_jsx(LogOut,{}),t("log_out")]})]})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{Avatar}from"../../../../components/avatar.js";import{Button}from"../../../../components/ui/button.js";import{DropdownMenu,DropdownMenuContent,DropdownMenuTrigger}from"../../../../components/ui/dropdown-menu.js";import{ClientUserBarAdmin}from"./client.js";export const UserBarAdmin=({user})=>{return _jsxs(DropdownMenu,{children:[_jsx(DropdownMenuTrigger,{
|
|
1
|
+
"use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{Avatar}from"../../../../components/avatar.js";import{Button}from"../../../../components/ui/button.js";import{DropdownMenu,DropdownMenuContent,DropdownMenuTrigger}from"../../../../components/ui/dropdown-menu.js";import{ClientUserBarAdmin}from"./client.js";export const UserBarAdmin=({user})=>{return _jsxs(DropdownMenu,{children:[_jsx(DropdownMenuTrigger,{render:_jsx(Button,{"aria-label":user.name,size:"icon",variant:"ghost"}),children:_jsx(Avatar,{size:24,user:user})}),_jsx(DropdownMenuContent,{className:"w-(--anchor-width) min-w-56 rounded-lg",side:"bottom",sideOffset:4,children:_jsx(ClientUserBarAdmin,{user:user})})]})};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status-badge.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/views/admin/views/core/advanced/queue/badges/status-badge.tsx"],"names":[],"mappings":"AAUA,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,YAAY,CAAC;AAEhF,eAAO,MAAM,gBAAgB,GAAI,YAAY;IAAE,MAAM,EAAE,eAAe,CAAA;CAAE,gCAgCvE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{CircleCheckIcon,CircleXIcon,ClockIcon,LoaderIcon}from"lucide-react";import{useTranslations}from"next-intl";import{Badge}from"../../../../../../../components/ui/badge.js";export const QueueStatusBadge=({status})=>{const t=useTranslations("admin.advanced.queue.status");if(status==="processing"){return _jsxs(Badge,{className:"border-blue-500/50 bg-blue-500/10 text-blue-700 dark:text-blue-400",children:[_jsx(LoaderIcon,{className:"animate-spin"})," ",t("processing")]})}if(status==="completed"){return _jsxs(Badge,{className:"border-green-500/50 bg-green-500/10 text-green-700 dark:text-green-400",children:[_jsx(CircleCheckIcon,{})," ",t("completed")]})}if(status==="failed"){return _jsxs(Badge,{className:"border-destructive/50 bg-destructive/10 text-destructive",children:[_jsx(CircleXIcon,{})," ",t("failed")]})}return _jsxs(Badge,{variant:"secondary",children:[_jsx(ClockIcon,{})," ",t("pending")]})};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type SearchParamsDataTable } from "../../../../../../components/table/data-table";
|
|
2
|
+
export declare const QueueTableView: ({ searchParams, }: {
|
|
3
|
+
searchParams: Promise<SearchParamsDataTable & {
|
|
4
|
+
status?: string;
|
|
5
|
+
}>;
|
|
6
|
+
}) => Promise<import("react").JSX.Element>;
|
|
7
|
+
//# sourceMappingURL=queue-table-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-table-view.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/advanced/queue/queue-table-view.tsx"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,+BAA+B,CAAC;AAYvC,eAAO,MAAM,cAAc,GAAU,mBAElC;IACD,YAAY,EAAE,OAAO,CAAC,qBAAqB,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpE,yCAuFA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{getTranslations}from"next-intl/server";import{queueAdminModule}from"../../../../../../api/modules/admin/advanced/queue/queue.admin.module.js";import{DateFormat}from"../../../../../../components/date-format.js";import{DataTable}from"../../../../../../components/table/data-table.js";import{fetcher}from"../../../../../../lib/fetcher.js";import{QueueStatusBadge}from"./badges/status-badge.js";const QUEUE_STATUSES=["pending","processing","completed","failed"];export const QueueTableView=async({searchParams})=>{const query=await searchParams;const res=await fetcher(queueAdminModule,{path:"/",method:"get",module:"queue",prefixPath:"/admin/advanced",args:{query},withPagination:true});const[data,t]=await Promise.all([res.json(),getTranslations("admin.advanced.queue")]);return _jsx(DataTable,{columns:[{id:"name",label:t("list.name"),cell:({row})=>_jsxs("div",{className:"flex max-w-sm flex-col",children:[_jsx("span",{children:row.name}),_jsx("p",{className:"text-muted-foreground text-sm",children:row.pluginId})]})},{id:"queue",label:t("list.queue")},{id:"status",label:t("list.status"),cell:({row})=>_jsx(QueueStatusBadge,{status:row.status})},{id:"attempts",label:t("list.attempts"),cell:({row})=>`${row.attempts}/${row.maxAttempts}`},{id:"availableAt",label:t("list.availableAt"),cell:({row})=>_jsx(DateFormat,{date:row.availableAt,showFullDate:true})},{id:"createdAt",label:t("list.createdAt"),cell:({row})=>_jsx(DateFormat,{date:row.createdAt})},{id:"lastError",label:t("list.lastError"),cell:({row})=>row.lastError?_jsx("span",{className:"text-destructive line-clamp-2 max-w-xs text-sm",children:row.lastError}):_jsx("span",{className:"text-muted-foreground",children:"—"})}],edges:data.edges,filters:[{id:"status",label:t("list.statusFilter"),options:QUEUE_STATUSES.map(status=>({value:status,label:t(`status.${status}`)}))}],id:"queue-table",order:{columns:["createdAt","availableAt","status"],defaultOrder:{column:"createdAt",order:"desc"}},pageInfo:data.pageInfo})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutation-api.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/views/admin/views/core/debug/actions/clear-cache/mutation-api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mutation-api.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/views/admin/views/core/debug/actions/clear-cache/mutation-api.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,kBAAkB,qBAW9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use server";import{revalidatePath}from"next/cache";export const clearCacheMutation=async()=>{await Promise.resolve(revalidatePath("/","layout"))};
|
|
1
|
+
"use server";import{revalidatePath}from"next/cache";import{checkAdminPermissionApi}from"../../../../../../../lib/api/get-session-admin-api.js";export const clearCacheMutation=async()=>{const canClearCache=await checkAdminPermissionApi({module:"debug",permission:"can_clear_cache"});if(!canClearCache){throw new Error("Forbidden")}await Promise.resolve(revalidatePath("/","layout"))};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-view.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/debug/queue/queue-view.tsx"],"names":[],"mappings":"AAsBA,eAAO,MAAM,SAAS,4CAoErB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{getTranslations}from"next-intl/server";import{debugAdminModule}from"../../../../../../api/modules/admin/debug/debug.admin.module.js";import{DateFormat}from"../../../../../../components/date-format.js";import{Table,TableBody,TableCell,TableHead,TableHeader,TableRow}from"../../../../../../components/ui/table.js";import{fetcher}from"../../../../../../lib/fetcher.js";import{QueueStatusBadge}from"../../advanced/queue/badges/status-badge.js";const COUNT_STATUSES=["pending","processing","completed","failed"];export const QueueView=async()=>{const[t,res]=await Promise.all([getTranslations("admin.debug.queue"),fetcher(debugAdminModule,{prefixPath:"/admin",path:"/queue",method:"get",module:"debug"})]);const data=await res.json();return _jsxs("div",{className:"space-y-4",children:[_jsx("div",{className:"grid grid-cols-2 gap-3 sm:grid-cols-4",children:COUNT_STATUSES.map(status=>_jsxs("div",{className:"rounded-lg border p-3",children:[_jsx("p",{className:"text-muted-foreground text-sm",children:t(`counts.${status}`)}),_jsx("p",{className:"text-2xl font-semibold",children:data.counts[status]})]},status))}),data.active.length===0?_jsx("p",{className:"text-muted-foreground text-sm",children:t("empty")}):_jsx("div",{className:"rounded-md border",children:_jsxs(Table,{children:[_jsx(TableHeader,{children:_jsxs(TableRow,{children:[_jsx(TableHead,{children:t("list.name")}),_jsx(TableHead,{children:t("list.queue")}),_jsx(TableHead,{children:t("list.status")}),_jsx(TableHead,{children:t("list.attempts")}),_jsx(TableHead,{children:t("list.availableAt")})]})}),_jsx(TableBody,{children:data.active.map(task=>_jsxs(TableRow,{children:[_jsx(TableCell,{children:_jsxs("div",{className:"flex flex-col",children:[_jsx("span",{children:task.name}),_jsx("span",{className:"text-muted-foreground text-sm",children:task.pluginId})]})}),_jsx(TableCell,{children:task.queue}),_jsx(TableCell,{children:_jsx(QueueStatusBadge,{status:task.status})}),_jsxs(TableCell,{children:[task.attempts,"/",task.maxAttempts]}),_jsx(TableCell,{children:_jsx(DateFormat,{date:task.availableAt,showFullDate:true})})]},task.id))})]})})]})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"more.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/views/admin/views/core/debug/system-logs/actions/more/more.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,QAAA,MAAM,2BAA2B;;;;;;;;;;;;;;;;EAIhC,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,OAAO,KAAK,CAAC,cAAc,CAAC,OAAO,2BAA2B,CAAC,
|
|
1
|
+
{"version":3,"file":"more.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/views/admin/views/core/debug/system-logs/actions/more/more.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,QAAA,MAAM,2BAA2B;;;;;;;;;;;;;;;;EAIhC,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,OAAO,KAAK,CAAC,cAAc,CAAC,OAAO,2BAA2B,CAAC,sBAmChE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{SearchIcon}from"lucide-react";import{useTranslations}from"next-intl";import dynamic from"next/dynamic";import React from"react";import{Button}from"../../../../../../../../components/ui/button.js";import{Dialog,DialogContent,DialogDescription,DialogHeader,DialogTitle,DialogTrigger}from"../../../../../../../../components/ui/dialog.js";import{Loader}from"../../../../../../../../components/ui/loader.js";import{TooltipWithContent}from"../../../../../../../../components/ui/tooltip.js";const ContentMoreActionSystemLogs=dynamic(async()=>import("./content.js").then(module=>({default:module.ContentMoreActionSystemLogs})));export const MoreActionSystemLogs=props=>{const t=useTranslations("admin.debug.logs.more");return _jsxs(Dialog,{children:[_jsx(TooltipWithContent,{text:t("title"),children:_jsx(DialogTrigger,{
|
|
1
|
+
"use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{SearchIcon}from"lucide-react";import{useTranslations}from"next-intl";import dynamic from"next/dynamic";import React from"react";import{Button}from"../../../../../../../../components/ui/button.js";import{Dialog,DialogContent,DialogDescription,DialogHeader,DialogTitle,DialogTrigger}from"../../../../../../../../components/ui/dialog.js";import{Loader}from"../../../../../../../../components/ui/loader.js";import{TooltipWithContent}from"../../../../../../../../components/ui/tooltip.js";const ContentMoreActionSystemLogs=dynamic(async()=>import("./content.js").then(module=>({default:module.ContentMoreActionSystemLogs})));export const MoreActionSystemLogs=props=>{const t=useTranslations("admin.debug.logs.more");return _jsxs(Dialog,{children:[_jsx(TooltipWithContent,{text:t("title"),children:_jsx(DialogTrigger,{render:_jsx(Button,{"aria-label":t("title"),size:"icon",variant:"ghost"}),children:_jsx(SearchIcon,{})})}),_jsxs(DialogContent,{className:"sm:max-w-4xl",children:[_jsxs(DialogHeader,{children:[_jsxs(DialogTitle,{className:"flex items-center gap-2",children:[_jsx(SearchIcon,{className:"size-5"}),t("title")]}),_jsx(DialogDescription,{children:t.rich("desc",{logId:()=>_jsxs("span",{className:"font-semibold",children:["#",props.id]})})})]}),_jsx(React.Suspense,{fallback:_jsx(Loader,{}),children:_jsx(ContentMoreActionSystemLogs,{...props})})]})]})};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { PermissionStaffType } from "../../../../../../api/lib/permission-staff";
|
|
2
|
+
export declare const CreateStaffPermissionsView: ({ type, }: {
|
|
3
|
+
type: PermissionStaffType;
|
|
4
|
+
}) => Promise<import("react").JSX.Element>;
|
|
5
|
+
//# sourceMappingURL=create-staff-permissions-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-staff-permissions-view.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/staff/create/create-staff-permissions-view.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAUtE,eAAO,MAAM,0BAA0B,GAAU,WAE9C;IACD,IAAI,EAAE,mBAAmB,CAAC;CAC3B,yCAqCA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{ArrowLeftIcon}from"lucide-react";import{getTranslations}from"next-intl/server";import{notFound}from"next/navigation";import{staffPermissionModuleByType}from"../../../../../../api/modules/admin/staff/lib/schema.js";import{Button}from"../../../../../../components/ui/button.js";import{HeaderContent}from"../../../../../../components/ui/header-content.js";import{checkAdminPermissionApi}from"../../../../../../lib/api/get-session-admin-api.js";import{Link}from"../../../../../../lib/navigation.js";import{CreateStaffPermissionsForm}from"./form.js";export const CreateStaffPermissionsView=async({type})=>{const[t,canCreate]=await Promise.all([getTranslations("admin.staff.create"),checkAdminPermissionApi({module:staffPermissionModuleByType[type],permission:"can_create"})]);if(!canCreate){notFound()}const backHref=type==="admin"?"/admin/core/staff/admins":"/admin/core/staff/moderators";return _jsxs(_Fragment,{children:[_jsx(HeaderContent,{desc:t("desc"),h1:t(type==="admin"?"admins":"moderators"),children:_jsxs(Button,{nativeButton:false,render:_jsx(Link,{href:backHref}),variant:"outline",children:[_jsx(ArrowLeftIcon,{}),t("back")]})}),_jsx(CreateStaffPermissionsForm,{type:type})]})};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { PermissionStaffType } from "../../../../../../api/lib/permission-staff";
|
|
3
|
+
export declare const CreateStaffPermissionsForm: ({ type, }: {
|
|
4
|
+
type: PermissionStaffType;
|
|
5
|
+
}) => React.JSX.Element;
|
|
6
|
+
//# sourceMappingURL=form.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/staff/create/form.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAiItE,eAAO,MAAM,0BAA0B,GAAI,WAExC;IACD,IAAI,EAAE,mBAAmB,CAAC;CAC3B,sBA6IA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{ChevronsUpDownIcon,ShieldIcon,UserIcon}from"lucide-react";import{useLocale,useTranslations}from"next-intl";import React from"react";import{toast}from"sonner";import{useDebouncedCallback}from"use-debounce";import{Avatar}from"../../../../../../components/avatar.js";import{Button}from"../../../../../../components/ui/button.js";import{Command,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList}from"../../../../../../components/ui/command.js";import{Popover,PopoverContent,PopoverTrigger}from"../../../../../../components/ui/popover.js";import{Spinner}from"../../../../../../components/ui/spinner.js";import{useRouter}from"../../../../../../lib/navigation.js";import{searchRolesForUser}from"../../users/show/roles/search-roles.action.js";import{SelectableCard}from"../selectable-card.js";import{createStaffEntry}from"./mutation-api.js";import{searchUsersForStaff}from"./search.action.js";const roleName=(role,locale)=>role.name.find(item=>item.languageCode===locale)?.name??role.name[0]?.name??"";function EntityPicker({search,getKey,renderItem,placeholder,onSelect,trigger}){const t=useTranslations("core.global");const[open,setOpen]=React.useState(false);const[options,setOptions]=React.useState([]);const[isSearching,setIsSearching]=React.useState(false);const runSearch=React.useCallback(async value=>{setIsSearching(true);try{setOptions(await search(value))}catch(error){console.error(error);setOptions([])}finally{setIsSearching(false)}},[search]);const debouncedSearch=useDebouncedCallback(runSearch,400);return _jsxs(Popover,{onOpenChange:next=>{setOpen(next);if(next){setOptions([]);void runSearch("")}},open:open,children:[_jsxs(PopoverTrigger,{render:_jsx(Button,{className:"w-full justify-start font-normal",variant:"outline"}),children:[trigger,_jsx(ChevronsUpDownIcon,{className:"ms-auto opacity-50"})]}),_jsx(PopoverContent,{align:"start",className:"w-(--anchor-width) min-w-56 p-0",children:_jsxs(Command,{shouldFilter:false,children:[_jsx(CommandInput,{onValueChange:debouncedSearch,placeholder:placeholder}),_jsx(CommandList,{children:isSearching&&options.length===0?_jsx("div",{className:"flex items-center justify-center py-6",children:_jsx(Spinner,{})}):_jsxs(_Fragment,{children:[_jsx(CommandEmpty,{children:t("results_not_found")}),_jsx(CommandGroup,{children:options.map(item=>_jsx(CommandItem,{onSelect:()=>{onSelect(item);setOpen(false)},value:getKey(item),children:renderItem(item)},getKey(item)))})]})})]})})]})}export const CreateStaffPermissionsForm=({type})=>{const t=useTranslations("admin.staff.create");const locale=useLocale();const router=useRouter();const[target,setTarget]=React.useState("role");const[role,setRole]=React.useState(null);const[user,setUser]=React.useState(null);const[isLoading,setIsLoading]=React.useState(false);const onSubmit=async()=>{let payload=null;if(target==="role"){if(role)payload={roleId:role.id}}else{if(user)payload={userId:user.id}}if(!payload)return;setIsLoading(true);const result=await createStaffEntry({type,...payload});if(result.error){setIsLoading(false);toast.error(result.error.status===409?t("already_exists"):t("error"));return}toast.success(t("success"));router.push(`/admin/core/staff/${type==="admin"?"admins":"moderators"}/edit/${result.data?.id}`)};const canSubmit=target==="role"?Boolean(role):Boolean(user);return _jsxs("div",{className:"max-w-2xl space-y-6",children:[_jsxs("div",{className:"space-y-3",children:[_jsx("h2",{className:"text-muted-foreground text-xs font-semibold tracking-wide uppercase",children:t("assign_to")}),_jsxs("div",{className:"grid gap-3 sm:grid-cols-2",children:[_jsx(SelectableCard,{description:t("tabs.role_desc"),icon:_jsx("span",{className:"bg-primary/10 text-primary flex size-10 shrink-0 items-center justify-center rounded-lg",children:_jsx(ShieldIcon,{className:"size-5"})}),onSelect:()=>setTarget("role"),selected:target==="role",title:t("tabs.role")}),_jsx(SelectableCard,{description:t("tabs.user_desc"),icon:_jsx("span",{className:"bg-muted text-muted-foreground flex size-10 shrink-0 items-center justify-center rounded-lg",children:_jsx(UserIcon,{className:"size-5"})}),onSelect:()=>setTarget("user"),selected:target==="user",title:t("tabs.user")})]})]}),_jsx("div",{className:"space-y-2",children:target==="role"?_jsx(EntityPicker,{getKey:item=>String(item.id),onSelect:setRole,placeholder:t("select_role"),renderItem:item=>_jsx("span",{className:"truncate font-medium",style:item.color?{color:item.color}:undefined,children:roleName(item,locale)}),search:searchRolesForUser,trigger:role?_jsx("span",{className:"truncate font-medium",style:role.color?{color:role.color}:undefined,children:roleName(role,locale)}):_jsx("span",{className:"text-muted-foreground",children:t("select_role")})}):_jsx(EntityPicker,{getKey:item=>String(item.id),onSelect:setUser,placeholder:t("search_user"),renderItem:item=>_jsxs("div",{className:"flex items-center gap-2",children:[_jsx(Avatar,{size:24,user:item}),_jsx("span",{className:"font-medium",children:item.name}),_jsxs("span",{className:"text-muted-foreground text-sm",children:["@",item.nameCode]})]}),search:searchUsersForStaff,trigger:user?_jsxs("span",{className:"flex items-center gap-2",children:[_jsx(Avatar,{size:20,user:user}),user.name]}):_jsx("span",{className:"text-muted-foreground",children:t("search_user")})})}),_jsx("div",{className:"flex justify-end",children:_jsx(Button,{disabled:!canSubmit,isLoading:isLoading,onClick:onSubmit,children:t("submit")})})]})};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { PermissionStaffType } from "../../../../../../api/lib/permission-staff";
|
|
2
|
+
export declare const createStaffEntry: ({ type, roleId, userId, }: {
|
|
3
|
+
roleId?: number;
|
|
4
|
+
type: PermissionStaffType;
|
|
5
|
+
userId?: number;
|
|
6
|
+
}) => Promise<{
|
|
7
|
+
data?: {
|
|
8
|
+
id: number;
|
|
9
|
+
};
|
|
10
|
+
error?: {
|
|
11
|
+
status: number;
|
|
12
|
+
};
|
|
13
|
+
}>;
|
|
14
|
+
//# sourceMappingURL=mutation-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation-api.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/staff/create/mutation-api.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAKtE,eAAO,MAAM,gBAAgB,GAAU,2BAIpC;IACD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,KAAG,OAAO,CAAC;IAAE,IAAI,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAkBhE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use server";import{revalidatePath}from"next/cache";import{adminModule}from"../../../../../../api/modules/admin/admin.module.js";import{fetcher}from"../../../../../../lib/fetcher.js";export const createStaffEntry=async({type,roleId,userId})=>{const res=await fetcher(adminModule,{path:"/entry/{type}",method:"post",module:"admin/staff",args:{params:{type},body:{roleId,userId}}});if(res.status!==201){return{error:{status:res.status}}}revalidatePath("/[locale]/admin","layout");return{data:await res.json()}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.action.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/staff/create/search.action.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,MAAM,KACb,OAAO,CAAC,eAAe,EAAE,CAuB3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use server";import{adminModule}from"../../../../../../api/modules/admin/admin.module.js";import{fetcher}from"../../../../../../lib/fetcher.js";export const searchUsersForStaff=async search=>{const res=await fetcher(adminModule,{path:"/list",method:"get",module:"admin/users",args:{query:{search,first:"20"}},withPagination:true});if(res.status!==200){return[]}const data=await res.json();return data.edges.map(user=>({id:user.id,name:user.name,nameCode:user.nameCode,avatarColor:user.avatarColor}))};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { PermissionStaffType } from "../../../../../../api/lib/permission-staff";
|
|
2
|
+
interface EditStaffPermissionsViewProps {
|
|
3
|
+
id: string;
|
|
4
|
+
type: PermissionStaffType;
|
|
5
|
+
}
|
|
6
|
+
export declare const EditStaffPermissionsView: ({ type, id, }: EditStaffPermissionsViewProps) => Promise<import("react").JSX.Element>;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=edit-staff-permissions-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit-staff-permissions-view.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/staff/edit/edit-staff-permissions-view.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAetE,UAAU,6BAA6B;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,mBAAmB,CAAC;CAC3B;AAED,eAAO,MAAM,wBAAwB,GAAU,eAG5C,6BAA6B,yCAqI/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{ArrowLeftIcon}from"lucide-react";import{getTranslations}from"next-intl/server";import{notFound}from"next/navigation";import{staffPermissionKey}from"../../../../../../api/lib/staff-permission.js";import{adminModule}from"../../../../../../api/modules/admin/admin.module.js";import{staffPermissionModuleByType}from"../../../../../../api/modules/admin/staff/lib/schema.js";import{RoleFormat}from"../../../../../../components/role-format.js";import{Button}from"../../../../../../components/ui/button.js";import{HeaderContent}from"../../../../../../components/ui/header-content.js";import{checkAdminPermissionApi}from"../../../../../../lib/api/get-session-admin-api.js";import{fetcher}from"../../../../../../lib/fetcher.js";import{Link}from"../../../../../../lib/navigation.js";import{StaffUserFormat}from"../table/staff-user-format.js";import{EditStaffPermissionsForm}from"./form.js";export const EditStaffPermissionsView=async({type,id})=>{const canEdit=await checkAdminPermissionApi({module:staffPermissionModuleByType[type],permission:"can_edit"});if(!canEdit){notFound()}const t=await getTranslations("admin.staff.edit");const tRoot=await getTranslations();const[catalogRes,entryRes]=await Promise.all([fetcher(adminModule,{path:"/permission-catalog",method:"get",module:"admin/staff"}),fetcher(adminModule,{path:"/entry/{type}/{id}",method:"get",module:"admin/staff",args:{params:{type,id}}})]);if(entryRes.status!==200||catalogRes.status!==200){notFound()}const catalog=await catalogRes.json();const entry=await entryRes.json();const granted=new Set(entry.permissions.map(permission=>staffPermissionKey(permission)));const plugins=catalog.map(plugin=>{const modules=Object.entries(plugin[type]).map(([module,permissions])=>({module,label:tRoot.has(`${plugin.pluginId}:${module}`)?tRoot(`${plugin.pluginId}:${module}`):module,permissions:permissions.map(entry=>{const args={plugin:plugin.pluginId,module,permission:entry.permission};const key=staffPermissionKey(args);return{...args,key,checked:granted.has(key),label:tRoot.has(key)?tRoot(key):entry.permission,dependsOn:entry.dependsOn.map(dependency=>staffPermissionKey({plugin:plugin.pluginId,module,permission:dependency}))}})})).filter(module=>module.permissions.length>0);return{pluginId:plugin.pluginId,label:tRoot.has(`${plugin.pluginId}.title`)?tRoot(`${plugin.pluginId}.title`):plugin.pluginId,modules}}).filter(plugin=>plugin.modules.length>0);const backHref=type==="admin"?"/admin/core/staff/admins":"/admin/core/staff/moderators";return _jsxs(_Fragment,{children:[_jsx(HeaderContent,{desc:_jsxs("div",{className:"flex items-center gap-2",children:[t("subject"),entry.role?_jsx(RoleFormat,{role:entry.role}):entry.user?_jsx(StaffUserFormat,{user:entry.user}):null]}),h1:t("title"),children:_jsxs(Button,{nativeButton:false,render:_jsx(Link,{href:backHref}),variant:"outline",children:[_jsx(ArrowLeftIcon,{}),t("back")]})}),entry.protected?_jsx("p",{className:"text-muted-foreground",children:t("protected")}):entry.self?_jsx("p",{className:"text-muted-foreground",children:t("self")}):_jsx(EditStaffPermissionsForm,{id:id,plugins:plugins,type:type,unrestricted:entry.unrestricted})]})};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { PermissionStaffType } from "../../../../../../api/lib/permission-staff";
|
|
3
|
+
interface PermissionItem {
|
|
4
|
+
checked: boolean;
|
|
5
|
+
dependsOn: string[];
|
|
6
|
+
key: string;
|
|
7
|
+
label: string;
|
|
8
|
+
module: string;
|
|
9
|
+
permission: string;
|
|
10
|
+
plugin: string;
|
|
11
|
+
}
|
|
12
|
+
interface ModuleGroup {
|
|
13
|
+
label: string;
|
|
14
|
+
module: string;
|
|
15
|
+
permissions: PermissionItem[];
|
|
16
|
+
}
|
|
17
|
+
export interface PluginGroup {
|
|
18
|
+
label: string;
|
|
19
|
+
modules: ModuleGroup[];
|
|
20
|
+
pluginId: string;
|
|
21
|
+
}
|
|
22
|
+
export declare const EditStaffPermissionsForm: ({ type, id, plugins, unrestricted: defaultUnrestricted, }: {
|
|
23
|
+
id: string;
|
|
24
|
+
plugins: PluginGroup[];
|
|
25
|
+
type: PermissionStaffType;
|
|
26
|
+
unrestricted: boolean;
|
|
27
|
+
}) => React.JSX.Element;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=form.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/staff/edit/form.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAgBtE,UAAU,cAAc;IACtB,OAAO,EAAE,OAAO,CAAC;IAGjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,cAAc,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAqKD,eAAO,MAAM,wBAAwB,GAAI,2DAKtC;IACD,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;CACvB,sBAoVA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{CheckIcon,ChevronRightIcon,LockIcon,SearchIcon,ShieldCheckIcon,SparklesIcon}from"lucide-react";import{useTranslations}from"next-intl";import React from"react";import{toast}from"sonner";import{Button}from"../../../../../../components/ui/button.js";import{Input}from"../../../../../../components/ui/input.js";import{Switch}from"../../../../../../components/ui/switch.js";import{useRouter}from"../../../../../../lib/navigation.js";import{cn}from"../../../../../../lib/utils.js";import{SelectableCard}from"../selectable-card.js";import{updateStaffPermissions}from"./mutation-api.js";const listHref=type=>type==="admin"?"/admin/core/staff/admins":"/admin/core/staff/moderators";const countGranted=(permissions,checked)=>permissions.reduce((total,item)=>total+(checked.has(item.key)?1:0),0);const CountBadge=({granted,total})=>{const isFull=total>0&&granted===total;return _jsxs("span",{className:cn("rounded-md px-1.5 py-0.5 text-xs font-medium tabular-nums",isFull?"bg-emerald-500/10 text-emerald-600 dark:text-emerald-400":"bg-muted text-muted-foreground"),children:[granted,"/",total]})};const PermissionRow=({permission,checked,labelByKey,onToggle,t})=>{const isChecked=checked.has(permission.key);const locked=!permission.dependsOn.every(dependency=>checked.has(dependency));const requires=permission.dependsOn.map(dependency=>labelByKey.get(dependency)??dependency).join(", ");return _jsxs("label",{className:cn("flex items-center gap-3 px-4 py-3 transition-colors",!locked&&"hover:bg-muted/40"),children:[_jsx("span",{className:cn("flex size-5 shrink-0 items-center justify-center rounded-md transition-colors",locked?"bg-muted text-muted-foreground":isChecked?"bg-primary text-primary-foreground":"border-input border"),children:locked?_jsx(LockIcon,{className:"size-3"}):isChecked?_jsx(CheckIcon,{className:"size-3.5"}):null}),_jsxs("div",{className:"min-w-0 flex-1",children:[_jsx("p",{className:cn("text-sm leading-none",locked&&"text-muted-foreground"),children:permission.label}),locked?_jsx("p",{className:"text-muted-foreground mt-1 text-xs",children:t("requires",{permission:requires})}):null]}),_jsx(Switch,{checked:isChecked,disabled:locked,onCheckedChange:value=>onToggle(permission.key,value)})]})};const ModuleSection=({module,checked,labelByKey,open,onOpenChange,onToggle,onToggleModule,t})=>{const granted=countGranted(module.permissions,checked);const total=module.permissions.length;const isFull=total>0&&granted===total;return _jsxs("div",{className:"bg-card overflow-hidden rounded-xl border",children:[_jsxs("div",{className:"flex items-center gap-2 p-3 sm:gap-3 sm:px-4",children:[_jsxs("button",{"aria-expanded":open,className:"flex min-w-0 flex-1 items-center gap-3 text-left outline-none",onClick:()=>onOpenChange(!open),type:"button",children:[_jsx(ChevronRightIcon,{className:cn("text-muted-foreground size-4 shrink-0 transition-transform",open&&"rotate-90")}),_jsx("span",{className:"truncate text-sm font-semibold sm:text-base",children:module.label})]}),_jsx(CountBadge,{granted:granted,total:total}),_jsx(Switch,{checked:isFull,onCheckedChange:value=>onToggleModule(module,value)})]}),open?_jsx("div",{className:"divide-y border-t",children:module.permissions.map(permission=>_jsx(PermissionRow,{checked:checked,labelByKey:labelByKey,onToggle:onToggle,permission:permission,t:t},permission.key))}):null]})};export const EditStaffPermissionsForm=({type,id,plugins,unrestricted:defaultUnrestricted})=>{const t=useTranslations("admin.staff.edit");const router=useRouter();const[mode,setMode]=React.useState(defaultUnrestricted?"unrestricted":"restricted");const[checked,setChecked]=React.useState(()=>new Set(plugins.flatMap(plugin=>plugin.modules.flatMap(module=>module.permissions.filter(permission=>permission.checked).map(permission=>permission.key)))));const[isLoading,setIsLoading]=React.useState(false);const[query,setQuery]=React.useState("");const[selectedPluginId,setSelectedPluginId]=React.useState(()=>plugins[0]?.pluginId??"");const[openModules,setOpenModules]=React.useState(()=>new Set);const allItems=React.useMemo(()=>plugins.flatMap(plugin=>plugin.modules.flatMap(module=>module.permissions)),[plugins]);const labelByKey=React.useMemo(()=>{const map=new Map;for(const item of allItems)map.set(item.key,item.label);return map},[allItems]);const dependentsByKey=React.useMemo(()=>{const map=new Map;for(const item of allItems){for(const dependency of item.dependsOn){map.set(dependency,[...map.get(dependency)??[],item.key])}}return map},[allItems]);const filteredPlugins=React.useMemo(()=>{const value=query.trim().toLowerCase();if(!value)return plugins;return plugins.filter(plugin=>plugin.label.toLowerCase().includes(value)||plugin.pluginId.toLowerCase().includes(value))},[plugins,query]);const selectedPlugin=filteredPlugins.find(plugin=>plugin.pluginId===selectedPluginId)??filteredPlugins[0];const toggle=(key,value)=>{setChecked(prev=>{const next=new Set(prev);if(value){next.add(key);return next}const stack=[key];while(stack.length>0){const current=stack.pop();if(current===undefined)break;next.delete(current);for(const dependent of dependentsByKey.get(current)??[]){if(next.has(dependent))stack.push(dependent)}}return next})};const setKeysChecked=(keys,value)=>{setChecked(prev=>{const next=new Set(prev);for(const key of keys){if(value){next.add(key)}else{next.delete(key)}}return next})};const setPluginChecked=(plugin,value)=>{setKeysChecked(plugin.modules.flatMap(module=>module.permissions.map(permission=>permission.key)),value)};const setModuleChecked=(module,value)=>{setKeysChecked(module.permissions.map(permission=>permission.key),value)};const onSubmit=async()=>{const unrestricted=mode==="unrestricted";setIsLoading(true);const permissions=unrestricted?[]:allItems.filter(item=>checked.has(item.key)&&item.dependsOn.every(dependency=>checked.has(dependency))).map(({plugin,module,permission})=>({plugin,module,permission}));const result=await updateStaffPermissions({type,id,unrestricted,permissions});if(result.error){setIsLoading(false);toast.error(t("error"));return}toast.success(t("success"));router.push(listHref(type))};return _jsxs("div",{className:"space-y-6",children:[_jsxs("div",{className:"space-y-3",children:[_jsx("h2",{className:"text-muted-foreground text-xs font-semibold tracking-wide uppercase",children:t("mode.label")}),_jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[_jsx(SelectableCard,{description:t("mode.unrestricted.desc"),icon:_jsx("span",{className:"flex size-10 shrink-0 items-center justify-center rounded-lg bg-amber-500/10 text-amber-500",children:_jsx(SparklesIcon,{className:"size-5"})}),onSelect:()=>setMode("unrestricted"),selected:mode==="unrestricted",title:t("mode.unrestricted.label")}),_jsx(SelectableCard,{description:t("mode.restricted.desc"),icon:_jsx("span",{className:"bg-primary/10 text-primary flex size-10 shrink-0 items-center justify-center rounded-lg",children:_jsx(ShieldCheckIcon,{className:"size-5"})}),onSelect:()=>setMode("restricted"),selected:mode==="restricted",title:t("mode.restricted.label")})]})]}),mode==="restricted"&&(plugins.length===0?_jsx("p",{className:"text-muted-foreground",children:t("no_permissions")}):_jsxs("div",{className:"flex flex-col gap-4 lg:flex-row",children:[_jsxs("aside",{className:"flex flex-col gap-3 lg:sticky lg:top-4 lg:w-72 lg:shrink-0 lg:self-start",children:[_jsxs("div",{className:"relative",children:[_jsx(SearchIcon,{className:"text-muted-foreground pointer-events-none absolute inset-s-2.5 top-1/2 size-4 -translate-y-1/2"}),_jsx(Input,{className:"ps-8",onChange:event=>setQuery(event.target.value),placeholder:t("search_plugins"),value:query})]}),_jsx("div",{className:"flex flex-col gap-1",children:filteredPlugins.map(plugin=>{const isSelected=plugin.pluginId===selectedPlugin?.pluginId;const total=plugin.modules.reduce((sum,module)=>sum+module.permissions.length,0);const granted=plugin.modules.reduce((sum,module)=>sum+countGranted(module.permissions,checked),0);return _jsxs("button",{className:cn("flex w-full items-center gap-3 rounded-lg border p-2.5 text-left transition-colors outline-none",isSelected?"border-primary/40 bg-primary/4":"hover:bg-muted/50 border-transparent"),onClick:()=>setSelectedPluginId(plugin.pluginId),type:"button",children:[_jsx("span",{className:cn("flex size-9 shrink-0 items-center justify-center rounded-md text-sm font-semibold uppercase",isSelected?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground"),children:plugin.label.charAt(0)}),_jsxs("div",{className:"min-w-0 flex-1",children:[_jsx("p",{className:"truncate text-sm font-medium",children:plugin.label}),_jsx("p",{className:"text-muted-foreground text-xs",children:t("granted",{granted,total})})]})]},plugin.pluginId)})})]}),_jsx("div",{className:"min-w-0 flex-1 space-y-3",children:selectedPlugin?_jsxs(_Fragment,{children:[_jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[_jsxs("div",{className:"min-w-0",children:[_jsx("p",{className:"truncate text-base font-semibold",children:selectedPlugin.label}),_jsx("p",{className:"text-muted-foreground truncate text-sm",children:selectedPlugin.pluginId})]}),_jsxs("div",{className:"text-muted-foreground flex items-center gap-1 text-sm",children:[_jsx("button",{className:"hover:text-foreground font-medium transition-colors",onClick:()=>setPluginChecked(selectedPlugin,true),type:"button",children:t("select_all")}),_jsx("span",{"aria-hidden":true,children:"·"}),_jsx("button",{className:"hover:text-foreground font-medium transition-colors",onClick:()=>setPluginChecked(selectedPlugin,false),type:"button",children:t("clear_all")})]})]}),selectedPlugin.modules.map(module=>{const moduleKey=`${selectedPlugin.pluginId}:${module.module}`;return _jsx(ModuleSection,{checked:checked,labelByKey:labelByKey,module:module,onOpenChange:value=>setOpenModules(prev=>{const next=new Set(prev);if(value){next.add(moduleKey)}else{next.delete(moduleKey)}return next}),onToggle:toggle,onToggleModule:setModuleChecked,open:openModules.has(moduleKey),t:t},moduleKey)})]}):_jsx("p",{className:"text-muted-foreground py-8 text-center text-sm",children:t("search_empty")})})]})),_jsx("div",{className:"flex justify-end",children:_jsx(Button,{isLoading:isLoading,onClick:onSubmit,children:t("save")})})]})};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { PermissionsStaffArgs, PermissionStaffType } from "../../../../../../api/lib/permission-staff";
|
|
2
|
+
export declare const updateStaffPermissions: ({ type, id, unrestricted, permissions, }: {
|
|
3
|
+
id: string;
|
|
4
|
+
permissions: PermissionsStaffArgs[];
|
|
5
|
+
type: PermissionStaffType;
|
|
6
|
+
unrestricted: boolean;
|
|
7
|
+
}) => Promise<{
|
|
8
|
+
data?: true;
|
|
9
|
+
error?: {
|
|
10
|
+
status: number;
|
|
11
|
+
};
|
|
12
|
+
}>;
|
|
13
|
+
//# sourceMappingURL=mutation-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation-api.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/staff/edit/mutation-api.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AAKpC,eAAO,MAAM,sBAAsB,GAAU,0CAK1C;IACD,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;CACvB,KAAG,OAAO,CAAC;IAAE,IAAI,CAAC,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAkBtD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use server";import{revalidatePath}from"next/cache";import{adminModule}from"../../../../../../api/modules/admin/admin.module.js";import{fetcher}from"../../../../../../lib/fetcher.js";export const updateStaffPermissions=async({type,id,unrestricted,permissions})=>{const res=await fetcher(adminModule,{path:"/entry/{type}/{id}",method:"patch",module:"admin/staff",args:{params:{type,id},body:{unrestricted,permissions}}});if(res.status!==200){return{error:{status:res.status}}}revalidatePath("/[locale]/admin","layout");return{data:true}};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface SelectableCardProps {
|
|
3
|
+
description: React.ReactNode;
|
|
4
|
+
icon: React.ReactNode;
|
|
5
|
+
onSelect: () => void;
|
|
6
|
+
selected: boolean;
|
|
7
|
+
title: React.ReactNode;
|
|
8
|
+
}
|
|
9
|
+
export declare const SelectableCard: ({ selected, onSelect, icon, title, description, }: SelectableCardProps) => React.JSX.Element;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=selectable-card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectable-card.d.ts","sourceRoot":"","sources":["../../../../../../../src/views/admin/views/core/staff/selectable-card.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,mBAAmB;IAC3B,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB;AAOD,eAAO,MAAM,cAAc,GAAI,mDAM5B,mBAAmB,sBAkCrB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{CheckIcon}from"lucide-react";import React from"react";import{cn}from"../../../../../lib/utils.js";export const SelectableCard=({selected,onSelect,icon,title,description})=>{return _jsxs("button",{"aria-pressed":selected,className:cn("group focus-visible:ring-ring/50 relative flex items-start gap-3 rounded-xl border p-4 text-left transition-colors outline-none focus-visible:ring-[3px] sm:gap-4",selected?"border-primary ring-primary/20 bg-primary/4 ring-1":"border-border hover:border-foreground/20 hover:bg-muted/40"),onClick:onSelect,type:"button",children:[icon,_jsxs("div",{className:"min-w-0 flex-1 space-y-1 pe-7",children:[_jsx("p",{className:"leading-none font-semibold",children:title}),_jsx("p",{className:"text-muted-foreground text-sm leading-snug",children:description})]}),_jsx("span",{className:cn("absolute inset-e-4 top-4 flex size-5 shrink-0 items-center justify-center rounded-full border transition-colors",selected?"border-primary bg-primary text-primary-foreground":"border-input"),children:selected?_jsx(CheckIcon,{className:"size-3.5"}):null})]})};
|