1- import { syncedQueryWithContext } from '@rocicorp/zero' ;
1+ import { defineQueriesWithType , defineQuery } from '@rocicorp/zero' ;
22import { z } from 'zod' ;
3- import { zql } from './zero-schema.gen' ;
3+ import { type Schema , zql } from './zero-schema.gen' ;
44
5- export const allUsers = syncedQueryWithContext (
6- 'integration.allUsers' ,
7- z . tuple ( [ ] ) ,
8- _ctx => zql . user . orderBy ( 'id' , 'asc' ) ,
9- ) ;
10-
11- export const filtersWithChildren = syncedQueryWithContext (
12- 'integration.filtersWithChildren' ,
13- z . tuple ( [ z . string ( ) ] ) ,
14- ( _ctx , rootId ) =>
5+ export const queries = defineQueriesWithType < Schema > ( ) ( {
6+ allUsers : defineQuery ( ( ) => zql . user . orderBy ( 'id' , 'asc' ) ) ,
7+ filtersWithChildren : defineQuery ( z . string ( ) , ( { args} ) =>
158 zql . filters
16- . where ( q => q . cmp ( 'id' , '=' , rootId ) )
9+ . where ( q => q . cmp ( 'id' , '=' , args ) )
1710 . related ( 'children' , q => q . related ( 'children' ) . orderBy ( 'id' , 'asc' ) ) ,
18- ) ;
19-
20- export const messagesBySender = syncedQueryWithContext (
21- 'integration.messagesBySender' ,
22- z . tuple ( [ z . string ( ) ] ) ,
23- ( _ctx , senderId ) =>
24- zql . message
25- . where ( q => q . cmp ( 'senderId' , '=' , senderId ) )
26- . orderBy ( 'id' , 'asc' ) ,
27- ) ;
28-
29- export const messagesByBody = syncedQueryWithContext (
30- 'integration.messagesByBody' ,
31- z . tuple ( [ z . string ( ) ] ) ,
32- ( _ctx , body ) =>
33- zql . message . where ( q => q . cmp ( 'body' , '=' , body ) ) . orderBy ( 'id' , 'asc' ) ,
34- ) ;
35-
36- export const messageWithRelations = syncedQueryWithContext (
37- 'integration.messageWithRelations' ,
38- z . tuple ( [ z . string ( ) ] ) ,
39- ( _ctx , id ) =>
11+ ) ,
12+ messagesBySender : defineQuery ( z . string ( ) , ( { args} ) =>
13+ zql . message . where ( q => q . cmp ( 'senderId' , '=' , args ) ) . orderBy ( 'id' , 'asc' ) ,
14+ ) ,
15+ messagesByBody : defineQuery ( z . string ( ) , ( { args} ) =>
16+ zql . message . where ( q => q . cmp ( 'body' , '=' , args ) ) . orderBy ( 'id' , 'asc' ) ,
17+ ) ,
18+ messageWithRelations : defineQuery ( z . string ( ) , ( { args} ) =>
4019 zql . message
41- . where ( q => q . cmp ( 'id' , '=' , id ) )
20+ . where ( q => q . cmp ( 'id' , '=' , args ) )
4221 . related ( 'medium' )
4322 . related ( 'sender' )
4423 . one ( ) ,
45- ) ;
46-
47- export const userWithMediums = syncedQueryWithContext (
48- 'integration.userWithMediums' ,
49- z . tuple ( [ z . string ( ) ] ) ,
50- ( _ctx , id ) =>
51- zql . user
52- . where ( q => q . cmp ( 'id' , '=' , id ) )
53- . related ( 'mediums' )
54- . one ( ) ,
55- ) ;
56-
57- export const userWithFriends = syncedQueryWithContext (
58- 'integration.userWithFriends' ,
59- z . tuple ( [ z . string ( ) ] ) ,
60- ( _ctx , id ) =>
61- zql . user
62- . where ( q => q . cmp ( 'id' , '=' , id ) )
63- . related ( 'friends' )
64- . one ( ) ,
65- ) ;
66-
67- export const messageById = syncedQueryWithContext (
68- 'integration.messageById' ,
69- z . tuple ( [ z . string ( ) ] ) ,
70- ( _ctx , id ) => zql . message . where ( q => q . cmp ( 'id' , '=' , id ) ) . one ( ) ,
71- ) ;
72-
73- export const mediumById = syncedQueryWithContext (
74- 'integration.mediumById' ,
75- z . tuple ( [ z . string ( ) ] ) ,
76- ( _ctx , id ) => zql . medium . where ( q => q . cmp ( 'id' , '=' , id ) ) . one ( ) ,
77- ) ;
78-
79- export const allTypesById = syncedQueryWithContext (
80- 'integration.allTypesById' ,
81- z . tuple ( [ z . string ( ) ] ) ,
82- ( _ctx , id ) => zql . allTypes . where ( q => q . cmp ( 'id' , '=' , id ) ) . one ( ) ,
83- ) ;
84-
85- export const allTypesByStatus = syncedQueryWithContext (
86- 'integration.allTypesByStatus' ,
87- z . tuple ( [ z . enum ( [ 'active' , 'inactive' , 'pending' ] ) ] ) ,
88- ( _ctx , status ) => zql . allTypes . where ( q => q . cmp ( 'status' , '=' , status ) ) . one ( ) ,
89- ) ;
90-
91- export const complexOrderWithEverything = syncedQueryWithContext (
92- 'integration.complexOrderWithEverything' ,
93- z . tuple ( [ z . string ( ) ] ) ,
94- ( _ctx , orderId ) =>
24+ ) ,
25+ messageById : defineQuery ( z . string ( ) , ( { args} ) =>
26+ zql . message . where ( q => q . cmp ( 'id' , '=' , args ) ) . one ( ) ,
27+ ) ,
28+ mediumById : defineQuery ( z . string ( ) , ( { args} ) =>
29+ zql . medium . where ( q => q . cmp ( 'id' , '=' , args ) ) . one ( ) ,
30+ ) ,
31+ allTypesById : defineQuery ( z . string ( ) , ( { args} ) =>
32+ zql . allTypes . where ( q => q . cmp ( 'id' , '=' , args ) ) . one ( ) ,
33+ ) ,
34+ complexOrderWithEverything : defineQuery ( z . string ( ) , ( { args} ) =>
9535 zql . orderTable
96- . where ( q => q . cmp ( 'id' , '=' , orderId ) )
36+ . where ( q => q . cmp ( 'id' , '=' , args ) )
9737 . related ( 'customer' , q =>
98- q
99- . related ( 'messages' , q2 =>
100- q2
101- . related ( 'medium' , q3 =>
102- q3 . related ( 'messages' , q4 =>
103- q4 . related ( 'sender' ) . related ( 'medium' ) . orderBy ( 'id' , 'asc' ) ,
104- ) ,
105- )
106- . related ( 'sender' , q3 =>
107- q3 . related ( 'messages' ) . related ( 'friends' ) ,
108- )
109- . orderBy ( 'id' , 'asc' ) ,
110- )
111- . related ( 'friends' , q2 =>
112- q2
113- . related ( 'messages' , q3 =>
114- q3 . related ( 'medium' ) . related ( 'sender' ) . orderBy ( 'id' , 'asc' ) ,
115- )
116- . related ( 'friends' , q3 => q3 . related ( 'messages' ) ) ,
117- ) ,
38+ q . related ( 'messages' , q2 =>
39+ q2
40+ . related ( 'medium' , q3 =>
41+ q3 . related ( 'messages' , q4 =>
42+ q4 . related ( 'sender' ) . related ( 'medium' ) . orderBy ( 'id' , 'asc' ) ,
43+ ) ,
44+ )
45+ . related ( 'sender' , q3 => q3 . related ( 'messages' ) )
46+ . orderBy ( 'id' , 'asc' ) ,
47+ ) ,
11848 )
11949 . related ( 'opportunity' , q =>
12050 q
12151 . related ( 'account' , q2 =>
12252 q2
123- . related ( 'owner' , q3 => q3 . related ( 'messages' ) . related ( 'friends' ) )
53+ . related ( 'owner' , q3 => q3 . related ( 'messages' ) )
12454 . related ( 'contacts' , q3 =>
12555 q3
12656 . related ( 'account' , q4 =>
@@ -138,19 +68,15 @@ export const complexOrderWithEverything = syncedQueryWithContext(
13868 . related ( 'opportunity' , q5 =>
13969 q5 . related ( 'account' ) . related ( 'stage' ) ,
14070 )
141- . related ( 'performer' , q5 =>
142- q5 . related ( 'messages' ) . related ( 'friends' ) ,
143- )
71+ . related ( 'performer' , q5 => q5 . related ( 'messages' ) )
14472 . related ( 'account' , q5 =>
14573 q5 . related ( 'opportunities' ) . related ( 'contacts' ) ,
14674 )
147- . orderBy ( 'contactId ' , 'asc' ) ,
75+ . orderBy ( 'id ' , 'asc' ) ,
14876 )
14977 . related ( 'notes' , q4 =>
15078 q4
151- . related ( 'author' , q5 =>
152- q5 . related ( 'messages' ) . related ( 'friends' ) ,
153- )
79+ . related ( 'author' , q5 => q5 . related ( 'messages' ) )
15480 . related ( 'contact' , q5 =>
15581 q5 . related ( 'account' ) . related ( 'activities' ) ,
15682 )
@@ -184,9 +110,7 @@ export const complexOrderWithEverything = syncedQueryWithContext(
184110 . related ( 'activities' , q4 =>
185111 q4
186112 . related ( 'type' , q5 => q5 . related ( 'activities' ) )
187- . related ( 'performer' , q5 =>
188- q5 . related ( 'messages' ) . related ( 'friends' ) ,
189- )
113+ . related ( 'performer' , q5 => q5 . related ( 'messages' ) )
190114 . related ( 'account' , q5 => q5 . related ( 'opportunities' ) )
191115 . related ( 'contact' , q5 => q5 . related ( 'notes' ) )
192116 . related ( 'opportunity' , q5 => q5 . related ( 'stage' ) )
@@ -198,9 +122,7 @@ export const complexOrderWithEverything = syncedQueryWithContext(
198122 q5 . related ( 'stage' ) . related ( 'account' ) ,
199123 )
200124 . related ( 'stage' , q5 => q5 . related ( 'opportunities' ) )
201- . related ( 'changedBy' , q5 =>
202- q5 . related ( 'messages' ) . related ( 'friends' ) ,
203- )
125+ . related ( 'changedBy' , q5 => q5 . related ( 'messages' ) )
204126 . orderBy ( 'id' , 'asc' ) ,
205127 )
206128 . orderBy ( 'id' , 'asc' ) ,
@@ -217,9 +139,7 @@ export const complexOrderWithEverything = syncedQueryWithContext(
217139 q4 . related ( 'stage' ) . related ( 'account' ) ,
218140 )
219141 . related ( 'type' , q4 => q4 . related ( 'activities' ) )
220- . related ( 'performer' , q4 =>
221- q4 . related ( 'friends' ) . related ( 'messages' ) ,
222- )
142+ . related ( 'performer' )
223143 . orderBy ( 'id' , 'asc' ) ,
224144 )
225145 . related ( 'notes' , q3 =>
@@ -230,9 +150,7 @@ export const complexOrderWithEverything = syncedQueryWithContext(
230150 . related ( 'contact' , q4 =>
231151 q4 . related ( 'activities' ) . related ( 'account' ) ,
232152 )
233- . related ( 'author' , q4 =>
234- q4 . related ( 'messages' ) . related ( 'friends' ) ,
235- )
153+ . related ( 'author' , q4 => q4 . related ( 'messages' ) )
236154 . orderBy ( 'id' , 'asc' ) ,
237155 ) ,
238156 )
@@ -274,17 +192,15 @@ export const complexOrderWithEverything = syncedQueryWithContext(
274192 . related ( 'stage' , q3 =>
275193 q3 . related ( 'opportunities' ) . related ( 'historyEntries' ) ,
276194 )
277- . related ( 'changedBy' , q3 => q3 . related ( 'friends' ) )
195+ . related ( 'changedBy' )
278196 . orderBy ( 'id' , 'asc' ) ,
279197 ) ,
280198 )
281199 . related ( 'items' , q =>
282200 q
283201 . related ( 'order' , q2 =>
284202 q2
285- . related ( 'customer' , q3 =>
286- q3 . related ( 'messages' ) . related ( 'friends' ) ,
287- )
203+ . related ( 'customer' , q3 => q3 . related ( 'messages' ) )
288204 . related ( 'opportunity' , q3 =>
289205 q3 . related ( 'account' ) . related ( 'stage' ) . related ( 'activities' ) ,
290206 )
@@ -389,9 +305,7 @@ export const complexOrderWithEverything = syncedQueryWithContext(
389305 q
390306 . related ( 'order' , q2 =>
391307 q2
392- . related ( 'customer' , q3 =>
393- q3 . related ( 'messages' ) . related ( 'friends' ) ,
394- )
308+ . related ( 'customer' , q3 => q3 . related ( 'messages' ) )
395309 . related ( 'opportunity' , q3 =>
396310 q3 . related ( 'account' ) . related ( 'stage' ) ,
397311 )
@@ -410,9 +324,7 @@ export const complexOrderWithEverything = syncedQueryWithContext(
410324 q
411325 . related ( 'order' , q2 =>
412326 q2
413- . related ( 'customer' , q3 =>
414- q3 . related ( 'messages' ) . related ( 'friends' ) ,
415- )
327+ . related ( 'customer' , q3 => q3 . related ( 'messages' ) )
416328 . related ( 'opportunity' , q3 =>
417329 q3 . related ( 'account' ) . related ( 'historyEntries' ) ,
418330 )
@@ -431,9 +343,7 @@ export const complexOrderWithEverything = syncedQueryWithContext(
431343 q3
432344 . related ( 'order' , q4 =>
433345 q4
434- . related ( 'customer' , q5 =>
435- q5 . related ( 'messages' ) . related ( 'friends' ) ,
436- )
346+ . related ( 'customer' , q5 => q5 . related ( 'messages' ) )
437347 . related ( 'opportunity' , q5 =>
438348 q5 . related ( 'account' ) . related ( 'stage' ) ,
439349 )
@@ -456,4 +366,5 @@ export const complexOrderWithEverything = syncedQueryWithContext(
456366 . orderBy ( 'id' , 'asc' ) ,
457367 )
458368 . one ( ) ,
459- ) ;
369+ ) ,
370+ } ) ;
0 commit comments