Skip to content

Commit 1787e06

Browse files
committed
refactor(orm): simplify ORM query args
1 parent 2df77b9 commit 1787e06

File tree

4 files changed

+257
-157
lines changed

4 files changed

+257
-157
lines changed

packages/orm/src/client/contract.ts

Lines changed: 33 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,14 @@ import type {
1515
DeleteArgs,
1616
DeleteManyArgs,
1717
FindArgs,
18+
FindFirstArgs,
19+
FindManyArgs,
1820
FindUniqueArgs,
1921
GroupByArgs,
2022
GroupByResult,
2123
ModelResult,
2224
SelectSubset,
25+
SimplifiedModelResult,
2326
Subset,
2427
UpdateArgs,
2528
UpdateManyAndReturnArgs,
@@ -323,49 +326,49 @@ export type AllModelOperations<Schema extends SchemaDef, Model extends GetModels
323326
* }); // result: `{ _count: { posts: number } }`
324327
* ```
325328
*/
326-
findMany<T extends FindArgs<Schema, Model, true>>(
329+
findMany<T extends FindManyArgs<Schema, Model, true>>(
327330
args?: SelectSubset<T, FindArgs<Schema, Model, true>>,
328-
): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>>[]>;
331+
): ZenStackPromise<Schema, SimplifiedModelResult<Schema, Model, T>[]>;
329332

330333
/**
331334
* Returns a uniquely identified entity.
332335
* @param args - query args
333336
* @returns a single entity or null if not found
334337
* @see {@link findMany}
335338
*/
336-
findUnique<T extends FindUniqueArgs<Schema, Model>>(
339+
findUnique<T extends FindUniqueArgs<Schema, Model, true>>(
337340
args: SelectSubset<T, FindUniqueArgs<Schema, Model>>,
338-
): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>> | null>;
341+
): ZenStackPromise<Schema, SimplifiedModelResult<Schema, Model, T> | null>;
339342

340343
/**
341344
* Returns a uniquely identified entity or throws `NotFoundError` if not found.
342345
* @param args - query args
343346
* @returns a single entity
344347
* @see {@link findMany}
345348
*/
346-
findUniqueOrThrow<T extends FindUniqueArgs<Schema, Model>>(
349+
findUniqueOrThrow<T extends FindUniqueArgs<Schema, Model, true>>(
347350
args: SelectSubset<T, FindUniqueArgs<Schema, Model>>,
348-
): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>>>;
351+
): ZenStackPromise<Schema, SimplifiedModelResult<Schema, Model, T>>;
349352

350353
/**
351354
* Returns the first entity.
352355
* @param args - query args
353356
* @returns a single entity or null if not found
354357
* @see {@link findMany}
355358
*/
356-
findFirst<T extends FindArgs<Schema, Model, true>>(
357-
args?: SelectSubset<T, FindArgs<Schema, Model, true>>,
358-
): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>> | null>;
359+
findFirst<T extends FindFirstArgs<Schema, Model, true>>(
360+
args?: SelectSubset<T, FindFirstArgs<Schema, Model>>,
361+
): ZenStackPromise<Schema, SimplifiedModelResult<Schema, Model, T> | null>;
359362

360363
/**
361364
* Returns the first entity or throws `NotFoundError` if not found.
362365
* @param args - query args
363366
* @returns a single entity
364367
* @see {@link findMany}
365368
*/
366-
findFirstOrThrow<T extends FindArgs<Schema, Model, true>>(
367-
args?: SelectSubset<T, FindArgs<Schema, Model, true>>,
368-
): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>>>;
369+
findFirstOrThrow<T extends FindFirstArgs<Schema, Model, true>>(
370+
args?: SelectSubset<T, FindFirstArgs<Schema, Model>>,
371+
): ZenStackPromise<Schema, SimplifiedModelResult<Schema, Model, T>>;
369372

370373
/**
371374
* Creates a new entity.
@@ -419,9 +422,9 @@ export type AllModelOperations<Schema extends SchemaDef, Model extends GetModels
419422
* });
420423
* ```
421424
*/
422-
create<T extends CreateArgs<Schema, Model>>(
425+
create<T extends CreateArgs<Schema, Model, true>>(
423426
args: SelectSubset<T, CreateArgs<Schema, Model>>,
424-
): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>>>;
427+
): ZenStackPromise<Schema, SimplifiedModelResult<Schema, Model, T>>;
425428

426429
/**
427430
* Creates multiple entities. Only scalar fields are allowed.
@@ -448,7 +451,7 @@ export type AllModelOperations<Schema extends SchemaDef, Model extends GetModels
448451
* });
449452
* ```
450453
*/
451-
createMany<T extends CreateManyArgs<Schema, Model>>(
454+
createMany<T extends CreateManyArgs<Schema, Model, true>>(
452455
args?: SelectSubset<T, CreateManyArgs<Schema, Model>>,
453456
): ZenStackPromise<Schema, BatchResult>;
454457

@@ -470,9 +473,9 @@ export type AllModelOperations<Schema extends SchemaDef, Model extends GetModels
470473
* });
471474
* ```
472475
*/
473-
createManyAndReturn<T extends CreateManyAndReturnArgs<Schema, Model>>(
476+
createManyAndReturn<T extends CreateManyAndReturnArgs<Schema, Model, true>>(
474477
args?: SelectSubset<T, CreateManyAndReturnArgs<Schema, Model>>,
475-
): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>>[]>;
478+
): ZenStackPromise<Schema, SimplifiedModelResult<Schema, Model, T>[]>;
476479

477480
/**
478481
* Updates a uniquely identified entity.
@@ -591,9 +594,9 @@ export type AllModelOperations<Schema extends SchemaDef, Model extends GetModels
591594
* });
592595
* ```
593596
*/
594-
update<T extends UpdateArgs<Schema, Model>>(
597+
update<T extends UpdateArgs<Schema, Model, true>>(
595598
args: SelectSubset<T, UpdateArgs<Schema, Model>>,
596-
): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>>>;
599+
): ZenStackPromise<Schema, SimplifiedModelResult<Schema, Model, T>>;
597600

