@zenstackhq/orm 3.0.0-beta.21 → 3.0.0-beta.23
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/index.cjs +24 -22
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +67 -82
- package/dist/index.d.ts +67 -82
- package/dist/index.js +24 -22
- package/dist/index.js.map +1 -1
- package/package.json +6 -6
package/dist/index.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Decimal from 'decimal.js';
|
|
2
2
|
import * as _zenstackhq_schema from '@zenstackhq/schema';
|
|
3
|
-
import { SchemaDef, GetModels, ScalarFields, ForeignKeyFields, GetModelFields, FieldHasDefault, GetModelFieldType, ModelFieldIsOptional, GetModelField,
|
|
3
|
+
import { SchemaDef, GetModels, ScalarFields, ForeignKeyFields, GetModelFields, FieldHasDefault, GetModelFieldType, ModelFieldIsOptional, GetModelField, RelationFields, FieldIsArray, NonRelationFields, FieldDef, GetEnums, GetEnum, GetTypeDefs, GetTypeDefFields, GetTypeDefField, TypeDefFieldIsOptional, RelationFieldType, FieldIsRelation, GetModel, BuiltinType, IsDelegateModel, GetModelDiscriminator, GetSubModels, FieldIsDelegateDiscriminator, FieldType, RelationInfo, FieldIsDelegateRelation, ModelDef, DataSourceProviderType, ProcedureDef, Expression as Expression$1, LiteralExpression, ArrayExpression, FieldExpression, MemberExpression, BinaryExpression, UnaryExpression, CallExpression, ThisExpression, NullExpression } from '@zenstackhq/schema';
|
|
4
4
|
import * as kysely from 'kysely';
|
|
5
5
|
import { OperationNodeVisitor, OperationNode, SelectQueryNode, SelectionNode, ColumnNode, AliasNode, TableNode, FromNode, ReferenceNode, AndNode, OrNode, ValueListNode, ParensNode, JoinNode, RawNode, WhereNode, InsertQueryNode, DeleteQueryNode, ReturningNode, CreateTableNode, AddColumnNode, ColumnDefinitionNode, DropTableNode, OrderByNode, OrderByItemNode, GroupByNode, GroupByItemNode, UpdateQueryNode, ColumnUpdateNode, LimitNode, OffsetNode, OnConflictNode, OnDuplicateKeyNode, CheckConstraintNode, DataTypeNode, SelectAllNode, IdentifierNode, SchemableIdentifierNode, ValueNode, PrimitiveValueListNode, OperatorNode, CreateIndexNode, DropIndexNode, ListNode, PrimaryKeyConstraintNode, UniqueConstraintNode, ReferencesNode, WithNode, CommonTableExpressionNode, CommonTableExpressionNameNode, HavingNode, CreateSchemaNode, DropSchemaNode, AlterTableNode, DropColumnNode, RenameColumnNode, AlterColumnNode, ModifyColumnNode, AddConstraintNode, DropConstraintNode, ForeignKeyConstraintNode, CreateViewNode, DropViewNode, GeneratedNode, DefaultValueNode, OnNode, ValuesNode, SelectModifierNode, CreateTypeNode, DropTypeNode, ExplainNode, DefaultInsertValueNode, AggregateFunctionNode, OverNode, PartitionByNode, PartitionByItemNode, SetOperationNode, BinaryOperationNode, UnaryOperationNode, UsingNode, FunctionNode, CaseNode, WhenNode, JSONReferenceNode, JSONPathNode, JSONPathLegNode, JSONOperatorChainNode, TupleNode, MergeQueryNode, MatchedNode, AddIndexNode, CastNode, FetchNode, TopNode, OutputNode, RenameConstraintNode, RefreshMaterializedViewNode, OrActionNode, CollateNode, Kysely, Generated, ExpressionBuilder, OperandExpression, SqlBool, SelectQueryBuilder, Expression, ExpressionWrapper, QueryId, RootOperationNode, QueryResult, UnknownRow, Dialect, KyselyConfig } from 'kysely';
|
|
6
6
|
|
|
@@ -200,7 +200,7 @@ type SelectCountResult<Schema extends SchemaDef, Model extends GetModels<Schema>
|
|
|
200
200
|
} ? {
|
|
201
201
|
[Key in keyof S]: number;
|
|
202
202
|
} : never;
|
|
203
|
-
type ModelResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Args
|
|
203
|
+
type ModelResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Args = {}, Optional = false, Array = false> = WrapType<Args extends {
|
|
204
204
|
select: infer S;
|
|
205
205
|
omit?: infer O;
|
|
206
206
|
} ? ModelSelectResult<Schema, Model, S, O> : Args extends {
|
|
@@ -211,7 +211,7 @@ type ModelResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Args
|
|
|
211
211
|
} : Args extends {
|
|
212
212
|
omit: infer O;
|
|
213
213
|
} ? DefaultModelResult<Schema, Model, O> : DefaultModelResult<Schema, Model>, Optional, Array>;
|
|
214
|
-
type SimplifiedModelResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Args
|
|
214
|
+
type SimplifiedModelResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Args = {}, Optional = false, Array = false> = Simplify<ModelResult<Schema, Model, Args, Optional, Array>>;
|
|
215
215
|
type TypeDefResult<Schema extends SchemaDef, TypeDef extends GetTypeDefs<Schema>> = Optional<{
|
|
216
216
|
[Key in GetTypeDefFields<Schema, TypeDef>]: MapTypeDefFieldType<Schema, TypeDef, Key>;
|
|
217
217
|
}, keyof {
|
|
@@ -221,7 +221,7 @@ type BatchResult = {
|
|
|
221
221
|
count: number;
|
|
222
222
|
};
|
|
223
223
|
type WhereInput<Schema extends SchemaDef, Model extends GetModels<Schema>, ScalarOnly extends boolean = false, WithAggregations extends boolean = false> = {
|
|
224
|
-
[Key in GetModelFields<Schema, Model> as ScalarOnly extends true ? Key extends RelationFields<Schema, Model> ? never : Key : Key]?: Key extends RelationFields<Schema, Model> ? RelationFilter<Schema, Model, Key> : FieldIsArray<Schema, Model, Key> extends true ? ArrayFilter<Schema, GetModelFieldType<Schema, Model, Key>> : GetModelFieldType<Schema, Model, Key> extends GetEnums<Schema> ? EnumFilter<Schema, GetModelFieldType<Schema, Model, Key>, ModelFieldIsOptional<Schema, Model, Key>, WithAggregations> : PrimitiveFilter<
|
|
224
|
+
[Key in GetModelFields<Schema, Model> as ScalarOnly extends true ? Key extends RelationFields<Schema, Model> ? never : Key : Key]?: Key extends RelationFields<Schema, Model> ? RelationFilter<Schema, Model, Key> : FieldIsArray<Schema, Model, Key> extends true ? ArrayFilter<Schema, GetModelFieldType<Schema, Model, Key>> : GetModelFieldType<Schema, Model, Key> extends GetEnums<Schema> ? EnumFilter<Schema, GetModelFieldType<Schema, Model, Key>, ModelFieldIsOptional<Schema, Model, Key>, WithAggregations> : PrimitiveFilter<GetModelFieldType<Schema, Model, Key>, ModelFieldIsOptional<Schema, Model, Key>, WithAggregations>;
|
|
225
225
|
} & {
|
|
226
226
|
$expr?: (eb: ExpressionBuilder<ToKyselySchema<Schema>, Model>) => OperandExpression<SqlBool>;
|
|
227
227
|
} & {
|
|
@@ -235,7 +235,7 @@ type EnumFilter<Schema extends SchemaDef, T extends GetEnums<Schema>, Nullable e
|
|
|
235
235
|
notIn?: (keyof GetEnum<Schema, T>)[];
|
|
236
236
|
not?: EnumFilter<Schema, T, Nullable, WithAggregations>;
|
|
237
237
|
} & (WithAggregations extends true ? {
|
|
238
|
-
_count?: NumberFilter<
|
|
238
|
+
_count?: NumberFilter<'Int', false, false>;
|
|
239
239
|
_min?: EnumFilter<Schema, T, false, false>;
|
|
240
240
|
_max?: EnumFilter<Schema, T, false, false>;
|
|
241
241
|
} : {}));
|
|
@@ -247,8 +247,8 @@ type ArrayFilter<Schema extends SchemaDef, T extends string> = {
|
|
|
247
247
|
isEmpty?: boolean;
|
|
248
248
|
};
|
|
249
249
|
type MapScalarType<Schema extends SchemaDef, T extends string> = T extends GetEnums<Schema> ? keyof GetEnum<Schema, T> : MapBaseType$1<T>;
|
|
250
|
-
type PrimitiveFilter<
|
|
251
|
-
type CommonPrimitiveFilter<
|
|
250
|
+
type PrimitiveFilter<T extends string, Nullable extends boolean, WithAggregations extends boolean> = T extends 'String' ? StringFilter<Nullable, WithAggregations> : T extends 'Int' | 'Float' | 'Decimal' | 'BigInt' ? NumberFilter<T, Nullable, WithAggregations> : T extends 'Boolean' ? BooleanFilter<Nullable, WithAggregations> : T extends 'DateTime' ? DateTimeFilter<Nullable, WithAggregations> : T extends 'Bytes' ? BytesFilter<Nullable, WithAggregations> : T extends 'Json' ? 'Not implemented yet' : never;
|
|
251
|
+
type CommonPrimitiveFilter<DataType, T extends BuiltinType, Nullable extends boolean, WithAggregations extends boolean> = {
|
|
252
252
|
equals?: NullableIf<DataType, Nullable>;
|
|
253
253
|
in?: DataType[];
|
|
254
254
|
notIn?: DataType[];
|
|
@@ -256,48 +256,50 @@ type CommonPrimitiveFilter<Schema extends SchemaDef, DataType, T extends Builtin
|
|
|
256
256
|
lte?: DataType;
|
|
257
257
|
gt?: DataType;
|
|
258
258
|
gte?: DataType;
|
|
259
|
-
not?: PrimitiveFilter<
|
|
259
|
+
not?: PrimitiveFilter<T, Nullable, WithAggregations>;
|
|
260
260
|
};
|
|
261
|
-
type StringFilter<
|
|
261
|
+
type StringFilter<Nullable extends boolean, WithAggregations extends boolean> = NullableIf<string, Nullable> | (CommonPrimitiveFilter<string, 'String', Nullable, WithAggregations> & {
|
|
262
262
|
contains?: string;
|
|
263
263
|
startsWith?: string;
|
|
264
264
|
endsWith?: string;
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
_max?: StringFilter<Schema, false, false>;
|
|
269
|
-
} : {}) & (ProviderSupportsCaseSensitivity<Schema> extends true ? {
|
|
265
|
+
/**
|
|
266
|
+
* Not effective for "sqlite" provider
|
|
267
|
+
*/
|
|
270
268
|
mode?: 'default' | 'insensitive';
|
|
269
|
+
} & (WithAggregations extends true ? {
|
|
270
|
+
_count?: NumberFilter<'Int', false, false>;
|
|
271
|
+
_min?: StringFilter<false, false>;
|
|
272
|
+
_max?: StringFilter<false, false>;
|
|
271
273
|
} : {}));
|
|
272
|
-
type NumberFilter<
|
|
273
|
-
_count?: NumberFilter<
|
|
274
|
-
_avg?: NumberFilter<
|
|
275
|
-
_sum?: NumberFilter<
|
|
276
|
-
_min?: NumberFilter<
|
|
277
|
-
_max?: NumberFilter<
|
|
274
|
+
type NumberFilter<T extends 'Int' | 'Float' | 'Decimal' | 'BigInt', Nullable extends boolean, WithAggregations extends boolean> = NullableIf<number | bigint, Nullable> | (CommonPrimitiveFilter<number, T, Nullable, WithAggregations> & (WithAggregations extends true ? {
|
|
275
|
+
_count?: NumberFilter<'Int', false, false>;
|
|
276
|
+
_avg?: NumberFilter<T, false, false>;
|
|
277
|
+
_sum?: NumberFilter<T, false, false>;
|
|
278
|
+
_min?: NumberFilter<T, false, false>;
|
|
279
|
+
_max?: NumberFilter<T, false, false>;
|
|
278
280
|
} : {}));
|
|
279
|
-
type DateTimeFilter<
|
|
280
|
-
_count?: NumberFilter<
|
|
281
|
-
_min?: DateTimeFilter<
|
|
282
|
-
_max?: DateTimeFilter<
|
|
281
|
+
type DateTimeFilter<Nullable extends boolean, WithAggregations extends boolean> = NullableIf<Date | string, Nullable> | (CommonPrimitiveFilter<Date | string, 'DateTime', Nullable, WithAggregations> & (WithAggregations extends true ? {
|
|
282
|
+
_count?: NumberFilter<'Int', false, false>;
|
|
283
|
+
_min?: DateTimeFilter<false, false>;
|
|
284
|
+
_max?: DateTimeFilter<false, false>;
|
|
283
285
|
} : {}));
|
|
284
|
-
type BytesFilter<
|
|
286
|
+
type BytesFilter<Nullable extends boolean, WithAggregations extends boolean> = NullableIf<Uint8Array | Buffer, Nullable> | ({
|
|
285
287
|
equals?: NullableIf<Uint8Array, Nullable>;
|
|
286
288
|
in?: Uint8Array[];
|
|
287
289
|
notIn?: Uint8Array[];
|
|
288
|
-
not?: BytesFilter<
|
|
290
|
+
not?: BytesFilter<Nullable, WithAggregations>;
|
|
289
291
|
} & (WithAggregations extends true ? {
|
|
290
|
-
_count?: NumberFilter<
|
|
291
|
-
_min?: BytesFilter<
|
|
292
|
-
_max?: BytesFilter<
|
|
292
|
+
_count?: NumberFilter<'Int', false, false>;
|
|
293
|
+
_min?: BytesFilter<false, false>;
|
|
294
|
+
_max?: BytesFilter<false, false>;
|
|
293
295
|
} : {}));
|
|
294
|
-
type BooleanFilter<
|
|
296
|
+
type BooleanFilter<Nullable extends boolean, WithAggregations extends boolean> = NullableIf<boolean, Nullable> | ({
|
|
295
297
|
equals?: NullableIf<boolean, Nullable>;
|
|
296
|
-
not?: BooleanFilter<
|
|
298
|
+
not?: BooleanFilter<Nullable, WithAggregations>;
|
|
297
299
|
} & (WithAggregations extends true ? {
|
|
298
|
-
_count?: NumberFilter<
|
|
299
|
-
_min?: BooleanFilter<
|
|
300
|
-
_max?: BooleanFilter<
|
|
300
|
+
_count?: NumberFilter<'Int', false, false>;
|
|
301
|
+
_min?: BooleanFilter<false, false>;
|
|
302
|
+
_max?: BooleanFilter<false, false>;
|
|
301
303
|
} : {}));
|
|
302
304
|
type SortOrder = 'asc' | 'desc';
|
|
303
305
|
type NullsOrder = 'first' | 'last';
|
|
@@ -326,10 +328,10 @@ type WhereUniqueInput<Schema extends SchemaDef, Model extends GetModels<Schema>>
|
|
|
326
328
|
type OmitInput<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
|
|
327
329
|
[Key in NonRelationFields<Schema, Model>]?: boolean;
|
|
328
330
|
};
|
|
329
|
-
type SelectIncludeOmit<Schema extends SchemaDef, Model extends GetModels<Schema>, AllowCount extends boolean> = {
|
|
330
|
-
select?: SelectInput<Schema, Model, AllowCount,
|
|
331
|
-
include?: IncludeInput<Schema, Model, AllowCount
|
|
332
|
-
omit?: OmitInput<Schema, Model
|
|
331
|
+
type SelectIncludeOmit<Schema extends SchemaDef, Model extends GetModels<Schema>, AllowCount extends boolean, AllowRelation extends boolean = true> = {
|
|
332
|
+
select?: SelectInput<Schema, Model, AllowCount, AllowRelation> | null;
|
|
333
|
+
include?: IncludeInput<Schema, Model, AllowCount> | null;
|
|
334
|
+
omit?: OmitInput<Schema, Model> | null;
|
|
333
335
|
};
|
|
334
336
|
type SelectInput<Schema extends SchemaDef, Model extends GetModels<Schema>, AllowCount extends boolean = true, AllowRelation extends boolean = true> = {
|
|
335
337
|
[Key in NonRelationFields<Schema, Model>]?: boolean;
|
|
@@ -391,28 +393,22 @@ type FindArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Collect
|
|
|
391
393
|
distinct?: OrArray<NonRelationFields<Schema, Model>>;
|
|
392
394
|
} : {}) & (AllowFilter extends true ? FilterArgs<Schema, Model> : {}) & SelectIncludeOmit<Schema, Model, Collection> : (Collection extends true ? SortAndTakeArgs<Schema, Model> : {}) & (AllowFilter extends true ? FilterArgs<Schema, Model> : {}) & SelectIncludeOmit<Schema, Model, Collection>;
|
|
393
395
|
type FindManyArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = FindArgs<Schema, Model, true>;
|
|
394
|
-
type FindFirstArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = FindArgs<Schema, Model,
|
|
396
|
+
type FindFirstArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = FindArgs<Schema, Model, true>;
|
|
395
397
|
type FindUniqueArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
|
|
396
|
-
where
|
|
398
|
+
where: WhereUniqueInput<Schema, Model>;
|
|
397
399
|
} & SelectIncludeOmit<Schema, Model, true>;
|
|
398
400
|
type CreateArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
|
|
399
401
|
data: CreateInput<Schema, Model>;
|
|
400
|
-
|
|
401
|
-
include?: IncludeInput<Schema, Model>;
|
|
402
|
-
omit?: OmitInput<Schema, Model>;
|
|
403
|
-
};
|
|
402
|
+
} & SelectIncludeOmit<Schema, Model, true>;
|
|
404
403
|
type CreateManyArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = CreateManyInput<Schema, Model>;
|
|
405
|
-
type CreateManyAndReturnArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = CreateManyInput<Schema, Model> &
|
|
406
|
-
select?: SelectInput<Schema, Model, false, false>;
|
|
407
|
-
omit?: OmitInput<Schema, Model>;
|
|
408
|
-
};
|
|
404
|
+
type CreateManyAndReturnArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = CreateManyInput<Schema, Model> & Omit<SelectIncludeOmit<Schema, Model, false, false>, 'include'>;
|
|
409
405
|
type OptionalWrap<Schema extends SchemaDef, Model extends GetModels<Schema>, T extends object> = Optional<T, keyof T & OptionalFieldsForCreate<Schema, Model>>;
|
|
410
406
|
type CreateScalarPayload<Schema extends SchemaDef, Model extends GetModels<Schema>> = OptionalWrap<Schema, Model, {
|
|
411
407
|
[Key in ScalarFields<Schema, Model, false> as FieldIsDelegateDiscriminator<Schema, Model, Key> extends true ? never : Key]: ScalarCreatePayload<Schema, Model, Key>;
|
|
412
408
|
}>;
|
|
413
|
-
type ScalarCreatePayload<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends ScalarFields<Schema, Model, false>> = MapModelFieldType<Schema, Model, Field> | (FieldIsArray<Schema, Model, Field> extends true ? {
|
|
409
|
+
type ScalarCreatePayload<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends ScalarFields<Schema, Model, false>> = Simplify<MapModelFieldType<Schema, Model, Field> | (FieldIsArray<Schema, Model, Field> extends true ? {
|
|
414
410
|
set?: MapModelFieldType<Schema, Model, Field>;
|
|
415
|
-
} : never)
|
|
411
|
+
} : never)>;
|
|
416
412
|
type CreateFKPayload<Schema extends SchemaDef, Model extends GetModels<Schema>> = OptionalWrap<Schema, Model, {
|
|
417
413
|
[Key in ForeignKeyFields<Schema, Model>]: MapModelFieldType<Schema, Model, Key>;
|
|
418
414
|
}>;
|
|
@@ -444,15 +440,9 @@ type NestedCreateManyInput<Schema extends SchemaDef, Model extends GetModels<Sch
|
|
|
444
440
|
type UpdateArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
|
|
445
441
|
data: UpdateInput<Schema, Model>;
|
|
446
442
|
where: WhereUniqueInput<Schema, Model>;
|
|
447
|
-
|
|
448
|
-
include?: IncludeInput<Schema, Model>;
|
|
449
|
-
omit?: OmitInput<Schema, Model>;
|
|
450
|
-
};
|
|
443
|
+
} & SelectIncludeOmit<Schema, Model, true>;
|
|
451
444
|
type UpdateManyArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = UpdateManyPayload<Schema, Model>;
|
|
452
|
-
type UpdateManyAndReturnArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = UpdateManyPayload<Schema, Model> &
|
|
453
|
-
select?: SelectInput<Schema, Model, false, false>;
|
|
454
|
-
omit?: OmitInput<Schema, Model>;
|
|
455
|
-
};
|
|
445
|
+
type UpdateManyAndReturnArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = UpdateManyPayload<Schema, Model> & Omit<SelectIncludeOmit<Schema, Model, false, false>, 'include'>;
|
|
456
446
|
type UpdateManyPayload<Schema extends SchemaDef, Model extends GetModels<Schema>, Without extends string = never> = {
|
|
457
447
|
data: OrArray<UpdateScalarInput<Schema, Model, Without>>;
|
|
458
448
|
where?: WhereInput<Schema, Model>;
|
|
@@ -462,10 +452,7 @@ type UpsertArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
|
|
|
462
452
|
create: CreateInput<Schema, Model>;
|
|
463
453
|
update: UpdateInput<Schema, Model>;
|
|
464
454
|
where: WhereUniqueInput<Schema, Model>;
|
|
465
|
-
|
|
466
|
-
include?: IncludeInput<Schema, Model>;
|
|
467
|
-
omit?: OmitInput<Schema, Model>;
|
|
468
|
-
};
|
|
455
|
+
} & SelectIncludeOmit<Schema, Model, true>;
|
|
469
456
|
type UpdateScalarInput<Schema extends SchemaDef, Model extends GetModels<Schema>, Without extends string = never> = Omit<{
|
|
470
457
|
[Key in NonRelationFields<Schema, Model> as FieldIsDelegateDiscriminator<Schema, Model, Key> extends true ? never : Key]?: ScalarUpdatePayload<Schema, Model, Key>;
|
|
471
458
|
}, Without>;
|
|
@@ -509,10 +496,7 @@ type ToOneRelationUpdateInput<Schema extends SchemaDef, Model extends GetModels<
|
|
|
509
496
|
} : {}), FieldIsDelegateRelation<Schema, Model, Field> extends true ? 'create' | 'connectOrCreate' | 'upsert' : never>;
|
|
510
497
|
type DeleteArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
|
|
511
498
|
where: WhereUniqueInput<Schema, Model>;
|
|
512
|
-
|
|
513
|
-
include?: IncludeInput<Schema, Model>;
|
|
514
|
-
omit?: OmitInput<Schema, Model>;
|
|
515
|
-
};
|
|
499
|
+
} & SelectIncludeOmit<Schema, Model, true>;
|
|
516
500
|
type DeleteManyArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
|
|
517
501
|
where?: WhereInput<Schema, Model>;
|
|
518
502
|
limit?: number;
|
|
@@ -525,7 +509,7 @@ type CountAggregateInput<Schema extends SchemaDef, Model extends GetModels<Schem
|
|
|
525
509
|
} & {
|
|
526
510
|
_all?: true;
|
|
527
511
|
};
|
|
528
|
-
type CountResult<Schema extends SchemaDef,
|
|
512
|
+
type CountResult<Schema extends SchemaDef, _Model extends GetModels<Schema>, Args> = Args extends {
|
|
529
513
|
select: infer S;
|
|
530
514
|
} ? S extends true ? number : {
|
|
531
515
|
[Key in keyof S]: number;
|
|
@@ -552,7 +536,7 @@ type SumAvgInput<Schema extends SchemaDef, Model extends GetModels<Schema>, Valu
|
|
|
552
536
|
type MinMaxInput<Schema extends SchemaDef, Model extends GetModels<Schema>, ValueType> = {
|
|
553
537
|
[Key in GetModelFields<Schema, Model> as FieldIsArray<Schema, Model, Key> extends true ? never : FieldIsRelation<Schema, Model, Key> extends true ? never : Key]?: ValueType;
|
|
554
538
|
};
|
|
555
|
-
type AggregateResult<Schema extends SchemaDef,
|
|
539
|
+
type AggregateResult<Schema extends SchemaDef, _Model extends GetModels<Schema>, Args> = (Args extends {
|
|
556
540
|
_count: infer Count;
|
|
557
541
|
} ? {
|
|
558
542
|
_count: AggCommonOutput<Count>;
|
|
@@ -591,7 +575,9 @@ type GroupByArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
|
|
|
591
575
|
_avg?: SumAvgInput<Schema, Model, true>;
|
|
592
576
|
_sum?: SumAvgInput<Schema, Model, true>;
|
|
593
577
|
});
|
|
594
|
-
type GroupByResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Args extends
|
|
578
|
+
type GroupByResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Args extends {
|
|
579
|
+
by: unknown;
|
|
580
|
+
}> = Array<{
|
|
595
581
|
[Key in NonRelationFields<Schema, Model> as Key extends ValueOfPotentialTuple<Args['by']> ? Key : never]: MapModelFieldType<Schema, Model, Key>;
|
|
596
582
|
} & (Args extends {
|
|
597
583
|
_count: infer Count;
|
|
@@ -641,7 +627,6 @@ type NonOwnedRelationFields<Schema extends SchemaDef, Model extends GetModels<Sc
|
|
|
641
627
|
type HasToManyRelations<Schema extends SchemaDef, Model extends GetModels<Schema>> = keyof {
|
|
642
628
|
[Key in RelationFields<Schema, Model> as FieldIsArray<Schema, Model, Key> extends true ? Key : never]: true;
|
|
643
629
|
} extends never ? false : true;
|
|
644
|
-
type ProviderSupportsCaseSensitivity<Schema extends SchemaDef> = Schema['provider']['type'] extends 'postgresql' ? true : false;
|
|
645
630
|
type ProviderSupportsDistinct<Schema extends SchemaDef> = Schema['provider']['type'] extends 'postgresql' ? true : false;
|
|
646
631
|
|
|
647
632
|
declare abstract class BaseCrudDialect<Schema extends SchemaDef> {
|
|
@@ -672,7 +657,7 @@ declare abstract class BaseCrudDialect<Schema extends SchemaDef> {
|
|
|
672
657
|
private buildBytesFilter;
|
|
673
658
|
private buildEnumFilter;
|
|
674
659
|
buildOrderBy(query: SelectQueryBuilder<any, any, any>, model: string, modelAlias: string, orderBy: OrArray<OrderBy<Schema, GetModels<Schema>, boolean, boolean>> | undefined, negated: boolean): SelectQueryBuilder<any, any, any>;
|
|
675
|
-
buildSelectAllFields(model: string, query: SelectQueryBuilder<any, any, any>, omit: Record<string, boolean | undefined> | undefined, modelAlias: string): SelectQueryBuilder<any, any, any>;
|
|
660
|
+
buildSelectAllFields(model: string, query: SelectQueryBuilder<any, any, any>, omit: Record<string, boolean | undefined> | undefined | null, modelAlias: string): SelectQueryBuilder<any, any, any>;
|
|
676
661
|
protected buildModelSelect(model: GetModels<Schema>, subQueryAlias: string, payload: true | FindArgs<Schema, GetModels<Schema>, true>, selectAllFields: boolean): SelectQueryBuilder<any, any, {}>;
|
|
677
662
|
buildSelectField(query: SelectQueryBuilder<any, any, any>, model: string, modelAlias: string, field: string): SelectQueryBuilder<any, any, any>;
|
|
678
663
|
buildDelegateJoin(thisModel: string, thisModelAlias: string, otherModelAlias: string, query: SelectQueryBuilder<any, any, any>): SelectQueryBuilder<any, any, any>;
|
|
@@ -1222,35 +1207,35 @@ type AllModelOperations<Schema extends SchemaDef, Model extends GetModels<Schema
|
|
|
1222
1207
|
* }); // result: `{ _count: { posts: number } }`
|
|
1223
1208
|
* ```
|
|
1224
1209
|
*/
|
|
1225
|
-
findMany<T extends
|
|
1210
|
+
findMany<T extends FindManyArgs<Schema, Model>>(args?: SelectSubset<T, FindManyArgs<Schema, Model>>): ZenStackPromise<Schema, SimplifiedModelResult<Schema, Model, T>[]>;
|
|
1226
1211
|
/**
|
|
1227
1212
|
* Returns a uniquely identified entity.
|
|
1228
1213
|
* @param args - query args
|
|
1229
1214
|
* @returns a single entity or null if not found
|
|
1230
1215
|
* @see {@link findMany}
|
|
1231
1216
|
*/
|
|
1232
|
-
findUnique<T extends FindUniqueArgs<Schema, Model>>(args: SelectSubset<T, FindUniqueArgs<Schema, Model>>): ZenStackPromise<Schema,
|
|
1217
|
+
findUnique<T extends FindUniqueArgs<Schema, Model>>(args: SelectSubset<T, FindUniqueArgs<Schema, Model>>): ZenStackPromise<Schema, SimplifiedModelResult<Schema, Model, T> | null>;
|
|
1233
1218
|
/**
|
|
1234
1219
|
* Returns a uniquely identified entity or throws `NotFoundError` if not found.
|
|
1235
1220
|
* @param args - query args
|
|
1236
1221
|
* @returns a single entity
|
|
1237
1222
|
* @see {@link findMany}
|
|
1238
1223
|
*/
|
|
1239
|
-
findUniqueOrThrow<T extends FindUniqueArgs<Schema, Model>>(args: SelectSubset<T, FindUniqueArgs<Schema, Model>>): ZenStackPromise<Schema,
|
|
1224
|
+
findUniqueOrThrow<T extends FindUniqueArgs<Schema, Model>>(args: SelectSubset<T, FindUniqueArgs<Schema, Model>>): ZenStackPromise<Schema, SimplifiedModelResult<Schema, Model, T>>;
|
|
1240
1225
|
/**
|
|
1241
1226
|
* Returns the first entity.
|
|
1242
1227
|
* @param args - query args
|
|
1243
1228
|
* @returns a single entity or null if not found
|
|
1244
1229
|
* @see {@link findMany}
|
|
1245
1230
|
*/
|
|
1246
|
-
findFirst<T extends
|
|
1231
|
+
findFirst<T extends FindFirstArgs<Schema, Model>>(args?: SelectSubset<T, FindFirstArgs<Schema, Model>>): ZenStackPromise<Schema, SimplifiedModelResult<Schema, Model, T> | null>;
|
|
1247
1232
|
/**
|
|
1248
1233
|
* Returns the first entity or throws `NotFoundError` if not found.
|
|
1249
1234
|
* @param args - query args
|
|
1250
1235
|
* @returns a single entity
|
|
1251
1236
|
* @see {@link findMany}
|
|
1252
1237
|
*/
|
|
1253
|
-
findFirstOrThrow<T extends
|
|
1238
|
+
findFirstOrThrow<T extends FindFirstArgs<Schema, Model>>(args?: SelectSubset<T, FindFirstArgs<Schema, Model>>): ZenStackPromise<Schema, SimplifiedModelResult<Schema, Model, T>>;
|
|
1254
1239
|
/**
|
|
1255
1240
|
* Creates a new entity.
|
|
1256
1241
|
* @param args - create args
|
|
@@ -1303,7 +1288,7 @@ type AllModelOperations<Schema extends SchemaDef, Model extends GetModels<Schema
|
|
|
1303
1288
|
* });
|
|
1304
1289
|
* ```
|
|
1305
1290
|
*/
|
|
1306
|
-
create<T extends CreateArgs<Schema, Model>>(args: SelectSubset<T, CreateArgs<Schema, Model>>): ZenStackPromise<Schema,
|
|
1291
|
+
create<T extends CreateArgs<Schema, Model>>(args: SelectSubset<T, CreateArgs<Schema, Model>>): ZenStackPromise<Schema, SimplifiedModelResult<Schema, Model, T>>;
|
|
1307
1292
|
/**
|
|
1308
1293
|
* Creates multiple entities. Only scalar fields are allowed.
|
|
1309
1294
|
* @param args - create args
|
|
@@ -1348,7 +1333,7 @@ type AllModelOperations<Schema extends SchemaDef, Model extends GetModels<Schema
|
|
|
1348
1333
|
* });
|
|
1349
1334
|
* ```
|
|
1350
1335
|
*/
|
|
1351
|
-
createManyAndReturn<T extends CreateManyAndReturnArgs<Schema, Model>>(args?: SelectSubset<T, CreateManyAndReturnArgs<Schema, Model>>): ZenStackPromise<Schema,
|
|
1336
|
+
createManyAndReturn<T extends CreateManyAndReturnArgs<Schema, Model>>(args?: SelectSubset<T, CreateManyAndReturnArgs<Schema, Model>>): ZenStackPromise<Schema, SimplifiedModelResult<Schema, Model, T>[]>;
|
|
1352
1337
|
/**
|
|
1353
1338
|
* Updates a uniquely identified entity.
|
|
1354
1339
|
* @param args - update args. See {@link findMany} for how to control
|
|
@@ -1466,7 +1451,7 @@ type AllModelOperations<Schema extends SchemaDef, Model extends GetModels<Schema
|
|
|
1466
1451
|
* });
|
|
1467
1452
|
* ```
|
|
1468
1453
|
*/
|
|
1469
|
-
update<T extends UpdateArgs<Schema, Model>>(args: SelectSubset<T, UpdateArgs<Schema, Model>>): ZenStackPromise<Schema,
|
|
1454
|
+
update<T extends UpdateArgs<Schema, Model>>(args: SelectSubset<T, UpdateArgs<Schema, Model>>): ZenStackPromise<Schema, SimplifiedModelResult<Schema, Model, T>>;
|
|
1470
1455
|
/**
|
|
1471
1456
|
* Updates multiple entities.
|
|
1472
1457
|
* @param args - update args. Only scalar fields are allowed for data.
|
|
@@ -1510,7 +1495,7 @@ type AllModelOperations<Schema extends SchemaDef, Model extends GetModels<Schema
|
|
|
1510
1495
|
* });
|
|
1511
1496
|
* ```
|
|
1512
1497
|
*/
|
|
1513
|
-
updateManyAndReturn<T extends UpdateManyAndReturnArgs<Schema, Model>>(args: Subset<T, UpdateManyAndReturnArgs<Schema, Model>>): ZenStackPromise<Schema,
|
|
1498
|
+
updateManyAndReturn<T extends UpdateManyAndReturnArgs<Schema, Model>>(args: Subset<T, UpdateManyAndReturnArgs<Schema, Model>>): ZenStackPromise<Schema, SimplifiedModelResult<Schema, Model, T>[]>;
|
|
1514
1499
|
/**
|
|
1515
1500
|
* Creates or updates an entity.
|
|
1516
1501
|
* @param args - upsert args
|
|
@@ -1531,7 +1516,7 @@ type AllModelOperations<Schema extends SchemaDef, Model extends GetModels<Schema
|
|
|
1531
1516
|
* });
|
|
1532
1517
|
* ```
|
|
1533
1518
|
*/
|
|
1534
|
-
upsert<T extends UpsertArgs<Schema, Model>>(args: SelectSubset<T, UpsertArgs<Schema, Model>>): ZenStackPromise<Schema,
|
|
1519
|
+
upsert<T extends UpsertArgs<Schema, Model>>(args: SelectSubset<T, UpsertArgs<Schema, Model>>): ZenStackPromise<Schema, SimplifiedModelResult<Schema, Model, T>>;
|
|
1535
1520
|
/**
|
|
1536
1521
|
* Deletes a uniquely identifiable entity.
|
|
1537
1522
|
* @param args - delete args
|
|
@@ -1551,7 +1536,7 @@ type AllModelOperations<Schema extends SchemaDef, Model extends GetModels<Schema
|
|
|
1551
1536
|
* }); // result: `{ id: string; email: string }`
|
|
1552
1537
|
* ```
|
|
1553
1538
|
*/
|
|
1554
|
-
delete<T extends DeleteArgs<Schema, Model>>(args: SelectSubset<T, DeleteArgs<Schema, Model>>): ZenStackPromise<Schema,
|
|
1539
|
+
delete<T extends DeleteArgs<Schema, Model>>(args: SelectSubset<T, DeleteArgs<Schema, Model>>): ZenStackPromise<Schema, SimplifiedModelResult<Schema, Model, T>>;
|
|
1555
1540
|
/**
|
|
1556
1541
|
* Deletes multiple entities.
|
|
1557
1542
|
* @param args - delete args
|