-
-
Notifications
You must be signed in to change notification settings - Fork 108
Expand file tree
/
Copy pathfetching.ts
More file actions
37 lines (34 loc) · 1.54 KB
/
Copy pathfetching.ts
File metadata and controls
37 lines (34 loc) · 1.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import type { ActiveFilter } from '@conar/shared/filters'
import type { connections } from '~/drizzle'
import { queryClient } from '~/main'
import { connectionTableColumnsQuery } from '../queries/columns'
import { connectionConstraintsQuery } from '../queries/constraints'
import { connectionEnumsQuery } from '../queries/enums'
import { connectionRowsQuery } from '../queries/rows'
import { connectionTablesAndSchemasQuery } from '../queries/tables-and-schemas'
import { connectionTableTotalQuery } from '../queries/total'
export async function prefetchConnectionCore(connection: typeof connections.$inferSelect) {
if (connection.isPasswordExists && !connection.isPasswordPopulated) {
return
}
await Promise.all([
queryClient.prefetchQuery(connectionTablesAndSchemasQuery({ connection })),
queryClient.prefetchQuery(connectionEnumsQuery({ connection })),
queryClient.prefetchQuery(connectionConstraintsQuery({ connection })),
])
}
export async function prefetchConnectionTableCore({ connection, schema, table, query }: {
connection: typeof connections.$inferSelect
schema: string
table: string
query: {
filters: ActiveFilter[]
orderBy: Record<string, 'ASC' | 'DESC'>
}
}) {
await Promise.all([
queryClient.prefetchInfiniteQuery(connectionRowsQuery({ connection, table, schema, query })),
queryClient.prefetchQuery(connectionTableTotalQuery({ connection, table, schema, query: { filters: query.filters, exact: false } })),
queryClient.prefetchQuery(connectionTableColumnsQuery({ connection, table, schema })),
])
}