598601
/**
599602
* Updates multiple entities.
@@ -615,7 +618,7 @@ export type AllModelOperations<Schema extends SchemaDef, Model extends GetModels
615618
* limit: 10
616619
* });
617620
*/
618-
updateMany<T extends UpdateManyArgs<Schema, Model>>(
621+
updateMany<T extends UpdateManyArgs<Schema, Model, true>>(
619622
args: Subset<T, UpdateManyArgs<Schema, Model>>,
620623
): ZenStackPromise<Schema, BatchResult>;
621624

@@ -641,9 +644,9 @@ export type AllModelOperations<Schema extends SchemaDef, Model extends GetModels
641644
* });
642645
* ```
643646
*/
644-
updateManyAndReturn<T extends UpdateManyAndReturnArgs<Schema, Model>>(
647+
updateManyAndReturn<T extends UpdateManyAndReturnArgs<Schema, Model, true>>(
645648
args: Subset<T, UpdateManyAndReturnArgs<Schema, Model>>,
646-
): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>>[]>;
649+
): ZenStackPromise<Schema, SimplifiedModelResult<Schema, Model, T>[]>;
647650

648651
/**
649652
* Creates or updates an entity.
@@ -666,8 +669,8 @@ export type AllModelOperations<Schema extends SchemaDef, Model extends GetModels
666669
* ```
667670
*/
668671
upsert<T extends UpsertArgs<Schema, Model>>(
669-
args: SelectSubset<T, UpsertArgs<Schema, Model>>,
670-
): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>>>;
672+
args: SelectSubset<T, UpsertArgs<Schema, Model, true>>,
673+
): ZenStackPromise<Schema, SimplifiedModelResult<Schema, Model, T>>;
671674

672675
/**
673676
* Deletes a uniquely identifiable entity.
@@ -689,8 +692,8 @@ export type AllModelOperations<Schema extends SchemaDef, Model extends GetModels
689692
* ```
690693
*/
691694
delete<T extends DeleteArgs<Schema, Model>>(
692-
args: SelectSubset<T, DeleteArgs<Schema, Model>>,
693-
): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>>>;
695+
args: SelectSubset<T, DeleteArgs<Schema, Model, true>>,
696+
): ZenStackPromise<Schema, SimplifiedModelResult<Schema, Model, T>>;
694697

695698
/**
696699
* Deletes multiple entities.
@@ -711,7 +714,7 @@ export type AllModelOperations<Schema extends SchemaDef, Model extends GetModels
711714
* });
712715
* ```
713716
*/
714-
deleteMany<T extends DeleteManyArgs<Schema, Model>>(
717+
deleteMany<T extends DeleteManyArgs<Schema, Model, true>>(
715718
args?: Subset<T, DeleteManyArgs<Schema, Model>>,
716719
): ZenStackPromise<Schema, BatchResult>;
717720

@@ -733,7 +736,7 @@ export type AllModelOperations<Schema extends SchemaDef, Model extends GetModels
733736
* select: { _all: true, email: true }
734737
* }); // result: `{ _all: number, email: number }`
735738
*/
736-
count<T extends CountArgs<Schema, Model>>(
739+
count<T extends CountArgs<Schema, Model, true>>(
737740
args?: Subset<T, CountArgs<Schema, Model>>,
738741
): ZenStackPromise<Schema, Simplify<CountResult<Schema, Model, T>>>;
739742

@@ -754,7 +757,7 @@ export type AllModelOperations<Schema extends SchemaDef, Model extends GetModels
754757
* _max: { age: true }
755758
* }); // result: `{ _count: number, _avg: { age: number }, ... }`
756759
*/
757-
aggregate<T extends AggregateArgs<Schema, Model>>(
760+
aggregate<T extends AggregateArgs<Schema, Model, true>>(
758761
args: Subset<T, AggregateArgs<Schema, Model>>,
759762
): ZenStackPromise<Schema, Simplify<AggregateResult<Schema, Model, T>>>;
760763

@@ -791,7 +794,7 @@ export type AllModelOperations<Schema extends SchemaDef, Model extends GetModels
791794
* having: { country: 'US', age: { _avg: { gte: 18 } } }
792795
* });
793796
*/
794-
groupBy<T extends GroupByArgs<Schema, Model>>(
797+
groupBy<T extends GroupByArgs<Schema, Model, true>>(
795798
args: Subset<T, GroupByArgs<Schema, Model>>,
796799
): ZenStackPromise<Schema, Simplify<GroupByResult<Schema, Model, T>>>;
797800
};

0 commit comments

Comments
 (0)