@tulip-systems/core 0.10.1 → 0.10.3
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/dist/auth/client.d.mts +11 -11
- package/dist/auth/client.mjs +10 -10
- package/dist/auth/server.d.mts +8 -8
- package/dist/auth/server.mjs +8 -8
- package/dist/auth.d.mts +5 -5
- package/dist/auth.mjs +4 -4
- package/dist/commands/client.d.mts +16 -16
- package/dist/commands/client.mjs +16 -16
- package/dist/commands.d.mts +3 -3
- package/dist/commands.mjs +3 -3
- package/dist/components/client.d.mts +48 -48
- package/dist/components/client.mjs +48 -48
- package/dist/components/layouts/root-layout.server.mjs +1 -0
- package/dist/components/server.d.mts +2 -2
- package/dist/components/server.mjs +2 -2
- package/dist/components/ui/badge.d.mts +1 -1
- package/dist/components/ui/button-group.d.mts +1 -1
- package/dist/components/ui/button.d.mts +2 -2
- package/dist/components/ui/field.client.d.mts +1 -1
- package/dist/components.d.mts +40 -40
- package/dist/components.mjs +39 -39
- package/dist/config.d.mts +5 -7
- package/dist/config.mjs +4 -5
- package/dist/data-tables/client.d.mts +21 -21
- package/dist/data-tables/client.mjs +21 -21
- package/dist/data-tables/server.d.mts +7 -7
- package/dist/data-tables/server.mjs +7 -7
- package/dist/data-tables.d.mts +15 -14
- package/dist/data-tables.mjs +14 -13
- package/dist/database/server.d.mts +1 -1
- package/dist/database/server.mjs +1 -1
- package/dist/database.d.mts +2 -2
- package/dist/database.mjs +1 -1
- package/dist/emails/server.d.mts +1 -1
- package/dist/emails/server.mjs +1 -1
- package/dist/inline/client.d.mts +15 -15
- package/dist/inline/client.mjs +15 -15
- package/dist/inline.d.mts +1 -1
- package/dist/inline.mjs +1 -1
- package/dist/lib/client.d.mts +4 -4
- package/dist/lib/client.mjs +4 -4
- package/dist/lib/utils/url.d.mts +15 -4
- package/dist/lib/utils/url.mjs +17 -8
- package/dist/lib.d.mts +7 -7
- package/dist/lib.mjs +6 -6
- package/dist/modules/auth/components/create-first-user-guard.server.d.mts +4 -3
- package/dist/modules/auth/components/guard.server.d.mts +5 -5
- package/dist/modules/auth/components/guard.server.mjs +3 -4
- package/dist/modules/auth/handler/create-client.client.d.mts +28 -6382
- package/dist/modules/auth/handler/create-client.client.mjs +4 -16
- package/dist/modules/auth/handler/proxy.server.d.mts +1 -0
- package/dist/modules/auth/handler/proxy.server.mjs +1 -1
- package/dist/modules/auth/handler/route.server.d.mts +2 -4
- package/dist/modules/auth/handler/route.server.mjs +3 -3
- package/dist/modules/auth/handler/service.server.d.mts +41 -2079
- package/dist/modules/auth/handler/service.server.mjs +40 -60
- package/dist/modules/auth/hooks/use-auth-client.d.mts +5 -6
- package/dist/modules/auth/hooks/use-permission.d.mts +7 -7
- package/dist/modules/auth/hooks/use-permission.mjs +1 -1
- package/dist/modules/auth/hooks/use-session.d.mts +13 -35
- package/dist/modules/auth/hooks/use-session.mjs +3 -0
- package/dist/modules/auth/lib/helpers.server.d.mts +7 -77
- package/dist/modules/auth/lib/helpers.server.mjs +4 -34
- package/dist/modules/auth/lib/permissions.d.mts +22 -3
- package/dist/modules/auth/plugins/admin.d.mts +916 -0
- package/dist/modules/auth/plugins/admin.mjs +18 -0
- package/dist/modules/auth/plugins/email-otp.d.mts +554 -0
- package/dist/modules/auth/plugins/email-otp.mjs +34 -0
- package/dist/modules/config/lib/context.d.mts +5 -4
- package/dist/modules/data-tables/components/filters/date-range.client.mjs +5 -2
- package/dist/modules/data-tables/lib/converters/dto.d.mts +12 -1
- package/dist/modules/data-tables/lib/converters/dto.mjs +13 -1
- package/dist/modules/data-tables/lib/converters/filters.d.mts +1 -1
- package/dist/modules/data-tables/server/get-data.server.d.mts +3 -2
- package/dist/modules/data-tables/strategies/infinite/components.mjs +1 -2
- package/dist/modules/data-tables/strategies/infinite/strategy.mjs +0 -6
- package/dist/modules/inline/lib/variants.d.mts +1 -1
- package/dist/modules/router/handler/init.server.d.mts +43 -51
- package/dist/modules/router/handler/init.server.mjs +24 -41
- package/dist/modules/router/handler/route.server.d.mts +6 -3
- package/dist/modules/router/handler/route.server.mjs +6 -9
- package/dist/modules/router/lib/query-client.server.d.mts +2 -2
- package/dist/modules/router/lib/query-client.server.mjs +3 -3
- package/dist/modules/storage/components/dropzone.client.d.mts +2 -2
- package/dist/modules/storage/lib/router-handlers.server.d.mts +6 -7
- package/dist/modules/storage/lib/router-handlers.server.mjs +2 -2
- package/dist/modules/storage/lib/{procedures.server.d.mts → router.server.d.mts} +42 -19
- package/dist/modules/storage/lib/router.server.mjs +21 -0
- package/dist/modules/storage/lib/service.server.d.mts +25 -25
- package/dist/modules/storage/lib/upload.client.d.mts +9 -10
- package/dist/router/client.d.mts +1 -1
- package/dist/router/client.mjs +1 -1
- package/dist/router/server.d.mts +7 -8
- package/dist/router/server.mjs +7 -8
- package/dist/router.d.mts +2 -2
- package/dist/router.mjs +2 -2
- package/dist/storage/client.d.mts +8 -8
- package/dist/storage/client.mjs +8 -8
- package/dist/storage/server.d.mts +5 -5
- package/dist/storage/server.mjs +5 -5
- package/dist/storage.d.mts +8 -8
- package/dist/storage.mjs +7 -7
- package/package.json +2 -2
- package/src/components/layouts/root-layout.server.tsx +1 -1
- package/src/lib/utils/url.ts +19 -8
- package/src/modules/auth/components/create-first-user-guard.server.tsx +5 -4
- package/src/modules/auth/components/create-first-user-page.client.tsx +6 -1
- package/src/modules/auth/components/forget-password-page.client.tsx +3 -2
- package/src/modules/auth/components/guard.server.tsx +6 -7
- package/src/modules/auth/components/login-page.client.tsx +3 -1
- package/src/modules/auth/components/reset-password-page.client.tsx +3 -2
- package/src/modules/auth/db/schema.ts +1 -1
- package/src/modules/auth/entry.server.ts +0 -1
- package/src/modules/auth/handler/create-client.client.ts +43 -41
- package/src/modules/auth/handler/proxy.server.ts +4 -2
- package/src/modules/auth/handler/route.server.ts +6 -5
- package/src/modules/auth/handler/service.server.ts +70 -94
- package/src/modules/auth/hooks/use-auth-client.tsx +6 -18
- package/src/modules/auth/hooks/use-permission.ts +23 -9
- package/src/modules/auth/hooks/use-session.ts +18 -5
- package/src/modules/auth/lib/helpers.server.ts +16 -44
- package/src/modules/auth/lib/permissions.ts +35 -2
- package/src/modules/auth/plugins/admin.ts +28 -0
- package/src/modules/auth/plugins/email-otp.ts +43 -0
- package/src/modules/config/entry.ts +0 -3
- package/src/modules/config/lib/context.ts +8 -4
- package/src/modules/data-tables/components/filters/date-range.client.tsx +6 -12
- package/src/modules/data-tables/entry.ts +1 -0
- package/src/modules/data-tables/lib/converters/dto.ts +12 -0
- package/src/modules/data-tables/lib/converters/filters.ts +1 -1
- package/src/modules/data-tables/lib/filters/parsers.ts +1 -2
- package/src/modules/data-tables/server/get-data.server.ts +8 -3
- package/src/modules/data-tables/strategies/infinite/components.tsx +2 -2
- package/src/modules/data-tables/strategies/infinite/strategy.ts +0 -14
- package/src/modules/inline/components/inputs/combobox-dropdown.client.tsx +1 -3
- package/src/modules/inline/components/inputs/combobox.client.tsx +2 -8
- package/src/modules/inline/components/inputs/date-time.client.tsx +4 -24
- package/src/modules/inline/components/inputs/date.client.tsx +3 -11
- package/src/modules/inline/components/inputs/editor.client.tsx +9 -10
- package/src/modules/inline/components/inputs/input.client.tsx +10 -33
- package/src/modules/inline/components/inputs/select.client.tsx +3 -16
- package/src/modules/inline/components/inputs/switch.client.tsx +3 -16
- package/src/modules/router/entry.server.ts +0 -1
- package/src/modules/router/handler/init.server.ts +58 -62
- package/src/modules/router/handler/route.server.ts +19 -19
- package/src/modules/router/lib/query-client.server.tsx +2 -2
- package/src/modules/storage/entry.server.ts +1 -1
- package/src/modules/storage/lib/router-handlers.server.ts +8 -10
- package/src/modules/storage/lib/router.server.ts +53 -0
- package/src/modules/storage/lib/upload.client.ts +9 -21
- package/src/styles.css +107 -78
- package/dist/dist/config.d.mts +0 -5
- package/dist/dist/modules/auth/handler/service.server.d.mts +0 -8
- package/dist/dist/modules/auth/lib/permissions.d.mts +0 -2
- package/dist/dist/modules/config/lib/context.d.mts +0 -4
- package/dist/dist/modules/config/paths/helpers.d.mts +0 -1
- package/dist/dist/modules/config/paths/types.d.mts +0 -3
- package/dist/dist/modules/database/lib/helpers.d.mts +0 -2
- package/dist/dist/modules/database/lib/service.server.d.mts +0 -2
- package/dist/dist/modules/database/lib/types.d.mts +0 -5
- package/dist/dist/modules/emails/lib/service.server.d.mts +0 -2
- package/dist/dist/modules/storage/lib/schema.d.mts +0 -1
- package/dist/dist/modules/storage/lib/service.server.d.mts +0 -5
- package/dist/dist/modules/storage/lib/validators.d.mts +0 -4
- package/dist/dist/modules/storage/providers/lib/types.d.mts +0 -1
- package/dist/dist/modules/storage/providers/lib/validators.d.mts +0 -2
- package/dist/modules/router/handler/context.server.d.mts +0 -62
- package/dist/modules/router/handler/context.server.mjs +0 -20
- package/dist/modules/storage/lib/procedures.server.mjs +0 -21
- package/dist/src/components/common/icons.d.mts +0 -60
- package/dist/src/components/common/icons.mjs +0 -121
- package/dist/src/components/common/status.d.mts +0 -52
- package/dist/src/components/common/status.mjs +0 -55
- package/dist/src/components/editor/components/content.client.d.mts +0 -6
- package/dist/src/components/editor/components/content.client.mjs +0 -16
- package/dist/src/components/editor/components/editor.client.d.mts +0 -48
- package/dist/src/components/editor/components/editor.client.mjs +0 -55
- package/dist/src/components/editor/components/menu-nodes.client.mjs +0 -92
- package/dist/src/components/editor/components/menu.client.d.mts +0 -9
- package/dist/src/components/editor/components/menu.client.mjs +0 -168
- package/dist/src/components/editor/extensions/file-handler/extension.d.mts +0 -20
- package/dist/src/components/editor/extensions/file-handler/extension.mjs +0 -39
- package/dist/src/components/editor/extensions/file-handler/strategy.d.mts +0 -26
- package/dist/src/components/editor/extensions/file-handler/strategy.mjs +0 -110
- package/dist/src/components/editor/extensions/file-handler/utils.mjs +0 -49
- package/dist/src/components/editor/extensions/image/extension.d.mts +0 -7
- package/dist/src/components/editor/extensions/image/extension.mjs +0 -50
- package/dist/src/components/editor/extensions/skeleton/extension.mjs +0 -40
- package/dist/src/components/editor/extensions/skeleton/renderer.mjs +0 -24
- package/dist/src/components/editor/lib/constants.d.mts +0 -62
- package/dist/src/components/editor/lib/constants.mjs +0 -101
- package/dist/src/components/editor/lib/extensions.d.mts +0 -67
- package/dist/src/components/editor/lib/extensions.mjs +0 -49
- package/dist/src/components/editor/lib/helpers.d.mts +0 -25
- package/dist/src/components/editor/lib/helpers.mjs +0 -75
- package/dist/src/components/editor/lib/types.d.mts +0 -9
- package/dist/src/components/editor/lib/variants.mjs +0 -15
- package/dist/src/components/emails/forget-password-email.mjs +0 -50
- package/dist/src/components/header/back-button.client.d.mts +0 -9
- package/dist/src/components/header/back-button.client.mjs +0 -42
- package/dist/src/components/header/bottom-bar.client.d.mts +0 -28
- package/dist/src/components/header/bottom-bar.client.mjs +0 -37
- package/dist/src/components/header/breadcrumbs.client.d.mts +0 -34
- package/dist/src/components/header/breadcrumbs.client.mjs +0 -63
- package/dist/src/components/header/header.client.d.mts +0 -11
- package/dist/src/components/header/header.client.mjs +0 -14
- package/dist/src/components/header/indicator.client.mjs +0 -24
- package/dist/src/components/header/mobile-nav-switcher.client.d.mts +0 -9
- package/dist/src/components/header/mobile-nav-switcher.client.mjs +0 -18
- package/dist/src/components/header/top-bar.client.d.mts +0 -42
- package/dist/src/components/header/top-bar.client.mjs +0 -47
- package/dist/src/components/layouts/admin-content.client.d.mts +0 -12
- package/dist/src/components/layouts/admin-content.client.mjs +0 -22
- package/dist/src/components/layouts/admin-error-pages.d.mts +0 -22
- package/dist/src/components/layouts/admin-error-pages.mjs +0 -59
- package/dist/src/components/layouts/admin-layout.d.mts +0 -7
- package/dist/src/components/layouts/admin-layout.mjs +0 -13
- package/dist/src/components/layouts/admin-loading.d.mts +0 -7
- package/dist/src/components/layouts/admin-loading.mjs +0 -13
- package/dist/src/components/layouts/empty-page.d.mts +0 -30
- package/dist/src/components/layouts/empty-page.mjs +0 -28
- package/dist/src/components/layouts/error-page.d.mts +0 -47
- package/dist/src/components/layouts/error-page.mjs +0 -53
- package/dist/src/components/layouts/error-sections.d.mts +0 -28
- package/dist/src/components/layouts/error-sections.mjs +0 -46
- package/dist/src/components/layouts/list-layout.d.mts +0 -11
- package/dist/src/components/layouts/list-layout.mjs +0 -14
- package/dist/src/components/layouts/providers.client.d.mts +0 -9
- package/dist/src/components/layouts/providers.client.mjs +0 -31
- package/dist/src/components/layouts/root-error-pages.d.mts +0 -9
- package/dist/src/components/layouts/root-error-pages.mjs +0 -16
- package/dist/src/components/layouts/root-layout.server.d.mts +0 -37
- package/dist/src/components/layouts/root-layout.server.mjs +0 -44
- package/dist/src/components/layouts/root-loading.d.mts +0 -6
- package/dist/src/components/layouts/root-loading.mjs +0 -13
- package/dist/src/components/layouts/tab-layout.d.mts +0 -22
- package/dist/src/components/layouts/tab-layout.mjs +0 -50
- package/dist/src/components/lists/data-list.d.mts +0 -30
- package/dist/src/components/lists/data-list.mjs +0 -35
- package/dist/src/components/lists/data-stack.d.mts +0 -48
- package/dist/src/components/lists/data-stack.mjs +0 -56
- package/dist/src/components/navigation/admin-sidebar-header.client.mjs +0 -92
- package/dist/src/components/navigation/admin-sidebar-paths.client.d.mts +0 -91
- package/dist/src/components/navigation/admin-sidebar-paths.client.mjs +0 -143
- package/dist/src/components/navigation/admin-sidebar-skeleton.mjs +0 -30
- package/dist/src/components/themes/color-theme-provider.client.d.mts +0 -27
- package/dist/src/components/themes/color-theme-provider.client.mjs +0 -59
- package/dist/src/components/themes/color-theme.d.mts +0 -29
- package/dist/src/components/themes/color-theme.mjs +0 -32
- package/dist/src/components/ui/accordion.client.d.mts +0 -25
- package/dist/src/components/ui/accordion.client.mjs +0 -57
- package/dist/src/components/ui/alert-dialog.client.d.mts +0 -60
- package/dist/src/components/ui/alert-dialog.client.mjs +0 -103
- package/dist/src/components/ui/alert.d.mts +0 -28
- package/dist/src/components/ui/alert.mjs +0 -44
- package/dist/src/components/ui/aspect-ratio.client.d.mts +0 -9
- package/dist/src/components/ui/aspect-ratio.client.mjs +0 -15
- package/dist/src/components/ui/avatar.client.d.mts +0 -34
- package/dist/src/components/ui/avatar.client.mjs +0 -53
- package/dist/src/components/ui/badge.d.mts +0 -19
- package/dist/src/components/ui/badge.mjs +0 -28
- package/dist/src/components/ui/breadcrumb.d.mts +0 -37
- package/dist/src/components/ui/breadcrumb.mjs +0 -70
- package/dist/src/components/ui/button-group.d.mts +0 -28
- package/dist/src/components/ui/button-group.mjs +0 -40
- package/dist/src/components/ui/button.d.mts +0 -21
- package/dist/src/components/ui/button.mjs +0 -48
- package/dist/src/components/ui/calendar.client.d.mts +0 -30
- package/dist/src/components/ui/calendar.client.mjs +0 -113
- package/dist/src/components/ui/card.d.mts +0 -37
- package/dist/src/components/ui/card.mjs +0 -57
- package/dist/src/components/ui/carousel.client.d.mts +0 -56
- package/dist/src/components/ui/carousel.client.mjs +0 -135
- package/dist/src/components/ui/chart.client.d.mts +0 -71
- package/dist/src/components/ui/chart.client.mjs +0 -142
- package/dist/src/components/ui/checkbox.client.d.mts +0 -11
- package/dist/src/components/ui/checkbox.client.mjs +0 -23
- package/dist/src/components/ui/collapsible.client.d.mts +0 -15
- package/dist/src/components/ui/collapsible.client.mjs +0 -27
- package/dist/src/components/ui/color-picker.client.d.mts +0 -15
- package/dist/src/components/ui/color-picker.client.mjs +0 -38
- package/dist/src/components/ui/combobox-dropdown.client.d.mts +0 -45
- package/dist/src/components/ui/combobox-dropdown.client.mjs +0 -94
- package/dist/src/components/ui/combobox.client.d.mts +0 -30
- package/dist/src/components/ui/combobox.client.mjs +0 -66
- package/dist/src/components/ui/command.client.d.mts +0 -58
- package/dist/src/components/ui/command.client.mjs +0 -97
- package/dist/src/components/ui/context-menu.client.d.mts +0 -85
- package/dist/src/components/ui/context-menu.client.mjs +0 -127
- package/dist/src/components/ui/date-picker.client.d.mts +0 -20
- package/dist/src/components/ui/date-picker.client.mjs +0 -43
- package/dist/src/components/ui/dialog.client.d.mts +0 -51
- package/dist/src/components/ui/dialog.client.mjs +0 -98
- package/dist/src/components/ui/drawer.client.d.mts +0 -44
- package/dist/src/components/ui/drawer.client.mjs +0 -80
- package/dist/src/components/ui/dropdown-menu.client.d.mts +0 -84
- package/dist/src/components/ui/dropdown-menu.client.mjs +0 -130
- package/dist/src/components/ui/empty.d.mts +0 -35
- package/dist/src/components/ui/empty.mjs +0 -61
- package/dist/src/components/ui/field.client.d.mts +0 -64
- package/dist/src/components/ui/field.client.mjs +0 -113
- package/dist/src/components/ui/form.client.d.mts +0 -47
- package/dist/src/components/ui/form.client.mjs +0 -92
- package/dist/src/components/ui/hover-card.client.d.mts +0 -19
- package/dist/src/components/ui/hover-card.client.mjs +0 -34
- package/dist/src/components/ui/input-date-time.client.d.mts +0 -22
- package/dist/src/components/ui/input-date-time.client.mjs +0 -33
- package/dist/src/components/ui/input-date.d.mts +0 -13
- package/dist/src/components/ui/input-date.mjs +0 -15
- package/dist/src/components/ui/input-group.client.d.mts +0 -58
- package/dist/src/components/ui/input-group.client.mjs +0 -105
- package/dist/src/components/ui/input-recipient.d.mts +0 -26
- package/dist/src/components/ui/input-recipient.mjs +0 -218
- package/dist/src/components/ui/input-time.d.mts +0 -13
- package/dist/src/components/ui/input-time.mjs +0 -15
- package/dist/src/components/ui/input.d.mts +0 -11
- package/dist/src/components/ui/input.mjs +0 -15
- package/dist/src/components/ui/item.d.mts +0 -62
- package/dist/src/components/ui/item.mjs +0 -118
- package/dist/src/components/ui/kbd.d.mts +0 -13
- package/dist/src/components/ui/kbd.mjs +0 -21
- package/dist/src/components/ui/label.d.mts +0 -11
- package/dist/src/components/ui/label.mjs +0 -17
- package/dist/src/components/ui/loader.d.mts +0 -6
- package/dist/src/components/ui/loader.mjs +0 -62
- package/dist/src/components/ui/navigation-menu.d.mts +0 -46
- package/dist/src/components/ui/navigation-menu.mjs +0 -81
- package/dist/src/components/ui/pagination.d.mts +0 -45
- package/dist/src/components/ui/pagination.mjs +0 -87
- package/dist/src/components/ui/popover.client.d.mts +0 -34
- package/dist/src/components/ui/popover.client.mjs +0 -58
- package/dist/src/components/ui/progress.client.d.mts +0 -12
- package/dist/src/components/ui/progress.client.mjs +0 -22
- package/dist/src/components/ui/radio-group.d.mts +0 -15
- package/dist/src/components/ui/radio-group.mjs +0 -29
- package/dist/src/components/ui/resizable.client.d.mts +0 -20
- package/dist/src/components/ui/resizable.client.mjs +0 -31
- package/dist/src/components/ui/scroll-area.d.mts +0 -17
- package/dist/src/components/ui/scroll-area.mjs +0 -39
- package/dist/src/components/ui/select.client.d.mts +0 -53
- package/dist/src/components/ui/select.client.mjs +0 -102
- package/dist/src/components/ui/separator.d.mts +0 -13
- package/dist/src/components/ui/separator.mjs +0 -19
- package/dist/src/components/ui/sheet.client.d.mts +0 -42
- package/dist/src/components/ui/sheet.client.mjs +0 -92
- package/dist/src/components/ui/sidebar.client.d.mts +0 -167
- package/dist/src/components/ui/sidebar.client.mjs +0 -373
- package/dist/src/components/ui/skeleton.d.mts +0 -9
- package/dist/src/components/ui/skeleton.mjs +0 -14
- package/dist/src/components/ui/slider.d.mts +0 -15
- package/dist/src/components/ui/slider.mjs +0 -39
- package/dist/src/components/ui/sonner.client.d.mts +0 -9
- package/dist/src/components/ui/sonner.client.mjs +0 -24
- package/dist/src/components/ui/spinner.d.mts +0 -9
- package/dist/src/components/ui/spinner.mjs +0 -16
- package/dist/src/components/ui/switch.client.d.mts +0 -14
- package/dist/src/components/ui/switch.client.mjs +0 -22
- package/dist/src/components/ui/tabs.client.d.mts +0 -30
- package/dist/src/components/ui/tabs.client.mjs +0 -48
- package/dist/src/components/ui/textarea.d.mts +0 -10
- package/dist/src/components/ui/textarea.mjs +0 -14
- package/dist/src/components/ui/toggle-group.client.d.mts +0 -28
- package/dist/src/components/ui/toggle-group.client.mjs +0 -54
- package/dist/src/components/ui/toggle.client.d.mts +0 -19
- package/dist/src/components/ui/toggle.client.mjs +0 -39
- package/dist/src/components/ui/tooltip.client.d.mts +0 -23
- package/dist/src/components/ui/tooltip.client.mjs +0 -38
- package/dist/src/lib/hooks/use-action.d.mts +0 -16
- package/dist/src/lib/hooks/use-action.mjs +0 -41
- package/dist/src/lib/hooks/use-indicator.d.mts +0 -39
- package/dist/src/lib/hooks/use-indicator.mjs +0 -63
- package/dist/src/lib/hooks/use-mobile.client.d.mts +0 -6
- package/dist/src/lib/hooks/use-mobile.client.mjs +0 -21
- package/dist/src/lib/types/config.d.mts +0 -11
- package/dist/src/lib/utils/array-move.d.mts +0 -10
- package/dist/src/lib/utils/array-move.mjs +0 -12
- package/dist/src/lib/utils/cn.d.mts +0 -6
- package/dist/src/lib/utils/cn.mjs +0 -10
- package/dist/src/lib/utils/fonts.d.mts +0 -7
- package/dist/src/lib/utils/fonts.mjs +0 -11
- package/dist/src/lib/utils/format.d.mts +0 -51
- package/dist/src/lib/utils/format.mjs +0 -113
- package/dist/src/lib/utils/manifest.d.mts +0 -7
- package/dist/src/lib/utils/manifest.mjs +0 -35
- package/dist/src/lib/utils/markdown.d.mts +0 -9
- package/dist/src/lib/utils/markdown.mjs +0 -14
- package/dist/src/lib/utils/url.d.mts +0 -9
- package/dist/src/lib/utils/url.mjs +0 -15
- package/dist/src/lib/utils/user-agent.mjs +0 -74
- package/dist/src/modules/auth/components/allowed.client.d.mts +0 -33
- package/dist/src/modules/auth/components/allowed.client.mjs +0 -19
- package/dist/src/modules/auth/components/auth-layout.server.d.mts +0 -9
- package/dist/src/modules/auth/components/auth-layout.server.mjs +0 -36
- package/dist/src/modules/auth/components/auth-loading.d.mts +0 -6
- package/dist/src/modules/auth/components/auth-loading.mjs +0 -17
- package/dist/src/modules/auth/components/create-first-user-guard.server.d.mts +0 -15
- package/dist/src/modules/auth/components/create-first-user-guard.server.mjs +0 -15
- package/dist/src/modules/auth/components/create-first-user-page.client.d.mts +0 -6
- package/dist/src/modules/auth/components/create-first-user-page.client.mjs +0 -153
- package/dist/src/modules/auth/components/forget-password-page.client.d.mts +0 -6
- package/dist/src/modules/auth/components/forget-password-page.client.mjs +0 -72
- package/dist/src/modules/auth/components/guard.server.d.mts +0 -14
- package/dist/src/modules/auth/components/guard.server.mjs +0 -20
- package/dist/src/modules/auth/components/login-page.client.d.mts +0 -11
- package/dist/src/modules/auth/components/login-page.client.mjs +0 -155
- package/dist/src/modules/auth/components/reset-password-page.client.d.mts +0 -11
- package/dist/src/modules/auth/components/reset-password-page.client.mjs +0 -121
- package/dist/src/modules/auth/components/update-password-command.d.mts +0 -22
- package/dist/src/modules/auth/components/update-password-command.mjs +0 -47
- package/dist/src/modules/auth/db/schema.d.mts +0 -983
- package/dist/src/modules/auth/db/schema.mjs +0 -101
- package/dist/src/modules/auth/handler/create-client.client.d.mts +0 -6393
- package/dist/src/modules/auth/handler/create-client.client.mjs +0 -25
- package/dist/src/modules/auth/handler/proxy.server.d.mts +0 -11
- package/dist/src/modules/auth/handler/proxy.server.mjs +0 -20
- package/dist/src/modules/auth/handler/route.server.d.mts +0 -16
- package/dist/src/modules/auth/handler/route.server.mjs +0 -28
- package/dist/src/modules/auth/handler/service.server.d.mts +0 -2101
- package/dist/src/modules/auth/handler/service.server.mjs +0 -87
- package/dist/src/modules/auth/hooks/use-auth-client.d.mts +0 -23
- package/dist/src/modules/auth/hooks/use-auth-client.mjs +0 -30
- package/dist/src/modules/auth/hooks/use-permission.d.mts +0 -42
- package/dist/src/modules/auth/hooks/use-permission.mjs +0 -57
- package/dist/src/modules/auth/hooks/use-session.d.mts +0 -40
- package/dist/src/modules/auth/hooks/use-session.mjs +0 -22
- package/dist/src/modules/auth/lib/helpers.server.d.mts +0 -84
- package/dist/src/modules/auth/lib/helpers.server.mjs +0 -41
- package/dist/src/modules/auth/lib/permissions.d.mts +0 -17
- package/dist/src/modules/auth/lib/permissions.mjs +0 -14
- package/dist/src/modules/auth/lib/validators.d.mts +0 -299
- package/dist/src/modules/auth/lib/validators.mjs +0 -59
- package/dist/src/modules/commands/components/menus/context-menu.client.d.mts +0 -39
- package/dist/src/modules/commands/components/menus/context-menu.client.mjs +0 -47
- package/dist/src/modules/commands/components/menus/dropdown-menu.client.d.mts +0 -29
- package/dist/src/modules/commands/components/menus/dropdown-menu.client.mjs +0 -58
- package/dist/src/modules/commands/components/menus/floating-menu.client.d.mts +0 -29
- package/dist/src/modules/commands/components/menus/floating-menu.client.mjs +0 -33
- package/dist/src/modules/commands/components/menus/inline-menu.client.d.mts +0 -29
- package/dist/src/modules/commands/components/menus/inline-menu.client.mjs +0 -41
- package/dist/src/modules/commands/components/menus/responsive-menu.client.d.mts +0 -16
- package/dist/src/modules/commands/components/menus/responsive-menu.client.mjs +0 -22
- package/dist/src/modules/commands/components/primitives/alert-dialog-command.client.d.mts +0 -65
- package/dist/src/modules/commands/components/primitives/alert-dialog-command.client.mjs +0 -138
- package/dist/src/modules/commands/components/primitives/click-command.client.d.mts +0 -26
- package/dist/src/modules/commands/components/primitives/click-command.client.mjs +0 -52
- package/dist/src/modules/commands/components/primitives/command-trigger.client.d.mts +0 -17
- package/dist/src/modules/commands/components/primitives/command-trigger.client.mjs +0 -42
- package/dist/src/modules/commands/components/primitives/dialog-command.client.d.mts +0 -53
- package/dist/src/modules/commands/components/primitives/dialog-command.client.mjs +0 -116
- package/dist/src/modules/commands/components/primitives/dropdown-command.client.d.mts +0 -47
- package/dist/src/modules/commands/components/primitives/dropdown-command.client.mjs +0 -131
- package/dist/src/modules/commands/components/primitives/empty-command.client.d.mts +0 -20
- package/dist/src/modules/commands/components/primitives/empty-command.client.mjs +0 -44
- package/dist/src/modules/commands/components/primitives/form-dialog-command.client.d.mts +0 -71
- package/dist/src/modules/commands/components/primitives/form-dialog-command.client.mjs +0 -163
- package/dist/src/modules/commands/components/render-command.mjs +0 -48
- package/dist/src/modules/commands/components/utils/archive-command.client.d.mts +0 -24
- package/dist/src/modules/commands/components/utils/archive-command.client.mjs +0 -29
- package/dist/src/modules/commands/components/utils/delete-command.client.d.mts +0 -20
- package/dist/src/modules/commands/components/utils/delete-command.client.mjs +0 -28
- package/dist/src/modules/commands/hooks/use-command-mutation.client.d.mts +0 -11
- package/dist/src/modules/commands/hooks/use-command-mutation.client.mjs +0 -39
- package/dist/src/modules/commands/hooks/use-command.client.d.mts +0 -31
- package/dist/src/modules/commands/hooks/use-command.client.mjs +0 -45
- package/dist/src/modules/commands/lib/builder.d.mts +0 -135
- package/dist/src/modules/commands/lib/builder.mjs +0 -82
- package/dist/src/modules/commands/lib/registery.d.mts +0 -68
- package/dist/src/modules/commands/lib/registery.mjs +0 -103
- package/dist/src/modules/commands/lib/utils.d.mts +0 -11
- package/dist/src/modules/commands/lib/utils.mjs +0 -14
- package/dist/src/modules/config/lib/config.d.mts +0 -16
- package/dist/src/modules/config/lib/config.mjs +0 -8
- package/dist/src/modules/config/lib/context.d.mts +0 -17
- package/dist/src/modules/config/lib/context.mjs +0 -7
- package/dist/src/modules/config/paths/helpers.d.mts +0 -9
- package/dist/src/modules/config/paths/helpers.mjs +0 -8
- package/dist/src/modules/config/paths/types.d.mts +0 -31
- package/dist/src/modules/data-tables/components/cell/common.client.d.mts +0 -26
- package/dist/src/modules/data-tables/components/cell/common.client.mjs +0 -35
- package/dist/src/modules/data-tables/components/cell/index.client.d.mts +0 -10
- package/dist/src/modules/data-tables/components/cell/index.client.mjs +0 -24
- package/dist/src/modules/data-tables/components/cell/select.client.d.mts +0 -10
- package/dist/src/modules/data-tables/components/cell/select.client.mjs +0 -36
- package/dist/src/modules/data-tables/components/column-header.d.mts +0 -15
- package/dist/src/modules/data-tables/components/column-header.mjs +0 -46
- package/dist/src/modules/data-tables/components/filters/combobox.client.d.mts +0 -27
- package/dist/src/modules/data-tables/components/filters/combobox.client.mjs +0 -97
- package/dist/src/modules/data-tables/components/filters/date-range.client.d.mts +0 -24
- package/dist/src/modules/data-tables/components/filters/date-range.client.mjs +0 -99
- package/dist/src/modules/data-tables/components/filters/search.client.d.mts +0 -17
- package/dist/src/modules/data-tables/components/filters/search.client.mjs +0 -32
- package/dist/src/modules/data-tables/components/filters/slider.client.d.mts +0 -22
- package/dist/src/modules/data-tables/components/filters/slider.client.mjs +0 -128
- package/dist/src/modules/data-tables/components/filters/toggle.client.d.mts +0 -17
- package/dist/src/modules/data-tables/components/filters/toggle.client.mjs +0 -25
- package/dist/src/modules/data-tables/components/footer.mjs +0 -31
- package/dist/src/modules/data-tables/components/header.d.mts +0 -40
- package/dist/src/modules/data-tables/components/header.mjs +0 -43
- package/dist/src/modules/data-tables/components/layout.d.mts +0 -11
- package/dist/src/modules/data-tables/components/layout.mjs +0 -14
- package/dist/src/modules/data-tables/components/search-input.client.d.mts +0 -6
- package/dist/src/modules/data-tables/components/search-input.client.mjs +0 -19
- package/dist/src/modules/data-tables/components/skeleton.d.mts +0 -6
- package/dist/src/modules/data-tables/components/skeleton.mjs +0 -21
- package/dist/src/modules/data-tables/components/table.d.mts +0 -33
- package/dist/src/modules/data-tables/components/table.mjs +0 -55
- package/dist/src/modules/data-tables/components/toolbar.d.mts +0 -22
- package/dist/src/modules/data-tables/components/toolbar.mjs +0 -21
- package/dist/src/modules/data-tables/hooks/use-context.client.d.mts +0 -47
- package/dist/src/modules/data-tables/hooks/use-context.client.mjs +0 -34
- package/dist/src/modules/data-tables/hooks/use-search.client.mjs +0 -39
- package/dist/src/modules/data-tables/hooks/use-selection.client.mjs +0 -44
- package/dist/src/modules/data-tables/hooks/use-table.client.d.mts +0 -10
- package/dist/src/modules/data-tables/hooks/use-table.client.mjs +0 -55
- package/dist/src/modules/data-tables/lib/converters/dto.d.mts +0 -50
- package/dist/src/modules/data-tables/lib/converters/dto.mjs +0 -24
- package/dist/src/modules/data-tables/lib/converters/filters.d.mts +0 -41
- package/dist/src/modules/data-tables/lib/converters/filters.mjs +0 -38
- package/dist/src/modules/data-tables/lib/converters/pagination.d.mts +0 -17
- package/dist/src/modules/data-tables/lib/converters/pagination.mjs +0 -15
- package/dist/src/modules/data-tables/lib/converters/search.d.mts +0 -16
- package/dist/src/modules/data-tables/lib/converters/search.mjs +0 -15
- package/dist/src/modules/data-tables/lib/converters/sorting.d.mts +0 -48
- package/dist/src/modules/data-tables/lib/converters/sorting.mjs +0 -55
- package/dist/src/modules/data-tables/lib/filters/config.d.mts +0 -13
- package/dist/src/modules/data-tables/lib/filters/config.mjs +0 -5
- package/dist/src/modules/data-tables/lib/filters/helpers.d.mts +0 -10
- package/dist/src/modules/data-tables/lib/filters/helpers.mjs +0 -16
- package/dist/src/modules/data-tables/lib/filters/parsers.d.mts +0 -46
- package/dist/src/modules/data-tables/lib/filters/parsers.mjs +0 -47
- package/dist/src/modules/data-tables/lib/filters/resolvers.d.mts +0 -28
- package/dist/src/modules/data-tables/lib/filters/resolvers.mjs +0 -55
- package/dist/src/modules/data-tables/lib/helpers/create-column.mjs +0 -10
- package/dist/src/modules/data-tables/lib/search-params.d.mts +0 -21
- package/dist/src/modules/data-tables/lib/search-params.mjs +0 -16
- package/dist/src/modules/data-tables/lib/types.d.mts +0 -54
- package/dist/src/modules/data-tables/lib/validators.d.mts +0 -19
- package/dist/src/modules/data-tables/lib/validators.mjs +0 -16
- package/dist/src/modules/data-tables/server/get-data.server.d.mts +0 -29
- package/dist/src/modules/data-tables/server/get-data.server.mjs +0 -47
- package/dist/src/modules/data-tables/strategies/helpers/sorting.mjs +0 -37
- package/dist/src/modules/data-tables/strategies/infinite/components.mjs +0 -50
- package/dist/src/modules/data-tables/strategies/infinite/strategy.d.mts +0 -20
- package/dist/src/modules/data-tables/strategies/infinite/strategy.mjs +0 -50
- package/dist/src/modules/data-tables/strategies/local/components.mjs +0 -25
- package/dist/src/modules/data-tables/strategies/local/strategy.d.mts +0 -12
- package/dist/src/modules/data-tables/strategies/local/strategy.mjs +0 -31
- package/dist/src/modules/data-tables/strategies/pagination/components.mjs +0 -131
- package/dist/src/modules/data-tables/strategies/pagination/strategy.d.mts +0 -12
- package/dist/src/modules/data-tables/strategies/pagination/strategy.mjs +0 -45
- package/dist/src/modules/data-tables/tables/data-table/components/body.mjs +0 -32
- package/dist/src/modules/data-tables/tables/data-table/components/header.mjs +0 -12
- package/dist/src/modules/data-tables/tables/data-table/components/row.mjs +0 -13
- package/dist/src/modules/data-tables/tables/data-table/components/table.d.mts +0 -8
- package/dist/src/modules/data-tables/tables/data-table/components/table.mjs +0 -42
- package/dist/src/modules/data-tables/tables/inline-table/components/body.mjs +0 -69
- package/dist/src/modules/data-tables/tables/inline-table/components/cells/common.d.mts +0 -11
- package/dist/src/modules/data-tables/tables/inline-table/components/cells/common.mjs +0 -14
- package/dist/src/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.d.mts +0 -24
- package/dist/src/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.mjs +0 -38
- package/dist/src/modules/data-tables/tables/inline-table/components/cells/read-only.d.mts +0 -11
- package/dist/src/modules/data-tables/tables/inline-table/components/cells/read-only.mjs +0 -14
- package/dist/src/modules/data-tables/tables/inline-table/components/header.mjs +0 -10
- package/dist/src/modules/data-tables/tables/inline-table/components/row.client.mjs +0 -24
- package/dist/src/modules/data-tables/tables/inline-table/components/table.d.mts +0 -14
- package/dist/src/modules/data-tables/tables/inline-table/components/table.mjs +0 -52
- package/dist/src/modules/data-tables/tables/inline-table/hooks/context.client.d.mts +0 -48
- package/dist/src/modules/data-tables/tables/inline-table/hooks/context.client.mjs +0 -58
- package/dist/src/modules/data-tables/tables/inline-table/hooks/use-hotkeys.client.d.mts +0 -29
- package/dist/src/modules/data-tables/tables/inline-table/hooks/use-hotkeys.client.mjs +0 -94
- package/dist/src/modules/database/lib/helpers.d.mts +0 -15
- package/dist/src/modules/database/lib/helpers.mjs +0 -16
- package/dist/src/modules/database/lib/service.server.d.mts +0 -33
- package/dist/src/modules/database/lib/service.server.mjs +0 -23
- package/dist/src/modules/database/lib/types.d.mts +0 -4
- package/dist/src/modules/emails/lib/service.server.d.mts +0 -28
- package/dist/src/modules/emails/lib/service.server.mjs +0 -20
- package/dist/src/modules/inline/components/cell.client.d.mts +0 -20
- package/dist/src/modules/inline/components/cell.client.mjs +0 -46
- package/dist/src/modules/inline/components/field.client.d.mts +0 -36
- package/dist/src/modules/inline/components/field.client.mjs +0 -61
- package/dist/src/modules/inline/components/inputs/combobox-dropdown.client.d.mts +0 -28
- package/dist/src/modules/inline/components/inputs/combobox-dropdown.client.mjs +0 -49
- package/dist/src/modules/inline/components/inputs/combobox.client.d.mts +0 -23
- package/dist/src/modules/inline/components/inputs/combobox.client.mjs +0 -45
- package/dist/src/modules/inline/components/inputs/date-time.client.d.mts +0 -25
- package/dist/src/modules/inline/components/inputs/date-time.client.mjs +0 -48
- package/dist/src/modules/inline/components/inputs/date.client.d.mts +0 -66
- package/dist/src/modules/inline/components/inputs/date.client.mjs +0 -175
- package/dist/src/modules/inline/components/inputs/editor.client.d.mts +0 -26
- package/dist/src/modules/inline/components/inputs/editor.client.mjs +0 -51
- package/dist/src/modules/inline/components/inputs/input-recipient.client.d.mts +0 -27
- package/dist/src/modules/inline/components/inputs/input-recipient.client.mjs +0 -48
- package/dist/src/modules/inline/components/inputs/input.client.d.mts +0 -54
- package/dist/src/modules/inline/components/inputs/input.client.mjs +0 -129
- package/dist/src/modules/inline/components/inputs/select.client.d.mts +0 -32
- package/dist/src/modules/inline/components/inputs/select.client.mjs +0 -64
- package/dist/src/modules/inline/components/inputs/switch.client.d.mts +0 -22
- package/dist/src/modules/inline/components/inputs/switch.client.mjs +0 -42
- package/dist/src/modules/inline/components/inputs/toggle.client.d.mts +0 -24
- package/dist/src/modules/inline/components/inputs/toggle.client.mjs +0 -47
- package/dist/src/modules/inline/hooks/inline-provider.d.mts +0 -28
- package/dist/src/modules/inline/hooks/inline-provider.mjs +0 -25
- package/dist/src/modules/inline/hooks/inline-state.client.d.mts +0 -30
- package/dist/src/modules/inline/hooks/inline-state.client.mjs +0 -25
- package/dist/src/modules/inline/hooks/use-inline.client.d.mts +0 -144
- package/dist/src/modules/inline/hooks/use-inline.client.mjs +0 -125
- package/dist/src/modules/inline/lib/validators.d.mts +0 -56
- package/dist/src/modules/inline/lib/validators.mjs +0 -34
- package/dist/src/modules/inline/lib/variants.d.mts +0 -11
- package/dist/src/modules/inline/lib/variants.mjs +0 -21
- package/dist/src/modules/router/handler/caller.client.d.mts +0 -10
- package/dist/src/modules/router/handler/caller.client.mjs +0 -23
- package/dist/src/modules/router/handler/caller.server.d.mts +0 -6
- package/dist/src/modules/router/handler/caller.server.mjs +0 -7
- package/dist/src/modules/router/handler/context.server.d.mts +0 -62
- package/dist/src/modules/router/handler/context.server.mjs +0 -20
- package/dist/src/modules/router/handler/init.server.d.mts +0 -65
- package/dist/src/modules/router/handler/init.server.mjs +0 -55
- package/dist/src/modules/router/handler/register.server.d.mts +0 -8
- package/dist/src/modules/router/handler/register.server.mjs +0 -10
- package/dist/src/modules/router/handler/route.server.d.mts +0 -21
- package/dist/src/modules/router/handler/route.server.mjs +0 -32
- package/dist/src/modules/router/lib/error.server.d.mts +0 -2
- package/dist/src/modules/router/lib/error.server.mjs +0 -3
- package/dist/src/modules/router/lib/helpers.mjs +0 -7
- package/dist/src/modules/router/lib/query-client.d.mts +0 -10
- package/dist/src/modules/router/lib/query-client.mjs +0 -50
- package/dist/src/modules/router/lib/query-client.server.d.mts +0 -17
- package/dist/src/modules/router/lib/query-client.server.mjs +0 -23
- package/dist/src/modules/router/lib/validators.d.mts +0 -12
- package/dist/src/modules/router/lib/validators.mjs +0 -10
- package/dist/src/modules/storage/components/dropzone-context.client.d.mts +0 -18
- package/dist/src/modules/storage/components/dropzone-context.client.mjs +0 -17
- package/dist/src/modules/storage/components/dropzone.client.d.mts +0 -52
- package/dist/src/modules/storage/components/dropzone.client.mjs +0 -110
- package/dist/src/modules/storage/components/image-grid.client.d.mts +0 -32
- package/dist/src/modules/storage/components/image-grid.client.mjs +0 -167
- package/dist/src/modules/storage/components/image.client.d.mts +0 -7
- package/dist/src/modules/storage/components/image.client.mjs +0 -16
- package/dist/src/modules/storage/components/upload-button.client.d.mts +0 -11
- package/dist/src/modules/storage/components/upload-button.client.mjs +0 -33
- package/dist/src/modules/storage/components/upload-zone-context.client.d.mts +0 -30
- package/dist/src/modules/storage/components/upload-zone-context.client.mjs +0 -20
- package/dist/src/modules/storage/components/upload-zone.client.d.mts +0 -27
- package/dist/src/modules/storage/components/upload-zone.client.mjs +0 -111
- package/dist/src/modules/storage/lib/constants.d.mts +0 -5
- package/dist/src/modules/storage/lib/constants.mjs +0 -5
- package/dist/src/modules/storage/lib/helpers.d.mts +0 -29
- package/dist/src/modules/storage/lib/helpers.mjs +0 -49
- package/dist/src/modules/storage/lib/procedures.server.d.mts +0 -1990
- package/dist/src/modules/storage/lib/procedures.server.mjs +0 -21
- package/dist/src/modules/storage/lib/router-handlers.server.d.mts +0 -40
- package/dist/src/modules/storage/lib/router-handlers.server.mjs +0 -123
- package/dist/src/modules/storage/lib/schema.d.mts +0 -291
- package/dist/src/modules/storage/lib/schema.mjs +0 -37
- package/dist/src/modules/storage/lib/service.server.d.mts +0 -2217
- package/dist/src/modules/storage/lib/service.server.mjs +0 -514
- package/dist/src/modules/storage/lib/upload.client.d.mts +0 -57
- package/dist/src/modules/storage/lib/upload.client.mjs +0 -86
- package/dist/src/modules/storage/lib/validators.d.mts +0 -935
- package/dist/src/modules/storage/lib/validators.mjs +0 -52
- package/dist/src/modules/storage/providers/adapters/s3.server.d.mts +0 -18
- package/dist/src/modules/storage/providers/adapters/s3.server.mjs +0 -172
- package/dist/src/modules/storage/providers/lib/constants.d.mts +0 -5
- package/dist/src/modules/storage/providers/lib/constants.mjs +0 -5
- package/dist/src/modules/storage/providers/lib/errors.d.mts +0 -11
- package/dist/src/modules/storage/providers/lib/errors.mjs +0 -12
- package/dist/src/modules/storage/providers/lib/types.d.mts +0 -20
- package/dist/src/modules/storage/providers/lib/validators.d.mts +0 -111
- package/dist/src/modules/storage/providers/lib/validators.mjs +0 -74
- package/src/modules/router/handler/context.server.ts +0 -28
- package/src/modules/storage/lib/procedures.server.ts +0 -60
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { and } from "drizzle-orm";
|
|
2
|
-
|
|
3
|
-
//#region src/modules/data-tables/lib/converters/filters.ts
|
|
4
|
-
/**
|
|
5
|
-
* Creates a chainable parser builder for table query filters.
|
|
6
|
-
*
|
|
7
|
-
* Usage:
|
|
8
|
-
* - create parser once from config
|
|
9
|
-
* - bind context per request
|
|
10
|
-
* - optionally narrow keys with pick/omit
|
|
11
|
-
* - parse filters into a single `and(...)` SQL condition
|
|
12
|
-
*/
|
|
13
|
-
function createTableQueryFiltersParser(config) {
|
|
14
|
-
const configKeys = Object.keys(config);
|
|
15
|
-
function createBuilder(context, selected) {
|
|
16
|
-
return {
|
|
17
|
-
pick(keys) {
|
|
18
|
-
const selectedKeys = Object.entries(keys).filter(([_, value]) => value).map(([key]) => key);
|
|
19
|
-
return createBuilder(context, new Set(selectedKeys));
|
|
20
|
-
},
|
|
21
|
-
omit(keys) {
|
|
22
|
-
const selectedKeys = Array.from(selected).filter((key) => !keys[key]);
|
|
23
|
-
return createBuilder(context, new Set(selectedKeys));
|
|
24
|
-
},
|
|
25
|
-
parse(filters) {
|
|
26
|
-
return and(...Array.from(selected).map((key) => {
|
|
27
|
-
const parser = config[key];
|
|
28
|
-
if (!parser) throw new Error(`No parser defined for filter key "${key}"`);
|
|
29
|
-
return parser(filters, context);
|
|
30
|
-
}));
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
return (context) => createBuilder(context, new Set(configKeys));
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
//#endregion
|
|
38
|
-
export { createTableQueryFiltersParser };
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { TableQuerySchema } from "../validators.mjs";
|
|
2
|
-
|
|
3
|
-
//#region src/modules/data-tables/lib/converters/pagination.d.ts
|
|
4
|
-
/**
|
|
5
|
-
* Convert pagination to DB query
|
|
6
|
-
* @param {ConvertPaginationToQueryParamsInput} pagination
|
|
7
|
-
* @returns {{ limit: number; offset: number; }}
|
|
8
|
-
*/
|
|
9
|
-
declare function parseTableQueryPagination({
|
|
10
|
-
limit,
|
|
11
|
-
cursor
|
|
12
|
-
}: Pick<TableQuerySchema, "cursor" | "limit">): {
|
|
13
|
-
limit: number;
|
|
14
|
-
offset: number;
|
|
15
|
-
};
|
|
16
|
-
//#endregion
|
|
17
|
-
export { parseTableQueryPagination };
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
//#region src/modules/data-tables/lib/converters/pagination.ts
|
|
2
|
-
/**
|
|
3
|
-
* Convert pagination to DB query
|
|
4
|
-
* @param {ConvertPaginationToQueryParamsInput} pagination
|
|
5
|
-
* @returns {{ limit: number; offset: number; }}
|
|
6
|
-
*/
|
|
7
|
-
function parseTableQueryPagination({ limit, cursor }) {
|
|
8
|
-
return {
|
|
9
|
-
limit,
|
|
10
|
-
offset: cursor * limit
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
//#endregion
|
|
15
|
-
export { parseTableQueryPagination };
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { TableQuerySchema } from "../validators.mjs";
|
|
2
|
-
import { PgColumn } from "drizzle-orm/pg-core";
|
|
3
|
-
import { SQL } from "drizzle-orm";
|
|
4
|
-
|
|
5
|
-
//#region src/modules/data-tables/lib/converters/search.d.ts
|
|
6
|
-
type ConvertSearchToQueryParamsFields = PgColumn[];
|
|
7
|
-
/**
|
|
8
|
-
* Convert search to DB query
|
|
9
|
-
* @param {ConvertSearchToQueryParamsInput}
|
|
10
|
-
* @returns { { OR: Record<string, { contains: string, mode: "insensitive" }> } }
|
|
11
|
-
*/
|
|
12
|
-
declare function convertSearchToQueryParams({
|
|
13
|
-
search
|
|
14
|
-
}: Pick<TableQuerySchema, "search">, fields: ConvertSearchToQueryParamsFields): SQL | undefined;
|
|
15
|
-
//#endregion
|
|
16
|
-
export { ConvertSearchToQueryParamsFields, convertSearchToQueryParams };
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { ilike, or, sql } from "drizzle-orm";
|
|
2
|
-
|
|
3
|
-
//#region src/modules/data-tables/lib/converters/search.ts
|
|
4
|
-
/**
|
|
5
|
-
* Convert search to DB query
|
|
6
|
-
* @param {ConvertSearchToQueryParamsInput}
|
|
7
|
-
* @returns { { OR: Record<string, { contains: string, mode: "insensitive" }> } }
|
|
8
|
-
*/
|
|
9
|
-
function convertSearchToQueryParams({ search }, fields) {
|
|
10
|
-
if (!search) return void 0;
|
|
11
|
-
return or(...fields.map((field) => ilike(sql`${field}::text`, `%${search}%`)));
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
//#endregion
|
|
15
|
-
export { convertSearchToQueryParams };
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { TableQuerySchema } from "../validators.mjs";
|
|
2
|
-
import { PgColumn } from "drizzle-orm/pg-core";
|
|
3
|
-
import { SQL } from "drizzle-orm";
|
|
4
|
-
|
|
5
|
-
//#region src/modules/data-tables/lib/converters/sorting.d.ts
|
|
6
|
-
/**
|
|
7
|
-
* Creates a reusable sorting parser for table query parameters.
|
|
8
|
-
*
|
|
9
|
-
* Resolves a user's sort/order selection to Drizzle SQL expressions.
|
|
10
|
-
* Supports sorting on both own-table columns and relation columns (via joins).
|
|
11
|
-
*
|
|
12
|
-
* Returns an object with the resolved config, normalized options, and a `parse`
|
|
13
|
-
* function that converts `TableQuerySchema` input into `SQL[]` for `.orderBy(...orderBy)`.
|
|
14
|
-
*
|
|
15
|
-
* @param config - Sortable columns keyed by their URL sort parameter name.
|
|
16
|
-
* Use `getTableColumns(table)` as a base, and spread in relation columns.
|
|
17
|
-
* @param options.fallback - Order applied when no valid sort is provided by the user.
|
|
18
|
-
* @param options.every - Order appended to every result, regardless of user sort.
|
|
19
|
-
* Useful for deterministic tiebreakers (e.g. always sort by id as secondary).
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
* const runSortingConfig = {
|
|
23
|
-
* ...getTableColumns(runs),
|
|
24
|
-
* projectTitle: projects.title,
|
|
25
|
-
* };
|
|
26
|
-
*
|
|
27
|
-
* export const parseRunTableQuerySorting = createTableQuerySortingParser(
|
|
28
|
-
* runSortingConfig,
|
|
29
|
-
* { fallback: [desc(runs.scheduledAt)] },
|
|
30
|
-
* );
|
|
31
|
-
*
|
|
32
|
-
* // In handler:
|
|
33
|
-
* const orderBy = parseRunTableQuerySorting.parse(input);
|
|
34
|
-
* db.select().from(runs).orderBy(...orderBy);
|
|
35
|
-
*/
|
|
36
|
-
declare function createTableQuerySortingParser<TConfig extends Record<string, PgColumn>>(config: TConfig, options?: {
|
|
37
|
-
fallback?: SQL | SQL[];
|
|
38
|
-
every?: SQL | SQL[];
|
|
39
|
-
}): {
|
|
40
|
-
config: TConfig;
|
|
41
|
-
options: {
|
|
42
|
-
every: SQL<unknown>[];
|
|
43
|
-
fallback: SQL<unknown>[];
|
|
44
|
-
};
|
|
45
|
-
parse: (input: Pick<TableQuerySchema, "sort" | "order">) => SQL[];
|
|
46
|
-
};
|
|
47
|
-
//#endregion
|
|
48
|
-
export { createTableQuerySortingParser };
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { asc, desc } from "drizzle-orm";
|
|
2
|
-
|
|
3
|
-
//#region src/modules/data-tables/lib/converters/sorting.ts
|
|
4
|
-
/**
|
|
5
|
-
* Creates a reusable sorting parser for table query parameters.
|
|
6
|
-
*
|
|
7
|
-
* Resolves a user's sort/order selection to Drizzle SQL expressions.
|
|
8
|
-
* Supports sorting on both own-table columns and relation columns (via joins).
|
|
9
|
-
*
|
|
10
|
-
* Returns an object with the resolved config, normalized options, and a `parse`
|
|
11
|
-
* function that converts `TableQuerySchema` input into `SQL[]` for `.orderBy(...orderBy)`.
|
|
12
|
-
*
|
|
13
|
-
* @param config - Sortable columns keyed by their URL sort parameter name.
|
|
14
|
-
* Use `getTableColumns(table)` as a base, and spread in relation columns.
|
|
15
|
-
* @param options.fallback - Order applied when no valid sort is provided by the user.
|
|
16
|
-
* @param options.every - Order appended to every result, regardless of user sort.
|
|
17
|
-
* Useful for deterministic tiebreakers (e.g. always sort by id as secondary).
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* const runSortingConfig = {
|
|
21
|
-
* ...getTableColumns(runs),
|
|
22
|
-
* projectTitle: projects.title,
|
|
23
|
-
* };
|
|
24
|
-
*
|
|
25
|
-
* export const parseRunTableQuerySorting = createTableQuerySortingParser(
|
|
26
|
-
* runSortingConfig,
|
|
27
|
-
* { fallback: [desc(runs.scheduledAt)] },
|
|
28
|
-
* );
|
|
29
|
-
*
|
|
30
|
-
* // In handler:
|
|
31
|
-
* const orderBy = parseRunTableQuerySorting.parse(input);
|
|
32
|
-
* db.select().from(runs).orderBy(...orderBy);
|
|
33
|
-
*/
|
|
34
|
-
function createTableQuerySortingParser(config, options) {
|
|
35
|
-
const every = options?.every ? Array.isArray(options.every) ? options.every : [options.every] : [];
|
|
36
|
-
const fallback = options?.fallback ? Array.isArray(options.fallback) ? options.fallback : [options.fallback] : [];
|
|
37
|
-
return {
|
|
38
|
-
config,
|
|
39
|
-
options: {
|
|
40
|
-
every,
|
|
41
|
-
fallback
|
|
42
|
-
},
|
|
43
|
-
parse: (input) => {
|
|
44
|
-
const direction = input.order === "asc" ? asc : desc;
|
|
45
|
-
if (input.sort && input.sort in config) {
|
|
46
|
-
const column = config[input.sort];
|
|
47
|
-
return [direction(column), ...every];
|
|
48
|
-
}
|
|
49
|
-
return [...fallback, ...every];
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
//#endregion
|
|
55
|
-
export { createTableQuerySortingParser };
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ParseFilter } from "./parsers.mjs";
|
|
2
|
-
import { ZodType } from "zod";
|
|
3
|
-
|
|
4
|
-
//#region src/modules/data-tables/lib/filters/config.d.ts
|
|
5
|
-
type TableFiltersDef = {
|
|
6
|
-
readonly [k: string]: ParseFilter<ZodType>;
|
|
7
|
-
};
|
|
8
|
-
type TableFiltersResult = {
|
|
9
|
-
readonly [k: string]: unknown;
|
|
10
|
-
};
|
|
11
|
-
declare const createTableFilters: <TDef extends TableFiltersDef>(def: TDef) => TDef;
|
|
12
|
-
//#endregion
|
|
13
|
-
export { TableFiltersDef, TableFiltersResult, createTableFilters };
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import deepmerge from "deepmerge";
|
|
2
|
-
|
|
3
|
-
//#region src/modules/data-tables/lib/filters/helpers.d.ts
|
|
4
|
-
declare const mergeFilters: typeof deepmerge;
|
|
5
|
-
/**
|
|
6
|
-
* Converts visibility state to filter config
|
|
7
|
-
*/
|
|
8
|
-
declare function parseFiltersVisibility<TKey extends string>(config: TKey[], visibilityState: Partial<Record<TKey, boolean>> | undefined): Record<TKey, boolean>;
|
|
9
|
-
//#endregion
|
|
10
|
-
export { mergeFilters, parseFiltersVisibility };
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import deepmerge from "deepmerge";
|
|
2
|
-
|
|
3
|
-
//#region src/modules/data-tables/lib/filters/helpers.ts
|
|
4
|
-
const mergeFilters = deepmerge;
|
|
5
|
-
/**
|
|
6
|
-
* Converts visibility state to filter config
|
|
7
|
-
*/
|
|
8
|
-
function parseFiltersVisibility(config, visibilityState) {
|
|
9
|
-
return config.reduce((acc, key) => {
|
|
10
|
-
acc[key] = visibilityState?.[key] === void 0 ? true : visibilityState[key] ?? false;
|
|
11
|
-
return acc;
|
|
12
|
-
}, {});
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
//#endregion
|
|
16
|
-
export { mergeFilters, parseFiltersVisibility };
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import z, { ZodEnum, ZodNullable, ZodType } from "zod";
|
|
2
|
-
|
|
3
|
-
//#region src/modules/data-tables/lib/filters/parsers.d.ts
|
|
4
|
-
type ParseFilter<TSchema extends z.ZodType> = {
|
|
5
|
-
schema: ZodNullable<TSchema>;
|
|
6
|
-
decode: (value: string) => z.input<TSchema>;
|
|
7
|
-
encode: (value: z.input<TSchema>) => string;
|
|
8
|
-
eq?: (a: z.output<TSchema>, b: z.output<TSchema>) => boolean;
|
|
9
|
-
};
|
|
10
|
-
/**
|
|
11
|
-
* Filter string
|
|
12
|
-
*/
|
|
13
|
-
type ParseFilterStringSchema = z.ZodString;
|
|
14
|
-
declare const parseFilterString: <TSchema extends ParseFilterStringSchema>(schema: TSchema) => ParseFilter<TSchema>;
|
|
15
|
-
/**
|
|
16
|
-
* Filter string array
|
|
17
|
-
*/
|
|
18
|
-
type ParseFilterArraySchema = z.ZodArray<ZodType>;
|
|
19
|
-
declare const parseFilterArray: <TSchema extends ParseFilterArraySchema>(schema: TSchema) => ParseFilter<TSchema>;
|
|
20
|
-
/**
|
|
21
|
-
* Filter enum
|
|
22
|
-
*/
|
|
23
|
-
type ParseFilterEnumSchema = ZodEnum;
|
|
24
|
-
declare const parseFilterEnum: <TSchema extends ZodEnum>(schema: TSchema) => ParseFilter<TSchema>;
|
|
25
|
-
/**
|
|
26
|
-
* Filter boolean value
|
|
27
|
-
*/
|
|
28
|
-
type ParseFilterBooleanSchema = z.ZodBoolean;
|
|
29
|
-
declare const parseFilterBoolean: <TSchema extends z.ZodType<boolean>>(schema: TSchema) => ParseFilter<TSchema>;
|
|
30
|
-
/**
|
|
31
|
-
* Filter datetime value
|
|
32
|
-
*/
|
|
33
|
-
type ParseFilterDatetimeSchema = z.ZodDate;
|
|
34
|
-
declare const parseFilterDatetime: <TSchema extends ParseFilterDatetimeSchema>(schema: TSchema) => ParseFilter<TSchema>;
|
|
35
|
-
/**
|
|
36
|
-
* Filter datetime range value (tuple of two dates)
|
|
37
|
-
*/
|
|
38
|
-
type ParseFilterDatetimeRangeSchema = z.ZodTuple<[z.ZodDate, z.ZodDate]>;
|
|
39
|
-
declare const parseFilterDatetimeRange: <TSchema extends ParseFilterDatetimeRangeSchema>(schema: TSchema) => ParseFilter<TSchema>;
|
|
40
|
-
/**
|
|
41
|
-
* Filter range value
|
|
42
|
-
*/
|
|
43
|
-
type ParseFilterTupleSchema = z.ZodTuple<[ZodType, ZodType]>;
|
|
44
|
-
declare const parseFilterTuple: <TSchema extends ParseFilterTupleSchema>(schema: TSchema) => ParseFilter<TSchema>;
|
|
45
|
-
//#endregion
|
|
46
|
-
export { ParseFilter, ParseFilterArraySchema, ParseFilterBooleanSchema, ParseFilterDatetimeRangeSchema, ParseFilterDatetimeSchema, ParseFilterEnumSchema, ParseFilterStringSchema, ParseFilterTupleSchema, parseFilterArray, parseFilterBoolean, parseFilterDatetime, parseFilterDatetimeRange, parseFilterEnum, parseFilterString, parseFilterTuple };
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
//#region src/modules/data-tables/lib/filters/parsers.ts
|
|
2
|
-
const parseFilterString = (schema) => ({
|
|
3
|
-
schema: schema.nullable(),
|
|
4
|
-
decode: (encoded) => encoded?.trim() ?? null,
|
|
5
|
-
encode: (decoded) => decoded ?? ""
|
|
6
|
-
});
|
|
7
|
-
const parseFilterArray = (schema) => ({
|
|
8
|
-
schema: schema.nullable(),
|
|
9
|
-
decode: (encoded) => encoded?.split(",").filter(Boolean) ?? [],
|
|
10
|
-
encode: (decoded) => decoded?.join(",") ?? ""
|
|
11
|
-
});
|
|
12
|
-
const parseFilterEnum = (schema) => ({
|
|
13
|
-
schema: schema.nullable(),
|
|
14
|
-
decode: (encoded) => {
|
|
15
|
-
return encoded?.trim().toLowerCase();
|
|
16
|
-
},
|
|
17
|
-
encode: (decoded) => decoded
|
|
18
|
-
});
|
|
19
|
-
const parseFilterBoolean = (schema) => ({
|
|
20
|
-
schema: schema.nullable(),
|
|
21
|
-
decode: (encoded) => {
|
|
22
|
-
return encoded?.trim().toLowerCase() === "true";
|
|
23
|
-
},
|
|
24
|
-
encode: (decoded) => decoded ? "true" : "false"
|
|
25
|
-
});
|
|
26
|
-
const parseFilterDatetime = (schema) => ({
|
|
27
|
-
schema: schema.nullable(),
|
|
28
|
-
decode: (encoded) => encoded ? new Date(encoded) : null,
|
|
29
|
-
encode: (decoded) => decoded ? decoded.toISOString() : ""
|
|
30
|
-
});
|
|
31
|
-
const parseFilterDatetimeRange = (schema) => ({
|
|
32
|
-
schema: schema.nullable(),
|
|
33
|
-
decode: (encoded) => {
|
|
34
|
-
if (!encoded) return null;
|
|
35
|
-
const [from, to] = encoded.split("_");
|
|
36
|
-
return from && to ? [new Date(from), new Date(to)] : null;
|
|
37
|
-
},
|
|
38
|
-
encode: (decoded) => decoded ? `${decoded[0].toISOString()}_${decoded[1].toISOString()}` : ""
|
|
39
|
-
});
|
|
40
|
-
const parseFilterTuple = (schema) => ({
|
|
41
|
-
schema: schema.nullable(),
|
|
42
|
-
decode: (encoded) => encoded?.split("_") ?? [],
|
|
43
|
-
encode: (decoded) => decoded?.join("_") ?? ""
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
//#endregion
|
|
47
|
-
export { parseFilterArray, parseFilterBoolean, parseFilterDatetime, parseFilterDatetimeRange, parseFilterEnum, parseFilterString, parseFilterTuple };
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { TableFiltersDef } from "./config.mjs";
|
|
2
|
-
import z from "zod";
|
|
3
|
-
import * as nuqs_server0 from "nuqs/server";
|
|
4
|
-
import { createParser } from "nuqs/server";
|
|
5
|
-
|
|
6
|
-
//#region src/modules/data-tables/lib/filters/resolvers.d.ts
|
|
7
|
-
/**
|
|
8
|
-
* Resolvers for nuqs search params
|
|
9
|
-
*/
|
|
10
|
-
declare function resolveFiltersSearchParams<TDef extends TableFiltersDef>(def: TDef): { readonly [K in keyof TDef]: ReturnType<typeof createParser<z.output<TDef[K]["schema"]>>> };
|
|
11
|
-
/**
|
|
12
|
-
* Resolvers for zod schema
|
|
13
|
-
*/
|
|
14
|
-
declare function resolveFiltersSchema<TDef extends TableFiltersDef>(def: TDef): z.ZodObject<{ -readonly [P in keyof { [K in keyof TDef]: TDef[K]["schema"] }]: { [K in keyof TDef]: TDef[K]["schema"] }[P] }, z.core.$strip>;
|
|
15
|
-
/**
|
|
16
|
-
* Resolvers for filter descriptors
|
|
17
|
-
*/
|
|
18
|
-
declare function resolveFilterDescriptors<TDef extends TableFiltersDef>(def: TDef): { [K in keyof TDef]: {
|
|
19
|
-
name: K;
|
|
20
|
-
parser: { readonly [K_1 in keyof TDef]: nuqs_server0.SingleParserBuilder<z.core.output<TDef[K_1]["schema"]>> }[K];
|
|
21
|
-
} };
|
|
22
|
-
/**
|
|
23
|
-
* Resolvers for the visibility state config
|
|
24
|
-
* @returns array of keys
|
|
25
|
-
*/
|
|
26
|
-
declare function resolveVisibilityState<TDef extends TableFiltersDef>(def: TDef): (keyof TDef)[];
|
|
27
|
-
//#endregion
|
|
28
|
-
export { resolveFilterDescriptors, resolveFiltersSchema, resolveFiltersSearchParams, resolveVisibilityState };
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import z from "zod";
|
|
2
|
-
import { createParser } from "nuqs/server";
|
|
3
|
-
|
|
4
|
-
//#region src/modules/data-tables/lib/filters/resolvers.ts
|
|
5
|
-
/**
|
|
6
|
-
* Resolvers for nuqs search params
|
|
7
|
-
*/
|
|
8
|
-
function resolveFiltersSearchParams(def) {
|
|
9
|
-
return typedFromEntries(typedEntries(def).map(([key, value]) => {
|
|
10
|
-
const codec = z.codec(z.string(), value.schema, {
|
|
11
|
-
decode: value.decode,
|
|
12
|
-
encode: value.encode
|
|
13
|
-
});
|
|
14
|
-
return [key, createParser({
|
|
15
|
-
parse: (query) => codec.parse(query),
|
|
16
|
-
serialize: (value) => codec.encode(value),
|
|
17
|
-
eq: value.eq
|
|
18
|
-
})];
|
|
19
|
-
}));
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Resolvers for zod schema
|
|
23
|
-
*/
|
|
24
|
-
function resolveFiltersSchema(def) {
|
|
25
|
-
const shape = typedFromEntries(typedEntries(def).map(([k, f]) => [k, f.schema]));
|
|
26
|
-
return z.object(shape);
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Resolvers for filter descriptors
|
|
30
|
-
*/
|
|
31
|
-
function resolveFilterDescriptors(def) {
|
|
32
|
-
return typedFromEntries(typedEntries(resolveFiltersSearchParams(def)).map(([key, parser]) => [key, {
|
|
33
|
-
name: key,
|
|
34
|
-
parser
|
|
35
|
-
}]));
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Resolvers for the visibility state config
|
|
39
|
-
* @returns array of keys
|
|
40
|
-
*/
|
|
41
|
-
function resolveVisibilityState(def) {
|
|
42
|
-
return typedEntries(def).map(([key]) => key);
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Helpers
|
|
46
|
-
*/
|
|
47
|
-
function typedEntries(obj) {
|
|
48
|
-
return Object.entries(obj);
|
|
49
|
-
}
|
|
50
|
-
function typedFromEntries(entries) {
|
|
51
|
-
return Object.fromEntries(entries);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
//#endregion
|
|
55
|
-
export { resolveFilterDescriptors, resolveFiltersSchema, resolveFiltersSearchParams, resolveVisibilityState };
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import * as nuqs from "nuqs";
|
|
2
|
-
|
|
3
|
-
//#region src/modules/data-tables/lib/search-params.d.ts
|
|
4
|
-
/**
|
|
5
|
-
* Searchparams
|
|
6
|
-
*/
|
|
7
|
-
declare const tableSearchParams: {
|
|
8
|
-
cursor: Omit<nuqs.SingleParserBuilder<number>, "parseServerSide"> & {
|
|
9
|
-
readonly defaultValue: number;
|
|
10
|
-
parseServerSide(value: string | string[] | undefined): number;
|
|
11
|
-
};
|
|
12
|
-
limit: Omit<nuqs.SingleParserBuilder<number>, "parseServerSide"> & {
|
|
13
|
-
readonly defaultValue: number;
|
|
14
|
-
parseServerSide(value: string | string[] | undefined): number;
|
|
15
|
-
};
|
|
16
|
-
sort: nuqs.SingleParserBuilder<string>;
|
|
17
|
-
order: nuqs.SingleParserBuilder<"asc" | "desc">;
|
|
18
|
-
search: nuqs.SingleParserBuilder<string>;
|
|
19
|
-
};
|
|
20
|
-
//#endregion
|
|
21
|
-
export { tableSearchParams };
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { parseAsIndex, parseAsInteger, parseAsString, parseAsStringLiteral } from "nuqs";
|
|
2
|
-
|
|
3
|
-
//#region src/modules/data-tables/lib/search-params.ts
|
|
4
|
-
/**
|
|
5
|
-
* Searchparams
|
|
6
|
-
*/
|
|
7
|
-
const tableSearchParams = {
|
|
8
|
-
cursor: parseAsIndex.withDefault(0),
|
|
9
|
-
limit: parseAsInteger.withDefault(20),
|
|
10
|
-
sort: parseAsString,
|
|
11
|
-
order: parseAsStringLiteral(["asc", "desc"]),
|
|
12
|
-
search: parseAsString
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
//#endregion
|
|
16
|
-
export { tableSearchParams };
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { Permission } from "../../auth/lib/permissions.mjs";
|
|
2
|
-
import { CommandFor } from "../../commands/lib/builder.mjs";
|
|
3
|
-
import { UseQueryStatesKeysMap } from "nuqs";
|
|
4
|
-
import { ColumnDef, PaginationState, RowSelectionState, SortingState, TableMeta, Updater } from "@tanstack/react-table";
|
|
5
|
-
|
|
6
|
-
//#region src/modules/data-tables/lib/types.d.ts
|
|
7
|
-
/**
|
|
8
|
-
* Data table meta
|
|
9
|
-
*/
|
|
10
|
-
type TableMetaInput<TData> = TableMeta<TData>;
|
|
11
|
-
type TableMeta$1<TData, TMeta = TableMetaInput<TData>> = {
|
|
12
|
-
strategy: TableStrategy;
|
|
13
|
-
selectedData: TData[];
|
|
14
|
-
commands?: CommandFor<TData[], TMeta>[];
|
|
15
|
-
};
|
|
16
|
-
/**
|
|
17
|
-
* Table column definition
|
|
18
|
-
*/
|
|
19
|
-
type TableColumnDef<TData> = ColumnDef<TData> & {
|
|
20
|
-
permissions?: Permission;
|
|
21
|
-
meta?: TableColumnMeta;
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* Data table strategy
|
|
25
|
-
*/
|
|
26
|
-
type TableStrategy = {
|
|
27
|
-
name: "pagination" | "infinite" | "local";
|
|
28
|
-
rowCount?: number;
|
|
29
|
-
paginationState?: PaginationState;
|
|
30
|
-
manualPagination?: boolean;
|
|
31
|
-
onPaginationChange?: (updater: Updater<PaginationState>) => PaginationState;
|
|
32
|
-
resetCursor: () => number | null;
|
|
33
|
-
tableSearchParams: UseQueryStatesKeysMap;
|
|
34
|
-
sortingState: SortingState;
|
|
35
|
-
manualSorting: boolean;
|
|
36
|
-
onSortingChange: (updater: Updater<SortingState>) => SortingState;
|
|
37
|
-
meta?: object;
|
|
38
|
-
};
|
|
39
|
-
/**
|
|
40
|
-
* Data table meta
|
|
41
|
-
*/
|
|
42
|
-
type TableColumnMeta = object;
|
|
43
|
-
/**
|
|
44
|
-
* Data table selection
|
|
45
|
-
*/
|
|
46
|
-
type Selection = {
|
|
47
|
-
rowSelection: RowSelectionState;
|
|
48
|
-
setRowSelection: (row: Updater<RowSelectionState>) => void;
|
|
49
|
-
} | {
|
|
50
|
-
rowSelection?: undefined;
|
|
51
|
-
setRowSelection?: undefined;
|
|
52
|
-
};
|
|
53
|
-
//#endregion
|
|
54
|
-
export { Selection, TableColumnDef, TableColumnMeta, TableMeta$1 as TableMeta, TableMetaInput, TableStrategy };
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { z as z$1 } from "zod";
|
|
2
|
-
|
|
3
|
-
//#region src/modules/data-tables/lib/validators.d.ts
|
|
4
|
-
/**
|
|
5
|
-
* Server data table query schema
|
|
6
|
-
*/
|
|
7
|
-
declare const tableQuerySchema: z$1.ZodObject<{
|
|
8
|
-
cursor: z$1.ZodPipe<z$1.ZodDefault<z$1.ZodOptional<z$1.ZodCoercedNumber<unknown>>>, z$1.ZodTransform<number, number>>;
|
|
9
|
-
limit: z$1.ZodPipe<z$1.ZodDefault<z$1.ZodOptional<z$1.ZodCoercedNumber<unknown>>>, z$1.ZodTransform<number, number>>;
|
|
10
|
-
sort: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
|
|
11
|
-
order: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodEnum<{
|
|
12
|
-
asc: "asc";
|
|
13
|
-
desc: "desc";
|
|
14
|
-
}>>>;
|
|
15
|
-
search: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
|
|
16
|
-
}, z$1.core.$strip>;
|
|
17
|
-
type TableQuerySchema = z$1.infer<typeof tableQuerySchema>;
|
|
18
|
-
//#endregion
|
|
19
|
-
export { TableQuerySchema, tableQuerySchema };
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { z as z$1 } from "zod";
|
|
2
|
-
|
|
3
|
-
//#region src/modules/data-tables/lib/validators.ts
|
|
4
|
-
/**
|
|
5
|
-
* Server data table query schema
|
|
6
|
-
*/
|
|
7
|
-
const tableQuerySchema = z$1.object({
|
|
8
|
-
cursor: z$1.coerce.number().optional().default(0).transform((val) => Math.max(val, 0)),
|
|
9
|
-
limit: z$1.coerce.number().optional().default(10).transform((val) => Math.min(Math.max(val, 1), 1e3)),
|
|
10
|
-
sort: z$1.string().nullable().optional(),
|
|
11
|
-
order: z$1.enum(["asc", "desc"]).nullable().optional(),
|
|
12
|
-
search: z$1.string().nullable().optional()
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
//#endregion
|
|
16
|
-
export { tableQuerySchema };
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { TDatabaseSchema } from "../../database/lib/types.mjs";
|
|
2
|
-
import { TulipContext } from "../../config/lib/context.mjs";
|
|
3
|
-
import "../../../../config.mjs";
|
|
4
|
-
import { TableQuerySchema } from "../lib/validators.mjs";
|
|
5
|
-
import { ConvertSearchToQueryParamsFields } from "../lib/converters/search.mjs";
|
|
6
|
-
import { PgTable } from "drizzle-orm/pg-core";
|
|
7
|
-
import "server-cli-only";
|
|
8
|
-
import { AnyColumn, DBQueryConfig, SQL } from "drizzle-orm";
|
|
9
|
-
|
|
10
|
-
//#region src/modules/data-tables/server/get-data.server.d.ts
|
|
11
|
-
type GetTableDataOptions<TTable extends PgTable> = DBQueryConfig<"many"> & {
|
|
12
|
-
table: TTable;
|
|
13
|
-
where?: SQL;
|
|
14
|
-
columns?: keyof TTable["_"]["columns"];
|
|
15
|
-
defaultOrder: (AnyColumn | SQL)[];
|
|
16
|
-
searchFields: ConvertSearchToQueryParamsFields;
|
|
17
|
-
};
|
|
18
|
-
/**
|
|
19
|
-
* Get data from the database for the data table
|
|
20
|
-
*/
|
|
21
|
-
declare function getTableData<TTable extends PgTable, TSchema extends TDatabaseSchema>({
|
|
22
|
-
db,
|
|
23
|
-
schema
|
|
24
|
-
}: TulipContext<TSchema>, query: TableQuerySchema, options: GetTableDataOptions<TTable>): Promise<{
|
|
25
|
-
data: TTable["$inferSelect"][];
|
|
26
|
-
total: number;
|
|
27
|
-
}>;
|
|
28
|
-
//#endregion
|
|
29
|
-
export { GetTableDataOptions, getTableData };
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { parseTableQueryPagination } from "../lib/converters/pagination.mjs";
|
|
2
|
-
import { convertSearchToQueryParams } from "../lib/converters/search.mjs";
|
|
3
|
-
import { createTableQuerySortingParser } from "../lib/converters/sorting.mjs";
|
|
4
|
-
import "server-cli-only";
|
|
5
|
-
import { and, getTableColumns, getTableName, isTable } from "drizzle-orm";
|
|
6
|
-
|
|
7
|
-
//#region src/modules/data-tables/server/get-data.server.ts
|
|
8
|
-
/**
|
|
9
|
-
* Get data from the database for the data table
|
|
10
|
-
*/
|
|
11
|
-
async function getTableData({ db, schema }, query, options) {
|
|
12
|
-
const { table, where, defaultOrder: defaultSort, searchFields } = options;
|
|
13
|
-
if (!isTable(table)) throw new Error(`Provided table is not a table: ${table}`);
|
|
14
|
-
const tableName = Object.entries({ ...schema }).filter(([, t]) => isTable(t)).find(([, t]) => getTableName(t) === getTableName(table))?.[0];
|
|
15
|
-
if (!tableName) throw new Error(`Table name not found for table: ${tableName}`);
|
|
16
|
-
const { limit, offset } = parseTableQueryPagination(query);
|
|
17
|
-
const search = convertSearchToQueryParams(query, searchFields);
|
|
18
|
-
const orderBy = createTableQuerySortingParser(getTableColumns(table), { fallback: defaultSort }).parse(query);
|
|
19
|
-
/**
|
|
20
|
-
* Make a transaction to get the data
|
|
21
|
-
*/
|
|
22
|
-
const { data, total } = await db.transaction(async (tx) => {
|
|
23
|
-
if (!(tableName in tx.query)) throw new Error(`Table not found in query builder: ${tableName}`);
|
|
24
|
-
const queryBuilderKey = tableName;
|
|
25
|
-
const queryBuilder = tx.query[queryBuilderKey];
|
|
26
|
-
if (!queryBuilder) throw new Error(`Query builder not found for table: ${tableName}`);
|
|
27
|
-
return {
|
|
28
|
-
data: await queryBuilder.findMany({
|
|
29
|
-
where: and(where, search),
|
|
30
|
-
orderBy,
|
|
31
|
-
limit,
|
|
32
|
-
offset,
|
|
33
|
-
with: options.with,
|
|
34
|
-
columns: options.columns,
|
|
35
|
-
extras: options.extras
|
|
36
|
-
}),
|
|
37
|
-
total: await tx.$count(table, and(where, search)) ?? 0
|
|
38
|
-
};
|
|
39
|
-
});
|
|
40
|
-
return {
|
|
41
|
-
data,
|
|
42
|
-
total
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
//#endregion
|
|
47
|
-
export { getTableData };
|