@danielhritcu/zenstack-orm 3.5.12 → 3.5.14
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 +83 -22
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +29 -23
- package/dist/index.d.ts +29 -23
- package/dist/index.js +83 -22
- package/dist/index.js.map +1 -1
- package/package.json +6 -6
package/dist/index.d.cts
CHANGED
|
@@ -282,6 +282,12 @@ type ExtResultBase<Schema extends SchemaDef = SchemaDef> = {
|
|
|
282
282
|
compute: (...args: any[]) => any;
|
|
283
283
|
}>;
|
|
284
284
|
};
|
|
285
|
+
/**
|
|
286
|
+
* Extracts schema-defined result extensions emitted into `schema.plugins.extResult`.
|
|
287
|
+
*/
|
|
288
|
+
type SchemaExtResult<Schema extends SchemaDef> = Schema['plugins'] extends {
|
|
289
|
+
extResult: infer ExtResult;
|
|
290
|
+
} ? ExtResult extends ExtResultBase<Schema> ? ExtResult : {} : {};
|
|
285
291
|
/**
|
|
286
292
|
* Mapped type that provides per-field contextual typing for `compute` callbacks
|
|
287
293
|
* based on the `needs` declaration. Uses a separate type parameter `R_` that captures
|
|
@@ -1151,7 +1157,7 @@ type ShouldOmitField<Schema extends SchemaDef, Model extends GetModels<Schema>,
|
|
|
1151
1157
|
type QueryLevelOmit<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends GetModelFields<Schema, Model>, Omit> = Field extends keyof Omit ? (Omit[Field] extends boolean ? Omit[Field] : undefined) : undefined;
|
|
1152
1158
|
type OptionsLevelOmit<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends GetModelFields<Schema, Model>, Options extends QueryOptions<Schema>> = Uncapitalize<Model> extends keyof Options['omit'] ? Field extends keyof Options['omit'][Uncapitalize<Model>] ? Options['omit'][Uncapitalize<Model>][Field] extends boolean ? Options['omit'][Uncapitalize<Model>][Field] : undefined : undefined : undefined;
|
|
1153
1159
|
type SchemaLevelOmit<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends GetModelFields<Schema, Model>> = GetModelField<Schema, Model, Field>['omit'] extends true ? true : false;
|
|
1154
|
-
type ModelSelectResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Select, Omit, Options extends QueryOptions<Schema>, ExtResult extends ExtResultBase<Schema> =
|
|
1160
|
+
type ModelSelectResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Select, Omit, Options extends QueryOptions<Schema>, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = {
|
|
1155
1161
|
[Key in keyof Select as Select[Key] extends false | undefined ? never : Key extends keyof ExtractExtResult<ExtResult, Model & string> ? never : Key extends '_count' ? Select[Key] extends SelectCount<Schema, Model, Options> ? Key : never : Key extends keyof Omit ? Omit[Key] extends true ? never : Key : Key]: Key extends '_count' ? SelectCountResult<Schema, Model, Select[Key]> : Key extends NonRelationFields<Schema, Model> ? MapModelFieldType<Schema, Model, Key> : Key extends RelationFields<Schema, Model> ? ModelResult<Schema, RelationFieldType<Schema, Model, Key>, Select[Key], Options, ModelFieldIsOptional<Schema, Model, Key>, FieldIsArray<Schema, Model, Key>, ExtResult> : never;
|
|
1156
1162
|
};
|
|
1157
1163
|
type SelectCountResult<Schema extends SchemaDef, Model extends GetModels<Schema>, C> = C extends true ? {
|
|
@@ -1161,7 +1167,7 @@ type SelectCountResult<Schema extends SchemaDef, Model extends GetModels<Schema>
|
|
|
1161
1167
|
} ? {
|
|
1162
1168
|
[Key in keyof S]: number;
|
|
1163
1169
|
} : never;
|
|
1164
|
-
type ModelResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Args = {}, Options extends QueryOptions<Schema> = QueryOptions<Schema>, Optional = false, Array = false, ExtResult extends ExtResultBase<Schema> =
|
|
1170
|
+
type ModelResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Args = {}, Options extends QueryOptions<Schema> = QueryOptions<Schema>, Optional = false, Array = false, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = WrapType<(Args extends {
|
|
1165
1171
|
select: infer S extends object;
|
|
1166
1172
|
omit?: infer O extends object;
|
|
1167
1173
|
} & Record<string, unknown> ? ModelSelectResult<Schema, Model, S, O, Options, ExtResult> : Args extends {
|
|
@@ -1175,8 +1181,8 @@ DefaultModelResult<Schema, Model, O, Options, false, false> & {
|
|
|
1175
1181
|
} : {}) : Args extends {
|
|
1176
1182
|
omit: infer O;
|
|
1177
1183
|
} & Record<string, unknown> ? DefaultModelResult<Schema, Model, O, Options, false, false> : DefaultModelResult<Schema, Model, undefined, Options, false, false>) & SelectAwareExtResult<ExtResult, Model & string, Args>, Optional, Array>;
|
|
1178
|
-
type SimplifiedResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Args = {}, Options extends QueryOptions<Schema> = QueryOptions<Schema>, Optional = false, Array = false, ExtResult extends ExtResultBase<Schema> =
|
|
1179
|
-
type SimplifiedPlainResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Args = {}, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtResult extends ExtResultBase<Schema> =
|
|
1184
|
+
type SimplifiedResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Args = {}, Options extends QueryOptions<Schema> = QueryOptions<Schema>, Optional = false, Array = false, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = Simplify<ModelResult<Schema, Model, Args, Options, Optional, Array, ExtResult>>;
|
|
1185
|
+
type SimplifiedPlainResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Args = {}, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = Simplify<ModelResult<Schema, Model, Args, Options, false, false, ExtResult>>;
|
|
1180
1186
|
type TypeDefResult<Schema extends SchemaDef, TypeDef extends GetTypeDefs<Schema>, Partial extends boolean = false> = PartialIf<Optional<{
|
|
1181
1187
|
[Key in GetTypeDefFields<Schema, TypeDef>]: MapFieldDefType<Schema, GetTypeDefField<Schema, TypeDef, Key>, Partial>;
|
|
1182
1188
|
}, Partial extends true ? never : keyof {
|
|
@@ -1524,7 +1530,7 @@ type WhereUniqueInput<Schema extends SchemaDef, Model extends GetModels<Schema>,
|
|
|
1524
1530
|
type OmitInput<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
|
|
1525
1531
|
[Key in NonRelationFields<Schema, Model>]?: boolean;
|
|
1526
1532
|
};
|
|
1527
|
-
type SelectIncludeOmit<Schema extends SchemaDef, Model extends GetModels<Schema>, AllowCount extends boolean, Options extends QueryOptions<Schema> = QueryOptions<Schema>, AllowRelation extends boolean = true, ExtResult extends ExtResultBase<Schema> =
|
|
1533
|
+
type SelectIncludeOmit<Schema extends SchemaDef, Model extends GetModels<Schema>, AllowCount extends boolean, Options extends QueryOptions<Schema> = QueryOptions<Schema>, AllowRelation extends boolean = true, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = {
|
|
1528
1534
|
/**
|
|
1529
1535
|
* Explicitly select fields and relations to be returned by the query.
|
|
1530
1536
|
*/
|
|
@@ -1536,7 +1542,7 @@ type SelectIncludeOmit<Schema extends SchemaDef, Model extends GetModels<Schema>
|
|
|
1536
1542
|
} & {
|
|
1537
1543
|
[K in AllowRelation extends true ? RelationFields<Schema, Model> extends never ? never : 'include' : never]?: IncludeInput<Schema, Model, Options, AllowCount, ExtResult> | null;
|
|
1538
1544
|
};
|
|
1539
|
-
type SelectInput<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, AllowCount extends boolean = true, AllowRelation extends boolean = true, ExtResult extends ExtResultBase<Schema> =
|
|
1545
|
+
type SelectInput<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, AllowCount extends boolean = true, AllowRelation extends boolean = true, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = {
|
|
1540
1546
|
[Key in NonRelationFields<Schema, Model>]?: boolean;
|
|
1541
1547
|
} & (AllowRelation extends true ? IncludeInput<Schema, Model, Options, AllowCount, ExtResult> : {});
|
|
1542
1548
|
type SelectCount<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema>> = boolean | {
|
|
@@ -1549,7 +1555,7 @@ type SelectCount<Schema extends SchemaDef, Model extends GetModels<Schema>, Opti
|
|
|
1549
1555
|
};
|
|
1550
1556
|
};
|
|
1551
1557
|
};
|
|
1552
|
-
type IncludeInput<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, AllowCount extends boolean = true, ExtResult extends ExtResultBase<Schema> =
|
|
1558
|
+
type IncludeInput<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, AllowCount extends boolean = true, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = {
|
|
1553
1559
|
[Key in RelationFields<Schema, Model> as RelationFieldType<Schema, Model, Key> extends GetSlicedModels<Schema, Options> ? Key : never]?: boolean | FindArgs<Schema, RelationFieldType<Schema, Model, Key>, Options, FieldIsArray<Schema, Model, Key>, FieldIsArray<Schema, Model, Key> extends true ? true : ModelFieldIsOptional<Schema, Model, Key> extends true ? true : false, ExtResult>;
|
|
1554
1560
|
} & (AllowCount extends true ? HasToManyRelations<Schema, Model> extends true ? {
|
|
1555
1561
|
_count?: SelectCount<Schema, Model, Options>;
|
|
@@ -1615,23 +1621,23 @@ type SortAndTakeArgs<Schema extends SchemaDef, Model extends GetModels<Schema>,
|
|
|
1615
1621
|
*/
|
|
1616
1622
|
cursor?: WhereUniqueInput<Schema, Model, Options>;
|
|
1617
1623
|
};
|
|
1618
|
-
type FindArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema>, Collection extends boolean, AllowFilter extends boolean = true, ExtResult extends ExtResultBase<Schema> =
|
|
1624
|
+
type FindArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema>, Collection extends boolean, AllowFilter extends boolean = true, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = (Collection extends true ? SortAndTakeArgs<Schema, Model, Options> & (ProviderSupportsDistinct<Schema> extends true ? {
|
|
1619
1625
|
/**
|
|
1620
1626
|
* Distinct fields. Only supported by providers that natively support SQL "DISTINCT ON".
|
|
1621
1627
|
*/
|
|
1622
1628
|
distinct?: OrArray<NonRelationFields<Schema, Model>>;
|
|
1623
1629
|
} : {}) : {}) & (AllowFilter extends true ? FilterArgs<Schema, Model, Options> : {}) & SelectIncludeOmit<Schema, Model, true, Options, true, ExtResult>;
|
|
1624
|
-
type FindManyArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> =
|
|
1625
|
-
type FindFirstArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> =
|
|
1630
|
+
type FindManyArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = FindArgs<Schema, Model, Options, true, true, ExtResult> & ExtractExtQueryArgs<ExtQueryArgs, 'findMany'>;
|
|
1631
|
+
type FindFirstArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = FindArgs<Schema, Model, Options, true, true, ExtResult> & ExtractExtQueryArgs<ExtQueryArgs, 'findFirst'>;
|
|
1626
1632
|
type ExistsArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}> = FilterArgs<Schema, Model, Options> & ExtractExtQueryArgs<ExtQueryArgs, 'exists'>;
|
|
1627
|
-
type FindUniqueArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> =
|
|
1633
|
+
type FindUniqueArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = {
|
|
1628
1634
|
where: WhereUniqueInput<Schema, Model, Options>;
|
|
1629
1635
|
} & SelectIncludeOmit<Schema, Model, true, Options, true, ExtResult> & ExtractExtQueryArgs<ExtQueryArgs, 'findUnique'>;
|
|
1630
|
-
type CreateArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> =
|
|
1636
|
+
type CreateArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = {
|
|
1631
1637
|
data: CreateInput<Schema, Model, Options>;
|
|
1632
1638
|
} & SelectIncludeOmit<Schema, Model, true, Options, true, ExtResult> & ExtractExtQueryArgs<ExtQueryArgs, 'create'>;
|
|
1633
1639
|
type CreateManyArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, _Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}> = CreateManyInput<Schema, Model> & ExtractExtQueryArgs<ExtQueryArgs, 'createMany'>;
|
|
1634
|
-
type CreateManyAndReturnArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> =
|
|
1640
|
+
type CreateManyAndReturnArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = CreateManyInput<Schema, Model> & SelectIncludeOmit<Schema, Model, false, Options, false, ExtResult> & ExtractExtQueryArgs<ExtQueryArgs, 'createManyAndReturn'>;
|
|
1635
1641
|
type OptionalWrap<Schema extends SchemaDef, Model extends GetModels<Schema>, T extends object> = Optional<T, keyof T & OptionalFieldsForCreate<Schema, Model>>;
|
|
1636
1642
|
type CreateScalarPayload<Schema extends SchemaDef, Model extends GetModels<Schema>> = OptionalWrap<Schema, Model, {
|
|
1637
1643
|
[Key in ScalarFields<Schema, Model, false> as FieldIsDelegateDiscriminator<Schema, Model, Key> extends true ? never : Key]: ScalarCreatePayload<Schema, Model, Key>;
|
|
@@ -1694,7 +1700,7 @@ type CreateManyInput<Schema extends SchemaDef, Model extends GetModels<Schema>,
|
|
|
1694
1700
|
type CreateInput<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema>, Without extends string = never> = XOR<Omit<CreateWithFKInput<Schema, Model, Options>, Without>, Omit<CreateWithRelationInput<Schema, Model, Options>, Without>>;
|
|
1695
1701
|
type NestedCreateInput<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends RelationFields<Schema, Model>, Options extends QueryOptions<Schema>> = OrArray<CreateInput<Schema, RelationFieldType<Schema, Model, Field>, Options, OppositeRelationAndFK<Schema, Model, Field>>, FieldIsArray<Schema, Model, Field>>;
|
|
1696
1702
|
type NestedCreateManyInput<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends RelationFields<Schema, Model>> = CreateManyInput<Schema, RelationFieldType<Schema, Model, Field>, OppositeRelationAndFK<Schema, Model, Field>>;
|
|
1697
|
-
type UpdateArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> =
|
|
1703
|
+
type UpdateArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = {
|
|
1698
1704
|
/**
|
|
1699
1705
|
* The data to update the record with.
|
|
1700
1706
|
*/
|
|
@@ -1705,7 +1711,7 @@ type UpdateArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Optio
|
|
|
1705
1711
|
where: WhereUniqueInput<Schema, Model, Options>;
|
|
1706
1712
|
} & SelectIncludeOmit<Schema, Model, true, Options, true, ExtResult> & ExtractExtQueryArgs<ExtQueryArgs, 'update'>;
|
|
1707
1713
|
type UpdateManyArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}> = UpdateManyPayload<Schema, Model, Options> & ExtractExtQueryArgs<ExtQueryArgs, 'updateMany'>;
|
|
1708
|
-
type UpdateManyAndReturnArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> =
|
|
1714
|
+
type UpdateManyAndReturnArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = UpdateManyPayload<Schema, Model, Options> & SelectIncludeOmit<Schema, Model, false, Options, false, ExtResult> & ExtractExtQueryArgs<ExtQueryArgs, 'updateManyAndReturn'>;
|
|
1709
1715
|
type UpdateManyPayload<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, Without extends string = never> = {
|
|
1710
1716
|
/**
|
|
1711
1717
|
* The data to update the records with.
|
|
@@ -1720,7 +1726,7 @@ type UpdateManyPayload<Schema extends SchemaDef, Model extends GetModels<Schema>
|
|
|
1720
1726
|
*/
|
|
1721
1727
|
limit?: number;
|
|
1722
1728
|
};
|
|
1723
|
-
type UpsertArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> =
|
|
1729
|
+
type UpsertArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = {
|
|
1724
1730
|
/**
|
|
1725
1731
|
* The data to create the record if it doesn't exist.
|
|
1726
1732
|
*/
|
|
@@ -1850,7 +1856,7 @@ type ToOneRelationUpdateInput<Schema extends SchemaDef, Model extends GetModels<
|
|
|
1850
1856
|
*/
|
|
1851
1857
|
delete?: NestedDeleteInput<Schema, Model, Field, Options>;
|
|
1852
1858
|
} : {}), RelationModelAllowsCreate<Schema, Model, Field> extends true ? never : 'create' | 'connectOrCreate' | 'upsert'>;
|
|
1853
|
-
type DeleteArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> =
|
|
1859
|
+
type DeleteArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = {
|
|
1854
1860
|
/**
|
|
1855
1861
|
* The unique filter to find the record to delete.
|
|
1856
1862
|
*/
|
|
@@ -2315,7 +2321,7 @@ declare enum TransactionIsolationLevel {
|
|
|
2315
2321
|
/**
|
|
2316
2322
|
* ZenStack client interface.
|
|
2317
2323
|
*/
|
|
2318
|
-
type ClientContract<Schema extends SchemaDef, Options extends ClientOptions<Schema> = ClientOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtClientMembers extends ExtClientMembersBase = {}, ExtResult extends ExtResultBase<Schema> =
|
|
2324
|
+
type ClientContract<Schema extends SchemaDef, Options extends ClientOptions<Schema> = ClientOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtClientMembers extends ExtClientMembersBase = {}, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = {
|
|
2319
2325
|
/**
|
|
2320
2326
|
* The schema definition.
|
|
2321
2327
|
*/
|
|
@@ -2488,7 +2494,7 @@ type ClientContract<Schema extends SchemaDef, Options extends ClientOptions<Sche
|
|
|
2488
2494
|
/**
|
|
2489
2495
|
* The contract for a client in a transaction.
|
|
2490
2496
|
*/
|
|
2491
|
-
type TransactionClientContract<Schema extends SchemaDef, Options extends ClientOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase, ExtClientMembers extends ExtClientMembersBase, ExtResult extends ExtResultBase<Schema> =
|
|
2497
|
+
type TransactionClientContract<Schema extends SchemaDef, Options extends ClientOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase, ExtClientMembers extends ExtClientMembersBase, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = Omit<ClientContract<Schema, Options, ExtQueryArgs, ExtClientMembers, ExtResult>, TransactionUnsupportedMethods>;
|
|
2492
2498
|
type ProcedureOperations<Schema extends SchemaDef, Options extends ClientOptions<Schema> = ClientOptions<Schema>> = Schema['procedures'] extends Record<string, ProcedureDef> ? {
|
|
2493
2499
|
/**
|
|
2494
2500
|
* Custom procedures.
|
|
@@ -2522,7 +2528,7 @@ declare const CRUD_EXT: readonly ["create", "read", "update", "delete", "post-up
|
|
|
2522
2528
|
type SliceOperations<T extends Record<string, unknown>, Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends ClientOptions<Schema>> = Omit<{
|
|
2523
2529
|
[Key in keyof T as Key extends GetSlicedOperations<Schema, Model, Options> ? Key : never]: T[Key];
|
|
2524
2530
|
}, ModelAllowsCreate<Schema, Model> extends true ? never : OperationsRequiringCreate>;
|
|
2525
|
-
type AllModelOperations<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase, ExtResult extends ExtResultBase<Schema> =
|
|
2531
|
+
type AllModelOperations<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = CommonModelOperations<Schema, Model, Options, ExtQueryArgs, ExtResult> & (Schema['provider']['type'] extends 'mysql' ? {} : {
|
|
2526
2532
|
/**
|
|
2527
2533
|
* Creates multiple entities and returns them.
|
|
2528
2534
|
* @param args - create args. See {@link createMany} for input. Use
|
|
@@ -2566,7 +2572,7 @@ type AllModelOperations<Schema extends SchemaDef, Model extends GetModels<Schema
|
|
|
2566
2572
|
*/
|
|
2567
2573
|
updateManyAndReturn<T extends UpdateManyAndReturnArgs<Schema, Model, Options, ExtQueryArgs, ExtResult>>(args: Subset<T, UpdateManyAndReturnArgs<Schema, Model, Options, ExtQueryArgs, ExtResult>>): ZenStackPromise<Schema, SimplifiedPlainResult<Schema, Model, T, Options, ExtResult>[]>;
|
|
2568
2574
|
});
|
|
2569
|
-
type CommonModelOperations<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase, ExtResult extends ExtResultBase<Schema> =
|
|
2575
|
+
type CommonModelOperations<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = {
|
|
2570
2576
|
/**
|
|
2571
2577
|
* Returns a list of entities.
|
|
2572
2578
|
* @param args - query args
|
|
@@ -3070,7 +3076,7 @@ type CommonModelOperations<Schema extends SchemaDef, Model extends GetModels<Sch
|
|
|
3070
3076
|
}): ZenStackPromise<Schema, PaginatedCursor<SimplifiedPlainResult<Schema, Model, T, Options, ExtResult>>>;
|
|
3071
3077
|
};
|
|
3072
3078
|
type OperationsRequiringCreate = 'create' | 'createMany' | 'createManyAndReturn' | 'upsert';
|
|
3073
|
-
type ModelOperations<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends ClientOptions<Schema> = ClientOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> =
|
|
3079
|
+
type ModelOperations<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends ClientOptions<Schema> = ClientOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = SliceOperations<AllModelOperations<Schema, Model, Options, ExtQueryArgs, ExtResult>, Schema, Model, Options>;
|
|
3074
3080
|
/**
|
|
3075
3081
|
* Type for auth context that includes both scalar and relation fields.
|
|
3076
3082
|
* Relations are recursively included to allow nested auth data like { user: { profile: { ... } } }
|
|
@@ -3476,4 +3482,4 @@ declare namespace schemaUtils {
|
|
|
3476
3482
|
export { schemaUtils_ExpressionVisitor as ExpressionVisitor, schemaUtils_MatchingExpressionVisitor as MatchingExpressionVisitor, type schemaUtils_VisitResult as VisitResult };
|
|
3477
3483
|
}
|
|
3478
3484
|
|
|
3479
|
-
export { type AfterEntityMutationCallback, type AggregateArgs, type AggregateResult, AllCrudOperations, type AllModelOperations, AllReadOperations, AnyNull, AnyNullClass, type AnyPlugin, type AuthType, BaseCrudDialect, type BatchResult, type BeforeEntityMutationCallback, type BooleanFilter, type BytesFilter, CRUD, CRUD_EXT, type ClientConstructor, type ClientContract, type ClientOptions, type ComputedFieldsOptions, CoreCreateOperations, CoreCrudOperations, CoreDeleteOperations, CoreReadOperations, CoreUpdateOperations, CoreWriteOperations, type CountArgs, type CountResult, type CreateArgs, type CreateInput, type CreateManyAndReturnArgs, type CreateManyArgs, type CreateManyInput, type DateTimeFilter, DbNull, DbNullClass, type DefaultModelResult, type DefaultWhereConfig, type DeleteArgs, type DeleteManyArgs, type EntityMutationHooksDef, type ExistsArgs, type ExtClientMembersBase, type ExtQueryArgsBase, type ExtResultBase, type ExtResultInferenceArgs, type ExtResultSelectOmitFields, type ExtractExtResult, type FilterKind, type FindArgs, type FindFirstArgs, type FindManyArgs, type FindUniqueArgs, type GetAllIncludedOperations, type GetIncludedOperations, type GetProcedure, type GetProcedureNames, type GetProcedureParams, type GetQueryOptions, type GetSlicedFilterKindsForField, type GetSlicedModels, type GetSlicedOperations, type GetSlicedProcedures, type GroupByArgs, type GroupByResult, type HasComputedFields, type HasProcedures, type IncludeInput, InputValidator, type JsonArray, type JsonFilter, JsonNull, JsonNullClass, type JsonNullValues, type JsonObject, type JsonValue, kyselyUtils as KyselyUtils, LOGICAL_COMBINATORS, type MapModelFieldType, type ModelAllowsCreate, type ModelHasRequiredUnsupportedField, type ModelOperations, type ModelResult, type ModelSlicingOptions, type NullsOrder, type NumberFilter, ORMError, ORMErrorReason, type OmitConfig, type OmitInput, type OnKyselyQueryArgs, type OnKyselyQueryCallback, type OnProcedureHookContext, type OperationsRequiringCreate, type OrderBy, type PaginatedCursor, type PaginatedOffset, type PluginAfterEntityMutationArgs, type PluginBeforeEntityMutationArgs, type ProcedureEnvelope, type ProcedureFunc, type ProcedureHandlerFunc, type ProcedureOperations, type ProceduresOptions, type ProceedKyselyQueryFunction, type QueryOptions, queryUtils as QueryUtils, RejectedByPolicyReason, type RuntimePlugin, schemaUtils as SchemaUtils, type SearchFieldMap, type SearchMode, type SearchPayload, type SearchStrategy, type SelectAwareExtResult, type SelectIncludeOmit, type SelectInput, type SelectSubset, type SimplifiedPlainResult, type SimplifiedResult, type SlicingOptions, type SortOrder, type StringFilter, type Subset, type ToKysely, type TransactionClientContract, TransactionIsolationLevel, type TypeDefResult, type TypedJsonFilter, type UpdateArgs, type UpdateInput, type UpdateManyAndReturnArgs, type UpdateManyArgs, type UpsertArgs, type WhereInput, type WhereUniqueInput, ZENSTACK_QUERY_KIND_SYMBOL, ZENSTACK_QUERY_SYMBOL, type ZModelFunction, type ZModelFunctionContext, ZenStackClient, type ZenStackPromise, type ZenStackQueryKind, createQuerySchemaFactory, definePlugin, getCrudDialect };
|
|
3485
|
+
export { type AfterEntityMutationCallback, type AggregateArgs, type AggregateResult, AllCrudOperations, type AllModelOperations, AllReadOperations, AnyNull, AnyNullClass, type AnyPlugin, type AuthType, BaseCrudDialect, type BatchResult, type BeforeEntityMutationCallback, type BooleanFilter, type BytesFilter, CRUD, CRUD_EXT, type ClientConstructor, type ClientContract, type ClientOptions, type ComputedFieldsOptions, CoreCreateOperations, CoreCrudOperations, CoreDeleteOperations, CoreReadOperations, CoreUpdateOperations, CoreWriteOperations, type CountArgs, type CountResult, type CreateArgs, type CreateInput, type CreateManyAndReturnArgs, type CreateManyArgs, type CreateManyInput, type DateTimeFilter, DbNull, DbNullClass, type DefaultModelResult, type DefaultWhereConfig, type DeleteArgs, type DeleteManyArgs, type EntityMutationHooksDef, type ExistsArgs, type ExtClientMembersBase, type ExtQueryArgsBase, type ExtResultBase, type ExtResultInferenceArgs, type ExtResultSelectOmitFields, type ExtractExtResult, type FilterKind, type FindArgs, type FindFirstArgs, type FindManyArgs, type FindUniqueArgs, type GetAllIncludedOperations, type GetIncludedOperations, type GetProcedure, type GetProcedureNames, type GetProcedureParams, type GetQueryOptions, type GetSlicedFilterKindsForField, type GetSlicedModels, type GetSlicedOperations, type GetSlicedProcedures, type GroupByArgs, type GroupByResult, type HasComputedFields, type HasProcedures, type IncludeInput, InputValidator, type JsonArray, type JsonFilter, JsonNull, JsonNullClass, type JsonNullValues, type JsonObject, type JsonValue, kyselyUtils as KyselyUtils, LOGICAL_COMBINATORS, type MapModelFieldType, type ModelAllowsCreate, type ModelHasRequiredUnsupportedField, type ModelOperations, type ModelResult, type ModelSlicingOptions, type NullsOrder, type NumberFilter, ORMError, ORMErrorReason, type OmitConfig, type OmitInput, type OnKyselyQueryArgs, type OnKyselyQueryCallback, type OnProcedureHookContext, type OperationsRequiringCreate, type OrderBy, type PaginatedCursor, type PaginatedOffset, type PluginAfterEntityMutationArgs, type PluginBeforeEntityMutationArgs, type ProcedureEnvelope, type ProcedureFunc, type ProcedureHandlerFunc, type ProcedureOperations, type ProceduresOptions, type ProceedKyselyQueryFunction, type QueryOptions, queryUtils as QueryUtils, RejectedByPolicyReason, type RuntimePlugin, type SchemaExtResult, schemaUtils as SchemaUtils, type SearchFieldMap, type SearchMode, type SearchPayload, type SearchStrategy, type SelectAwareExtResult, type SelectIncludeOmit, type SelectInput, type SelectSubset, type SimplifiedPlainResult, type SimplifiedResult, type SlicingOptions, type SortOrder, type StringFilter, type Subset, type ToKysely, type TransactionClientContract, TransactionIsolationLevel, type TypeDefResult, type TypedJsonFilter, type UpdateArgs, type UpdateInput, type UpdateManyAndReturnArgs, type UpdateManyArgs, type UpsertArgs, type WhereInput, type WhereUniqueInput, ZENSTACK_QUERY_KIND_SYMBOL, ZENSTACK_QUERY_SYMBOL, type ZModelFunction, type ZModelFunctionContext, ZenStackClient, type ZenStackPromise, type ZenStackQueryKind, createQuerySchemaFactory, definePlugin, getCrudDialect };
|
package/dist/index.d.ts
CHANGED
|
@@ -282,6 +282,12 @@ type ExtResultBase<Schema extends SchemaDef = SchemaDef> = {
|
|
|
282
282
|
compute: (...args: any[]) => any;
|
|
283
283
|
}>;
|
|
284
284
|
};
|
|
285
|
+
/**
|
|
286
|
+
* Extracts schema-defined result extensions emitted into `schema.plugins.extResult`.
|
|
287
|
+
*/
|
|
288
|
+
type SchemaExtResult<Schema extends SchemaDef> = Schema['plugins'] extends {
|
|
289
|
+
extResult: infer ExtResult;
|
|
290
|
+
} ? ExtResult extends ExtResultBase<Schema> ? ExtResult : {} : {};
|
|
285
291
|
/**
|
|
286
292
|
* Mapped type that provides per-field contextual typing for `compute` callbacks
|
|
287
293
|
* based on the `needs` declaration. Uses a separate type parameter `R_` that captures
|
|
@@ -1151,7 +1157,7 @@ type ShouldOmitField<Schema extends SchemaDef, Model extends GetModels<Schema>,
|
|
|
1151
1157
|
type QueryLevelOmit<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends GetModelFields<Schema, Model>, Omit> = Field extends keyof Omit ? (Omit[Field] extends boolean ? Omit[Field] : undefined) : undefined;
|
|
1152
1158
|
type OptionsLevelOmit<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends GetModelFields<Schema, Model>, Options extends QueryOptions<Schema>> = Uncapitalize<Model> extends keyof Options['omit'] ? Field extends keyof Options['omit'][Uncapitalize<Model>] ? Options['omit'][Uncapitalize<Model>][Field] extends boolean ? Options['omit'][Uncapitalize<Model>][Field] : undefined : undefined : undefined;
|
|
1153
1159
|
type SchemaLevelOmit<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends GetModelFields<Schema, Model>> = GetModelField<Schema, Model, Field>['omit'] extends true ? true : false;
|
|
1154
|
-
type ModelSelectResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Select, Omit, Options extends QueryOptions<Schema>, ExtResult extends ExtResultBase<Schema> =
|
|
1160
|
+
type ModelSelectResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Select, Omit, Options extends QueryOptions<Schema>, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = {
|
|
1155
1161
|
[Key in keyof Select as Select[Key] extends false | undefined ? never : Key extends keyof ExtractExtResult<ExtResult, Model & string> ? never : Key extends '_count' ? Select[Key] extends SelectCount<Schema, Model, Options> ? Key : never : Key extends keyof Omit ? Omit[Key] extends true ? never : Key : Key]: Key extends '_count' ? SelectCountResult<Schema, Model, Select[Key]> : Key extends NonRelationFields<Schema, Model> ? MapModelFieldType<Schema, Model, Key> : Key extends RelationFields<Schema, Model> ? ModelResult<Schema, RelationFieldType<Schema, Model, Key>, Select[Key], Options, ModelFieldIsOptional<Schema, Model, Key>, FieldIsArray<Schema, Model, Key>, ExtResult> : never;
|
|
1156
1162
|
};
|
|
1157
1163
|
type SelectCountResult<Schema extends SchemaDef, Model extends GetModels<Schema>, C> = C extends true ? {
|
|
@@ -1161,7 +1167,7 @@ type SelectCountResult<Schema extends SchemaDef, Model extends GetModels<Schema>
|
|
|
1161
1167
|
} ? {
|
|
1162
1168
|
[Key in keyof S]: number;
|
|
1163
1169
|
} : never;
|
|
1164
|
-
type ModelResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Args = {}, Options extends QueryOptions<Schema> = QueryOptions<Schema>, Optional = false, Array = false, ExtResult extends ExtResultBase<Schema> =
|
|
1170
|
+
type ModelResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Args = {}, Options extends QueryOptions<Schema> = QueryOptions<Schema>, Optional = false, Array = false, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = WrapType<(Args extends {
|
|
1165
1171
|
select: infer S extends object;
|
|
1166
1172
|
omit?: infer O extends object;
|
|
1167
1173
|
} & Record<string, unknown> ? ModelSelectResult<Schema, Model, S, O, Options, ExtResult> : Args extends {
|
|
@@ -1175,8 +1181,8 @@ DefaultModelResult<Schema, Model, O, Options, false, false> & {
|
|
|
1175
1181
|
} : {}) : Args extends {
|
|
1176
1182
|
omit: infer O;
|
|
1177
1183
|
} & Record<string, unknown> ? DefaultModelResult<Schema, Model, O, Options, false, false> : DefaultModelResult<Schema, Model, undefined, Options, false, false>) & SelectAwareExtResult<ExtResult, Model & string, Args>, Optional, Array>;
|
|
1178
|
-
type SimplifiedResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Args = {}, Options extends QueryOptions<Schema> = QueryOptions<Schema>, Optional = false, Array = false, ExtResult extends ExtResultBase<Schema> =
|
|
1179
|
-
type SimplifiedPlainResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Args = {}, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtResult extends ExtResultBase<Schema> =
|
|
1184
|
+
type SimplifiedResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Args = {}, Options extends QueryOptions<Schema> = QueryOptions<Schema>, Optional = false, Array = false, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = Simplify<ModelResult<Schema, Model, Args, Options, Optional, Array, ExtResult>>;
|
|
1185
|
+
type SimplifiedPlainResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Args = {}, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = Simplify<ModelResult<Schema, Model, Args, Options, false, false, ExtResult>>;
|
|
1180
1186
|
type TypeDefResult<Schema extends SchemaDef, TypeDef extends GetTypeDefs<Schema>, Partial extends boolean = false> = PartialIf<Optional<{
|
|
1181
1187
|
[Key in GetTypeDefFields<Schema, TypeDef>]: MapFieldDefType<Schema, GetTypeDefField<Schema, TypeDef, Key>, Partial>;
|
|
1182
1188
|
}, Partial extends true ? never : keyof {
|
|
@@ -1524,7 +1530,7 @@ type WhereUniqueInput<Schema extends SchemaDef, Model extends GetModels<Schema>,
|
|
|
1524
1530
|
type OmitInput<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
|
|
1525
1531
|
[Key in NonRelationFields<Schema, Model>]?: boolean;
|
|
1526
1532
|
};
|
|
1527
|
-
type SelectIncludeOmit<Schema extends SchemaDef, Model extends GetModels<Schema>, AllowCount extends boolean, Options extends QueryOptions<Schema> = QueryOptions<Schema>, AllowRelation extends boolean = true, ExtResult extends ExtResultBase<Schema> =
|
|
1533
|
+
type SelectIncludeOmit<Schema extends SchemaDef, Model extends GetModels<Schema>, AllowCount extends boolean, Options extends QueryOptions<Schema> = QueryOptions<Schema>, AllowRelation extends boolean = true, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = {
|
|
1528
1534
|
/**
|
|
1529
1535
|
* Explicitly select fields and relations to be returned by the query.
|
|
1530
1536
|
*/
|
|
@@ -1536,7 +1542,7 @@ type SelectIncludeOmit<Schema extends SchemaDef, Model extends GetModels<Schema>
|
|
|
1536
1542
|
} & {
|
|
1537
1543
|
[K in AllowRelation extends true ? RelationFields<Schema, Model> extends never ? never : 'include' : never]?: IncludeInput<Schema, Model, Options, AllowCount, ExtResult> | null;
|
|
1538
1544
|
};
|
|
1539
|
-
type SelectInput<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, AllowCount extends boolean = true, AllowRelation extends boolean = true, ExtResult extends ExtResultBase<Schema> =
|
|
1545
|
+
type SelectInput<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, AllowCount extends boolean = true, AllowRelation extends boolean = true, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = {
|
|
1540
1546
|
[Key in NonRelationFields<Schema, Model>]?: boolean;
|
|
1541
1547
|
} & (AllowRelation extends true ? IncludeInput<Schema, Model, Options, AllowCount, ExtResult> : {});
|
|
1542
1548
|
type SelectCount<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema>> = boolean | {
|
|
@@ -1549,7 +1555,7 @@ type SelectCount<Schema extends SchemaDef, Model extends GetModels<Schema>, Opti
|
|
|
1549
1555
|
};
|
|
1550
1556
|
};
|
|
1551
1557
|
};
|
|
1552
|
-
type IncludeInput<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, AllowCount extends boolean = true, ExtResult extends ExtResultBase<Schema> =
|
|
1558
|
+
type IncludeInput<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, AllowCount extends boolean = true, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = {
|
|
1553
1559
|
[Key in RelationFields<Schema, Model> as RelationFieldType<Schema, Model, Key> extends GetSlicedModels<Schema, Options> ? Key : never]?: boolean | FindArgs<Schema, RelationFieldType<Schema, Model, Key>, Options, FieldIsArray<Schema, Model, Key>, FieldIsArray<Schema, Model, Key> extends true ? true : ModelFieldIsOptional<Schema, Model, Key> extends true ? true : false, ExtResult>;
|
|
1554
1560
|
} & (AllowCount extends true ? HasToManyRelations<Schema, Model> extends true ? {
|
|
1555
1561
|
_count?: SelectCount<Schema, Model, Options>;
|
|
@@ -1615,23 +1621,23 @@ type SortAndTakeArgs<Schema extends SchemaDef, Model extends GetModels<Schema>,
|
|
|
1615
1621
|
*/
|
|
1616
1622
|
cursor?: WhereUniqueInput<Schema, Model, Options>;
|
|
1617
1623
|
};
|
|
1618
|
-
type FindArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema>, Collection extends boolean, AllowFilter extends boolean = true, ExtResult extends ExtResultBase<Schema> =
|
|
1624
|
+
type FindArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema>, Collection extends boolean, AllowFilter extends boolean = true, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = (Collection extends true ? SortAndTakeArgs<Schema, Model, Options> & (ProviderSupportsDistinct<Schema> extends true ? {
|
|
1619
1625
|
/**
|
|
1620
1626
|
* Distinct fields. Only supported by providers that natively support SQL "DISTINCT ON".
|
|
1621
1627
|
*/
|
|
1622
1628
|
distinct?: OrArray<NonRelationFields<Schema, Model>>;
|
|
1623
1629
|
} : {}) : {}) & (AllowFilter extends true ? FilterArgs<Schema, Model, Options> : {}) & SelectIncludeOmit<Schema, Model, true, Options, true, ExtResult>;
|
|
1624
|
-
type FindManyArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> =
|
|
1625
|
-
type FindFirstArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> =
|
|
1630
|
+
type FindManyArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = FindArgs<Schema, Model, Options, true, true, ExtResult> & ExtractExtQueryArgs<ExtQueryArgs, 'findMany'>;
|
|
1631
|
+
type FindFirstArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = FindArgs<Schema, Model, Options, true, true, ExtResult> & ExtractExtQueryArgs<ExtQueryArgs, 'findFirst'>;
|
|
1626
1632
|
type ExistsArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}> = FilterArgs<Schema, Model, Options> & ExtractExtQueryArgs<ExtQueryArgs, 'exists'>;
|
|
1627
|
-
type FindUniqueArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> =
|
|
1633
|
+
type FindUniqueArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = {
|
|
1628
1634
|
where: WhereUniqueInput<Schema, Model, Options>;
|
|
1629
1635
|
} & SelectIncludeOmit<Schema, Model, true, Options, true, ExtResult> & ExtractExtQueryArgs<ExtQueryArgs, 'findUnique'>;
|
|
1630
|
-
type CreateArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> =
|
|
1636
|
+
type CreateArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = {
|
|
1631
1637
|
data: CreateInput<Schema, Model, Options>;
|
|
1632
1638
|
} & SelectIncludeOmit<Schema, Model, true, Options, true, ExtResult> & ExtractExtQueryArgs<ExtQueryArgs, 'create'>;
|
|
1633
1639
|
type CreateManyArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, _Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}> = CreateManyInput<Schema, Model> & ExtractExtQueryArgs<ExtQueryArgs, 'createMany'>;
|
|
1634
|
-
type CreateManyAndReturnArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> =
|
|
1640
|
+
type CreateManyAndReturnArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = CreateManyInput<Schema, Model> & SelectIncludeOmit<Schema, Model, false, Options, false, ExtResult> & ExtractExtQueryArgs<ExtQueryArgs, 'createManyAndReturn'>;
|
|
1635
1641
|
type OptionalWrap<Schema extends SchemaDef, Model extends GetModels<Schema>, T extends object> = Optional<T, keyof T & OptionalFieldsForCreate<Schema, Model>>;
|
|
1636
1642
|
type CreateScalarPayload<Schema extends SchemaDef, Model extends GetModels<Schema>> = OptionalWrap<Schema, Model, {
|
|
1637
1643
|
[Key in ScalarFields<Schema, Model, false> as FieldIsDelegateDiscriminator<Schema, Model, Key> extends true ? never : Key]: ScalarCreatePayload<Schema, Model, Key>;
|
|
@@ -1694,7 +1700,7 @@ type CreateManyInput<Schema extends SchemaDef, Model extends GetModels<Schema>,
|
|
|
1694
1700
|
type CreateInput<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema>, Without extends string = never> = XOR<Omit<CreateWithFKInput<Schema, Model, Options>, Without>, Omit<CreateWithRelationInput<Schema, Model, Options>, Without>>;
|
|
1695
1701
|
type NestedCreateInput<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends RelationFields<Schema, Model>, Options extends QueryOptions<Schema>> = OrArray<CreateInput<Schema, RelationFieldType<Schema, Model, Field>, Options, OppositeRelationAndFK<Schema, Model, Field>>, FieldIsArray<Schema, Model, Field>>;
|
|
1696
1702
|
type NestedCreateManyInput<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends RelationFields<Schema, Model>> = CreateManyInput<Schema, RelationFieldType<Schema, Model, Field>, OppositeRelationAndFK<Schema, Model, Field>>;
|
|
1697
|
-
type UpdateArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> =
|
|
1703
|
+
type UpdateArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = {
|
|
1698
1704
|
/**
|
|
1699
1705
|
* The data to update the record with.
|
|
1700
1706
|
*/
|
|
@@ -1705,7 +1711,7 @@ type UpdateArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Optio
|
|
|
1705
1711
|
where: WhereUniqueInput<Schema, Model, Options>;
|
|
1706
1712
|
} & SelectIncludeOmit<Schema, Model, true, Options, true, ExtResult> & ExtractExtQueryArgs<ExtQueryArgs, 'update'>;
|
|
1707
1713
|
type UpdateManyArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}> = UpdateManyPayload<Schema, Model, Options> & ExtractExtQueryArgs<ExtQueryArgs, 'updateMany'>;
|
|
1708
|
-
type UpdateManyAndReturnArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> =
|
|
1714
|
+
type UpdateManyAndReturnArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = UpdateManyPayload<Schema, Model, Options> & SelectIncludeOmit<Schema, Model, false, Options, false, ExtResult> & ExtractExtQueryArgs<ExtQueryArgs, 'updateManyAndReturn'>;
|
|
1709
1715
|
type UpdateManyPayload<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, Without extends string = never> = {
|
|
1710
1716
|
/**
|
|
1711
1717
|
* The data to update the records with.
|
|
@@ -1720,7 +1726,7 @@ type UpdateManyPayload<Schema extends SchemaDef, Model extends GetModels<Schema>
|
|
|
1720
1726
|
*/
|
|
1721
1727
|
limit?: number;
|
|
1722
1728
|
};
|
|
1723
|
-
type UpsertArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> =
|
|
1729
|
+
type UpsertArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = {
|
|
1724
1730
|
/**
|
|
1725
1731
|
* The data to create the record if it doesn't exist.
|
|
1726
1732
|
*/
|
|
@@ -1850,7 +1856,7 @@ type ToOneRelationUpdateInput<Schema extends SchemaDef, Model extends GetModels<
|
|
|
1850
1856
|
*/
|
|
1851
1857
|
delete?: NestedDeleteInput<Schema, Model, Field, Options>;
|
|
1852
1858
|
} : {}), RelationModelAllowsCreate<Schema, Model, Field> extends true ? never : 'create' | 'connectOrCreate' | 'upsert'>;
|
|
1853
|
-
type DeleteArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> =
|
|
1859
|
+
type DeleteArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema> = QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = {
|
|
1854
1860
|
/**
|
|
1855
1861
|
* The unique filter to find the record to delete.
|
|
1856
1862
|
*/
|
|
@@ -2315,7 +2321,7 @@ declare enum TransactionIsolationLevel {
|
|
|
2315
2321
|
/**
|
|
2316
2322
|
* ZenStack client interface.
|
|
2317
2323
|
*/
|
|
2318
|
-
type ClientContract<Schema extends SchemaDef, Options extends ClientOptions<Schema> = ClientOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtClientMembers extends ExtClientMembersBase = {}, ExtResult extends ExtResultBase<Schema> =
|
|
2324
|
+
type ClientContract<Schema extends SchemaDef, Options extends ClientOptions<Schema> = ClientOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtClientMembers extends ExtClientMembersBase = {}, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = {
|
|
2319
2325
|
/**
|
|
2320
2326
|
* The schema definition.
|
|
2321
2327
|
*/
|
|
@@ -2488,7 +2494,7 @@ type ClientContract<Schema extends SchemaDef, Options extends ClientOptions<Sche
|
|
|
2488
2494
|
/**
|
|
2489
2495
|
* The contract for a client in a transaction.
|
|
2490
2496
|
*/
|
|
2491
|
-
type TransactionClientContract<Schema extends SchemaDef, Options extends ClientOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase, ExtClientMembers extends ExtClientMembersBase, ExtResult extends ExtResultBase<Schema> =
|
|
2497
|
+
type TransactionClientContract<Schema extends SchemaDef, Options extends ClientOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase, ExtClientMembers extends ExtClientMembersBase, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = Omit<ClientContract<Schema, Options, ExtQueryArgs, ExtClientMembers, ExtResult>, TransactionUnsupportedMethods>;
|
|
2492
2498
|
type ProcedureOperations<Schema extends SchemaDef, Options extends ClientOptions<Schema> = ClientOptions<Schema>> = Schema['procedures'] extends Record<string, ProcedureDef> ? {
|
|
2493
2499
|
/**
|
|
2494
2500
|
* Custom procedures.
|
|
@@ -2522,7 +2528,7 @@ declare const CRUD_EXT: readonly ["create", "read", "update", "delete", "post-up
|
|
|
2522
2528
|
type SliceOperations<T extends Record<string, unknown>, Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends ClientOptions<Schema>> = Omit<{
|
|
2523
2529
|
[Key in keyof T as Key extends GetSlicedOperations<Schema, Model, Options> ? Key : never]: T[Key];
|
|
2524
2530
|
}, ModelAllowsCreate<Schema, Model> extends true ? never : OperationsRequiringCreate>;
|
|
2525
|
-
type AllModelOperations<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase, ExtResult extends ExtResultBase<Schema> =
|
|
2531
|
+
type AllModelOperations<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = CommonModelOperations<Schema, Model, Options, ExtQueryArgs, ExtResult> & (Schema['provider']['type'] extends 'mysql' ? {} : {
|
|
2526
2532
|
/**
|
|
2527
2533
|
* Creates multiple entities and returns them.
|
|
2528
2534
|
* @param args - create args. See {@link createMany} for input. Use
|
|
@@ -2566,7 +2572,7 @@ type AllModelOperations<Schema extends SchemaDef, Model extends GetModels<Schema
|
|
|
2566
2572
|
*/
|
|
2567
2573
|
updateManyAndReturn<T extends UpdateManyAndReturnArgs<Schema, Model, Options, ExtQueryArgs, ExtResult>>(args: Subset<T, UpdateManyAndReturnArgs<Schema, Model, Options, ExtQueryArgs, ExtResult>>): ZenStackPromise<Schema, SimplifiedPlainResult<Schema, Model, T, Options, ExtResult>[]>;
|
|
2568
2574
|
});
|
|
2569
|
-
type CommonModelOperations<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase, ExtResult extends ExtResultBase<Schema> =
|
|
2575
|
+
type CommonModelOperations<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends QueryOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = {
|
|
2570
2576
|
/**
|
|
2571
2577
|
* Returns a list of entities.
|
|
2572
2578
|
* @param args - query args
|
|
@@ -3070,7 +3076,7 @@ type CommonModelOperations<Schema extends SchemaDef, Model extends GetModels<Sch
|
|
|
3070
3076
|
}): ZenStackPromise<Schema, PaginatedCursor<SimplifiedPlainResult<Schema, Model, T, Options, ExtResult>>>;
|
|
3071
3077
|
};
|
|
3072
3078
|
type OperationsRequiringCreate = 'create' | 'createMany' | 'createManyAndReturn' | 'upsert';
|
|
3073
|
-
type ModelOperations<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends ClientOptions<Schema> = ClientOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> =
|
|
3079
|
+
type ModelOperations<Schema extends SchemaDef, Model extends GetModels<Schema>, Options extends ClientOptions<Schema> = ClientOptions<Schema>, ExtQueryArgs extends ExtQueryArgsBase = {}, ExtResult extends ExtResultBase<Schema> = SchemaExtResult<Schema>> = SliceOperations<AllModelOperations<Schema, Model, Options, ExtQueryArgs, ExtResult>, Schema, Model, Options>;
|
|
3074
3080
|
/**
|
|
3075
3081
|
* Type for auth context that includes both scalar and relation fields.
|
|
3076
3082
|
* Relations are recursively included to allow nested auth data like { user: { profile: { ... } } }
|
|
@@ -3476,4 +3482,4 @@ declare namespace schemaUtils {
|
|
|
3476
3482
|
export { schemaUtils_ExpressionVisitor as ExpressionVisitor, schemaUtils_MatchingExpressionVisitor as MatchingExpressionVisitor, type schemaUtils_VisitResult as VisitResult };
|
|
3477
3483
|
}
|
|
3478
3484
|
|
|
3479
|
-
export { type AfterEntityMutationCallback, type AggregateArgs, type AggregateResult, AllCrudOperations, type AllModelOperations, AllReadOperations, AnyNull, AnyNullClass, type AnyPlugin, type AuthType, BaseCrudDialect, type BatchResult, type BeforeEntityMutationCallback, type BooleanFilter, type BytesFilter, CRUD, CRUD_EXT, type ClientConstructor, type ClientContract, type ClientOptions, type ComputedFieldsOptions, CoreCreateOperations, CoreCrudOperations, CoreDeleteOperations, CoreReadOperations, CoreUpdateOperations, CoreWriteOperations, type CountArgs, type CountResult, type CreateArgs, type CreateInput, type CreateManyAndReturnArgs, type CreateManyArgs, type CreateManyInput, type DateTimeFilter, DbNull, DbNullClass, type DefaultModelResult, type DefaultWhereConfig, type DeleteArgs, type DeleteManyArgs, type EntityMutationHooksDef, type ExistsArgs, type ExtClientMembersBase, type ExtQueryArgsBase, type ExtResultBase, type ExtResultInferenceArgs, type ExtResultSelectOmitFields, type ExtractExtResult, type FilterKind, type FindArgs, type FindFirstArgs, type FindManyArgs, type FindUniqueArgs, type GetAllIncludedOperations, type GetIncludedOperations, type GetProcedure, type GetProcedureNames, type GetProcedureParams, type GetQueryOptions, type GetSlicedFilterKindsForField, type GetSlicedModels, type GetSlicedOperations, type GetSlicedProcedures, type GroupByArgs, type GroupByResult, type HasComputedFields, type HasProcedures, type IncludeInput, InputValidator, type JsonArray, type JsonFilter, JsonNull, JsonNullClass, type JsonNullValues, type JsonObject, type JsonValue, kyselyUtils as KyselyUtils, LOGICAL_COMBINATORS, type MapModelFieldType, type ModelAllowsCreate, type ModelHasRequiredUnsupportedField, type ModelOperations, type ModelResult, type ModelSlicingOptions, type NullsOrder, type NumberFilter, ORMError, ORMErrorReason, type OmitConfig, type OmitInput, type OnKyselyQueryArgs, type OnKyselyQueryCallback, type OnProcedureHookContext, type OperationsRequiringCreate, type OrderBy, type PaginatedCursor, type PaginatedOffset, type PluginAfterEntityMutationArgs, type PluginBeforeEntityMutationArgs, type ProcedureEnvelope, type ProcedureFunc, type ProcedureHandlerFunc, type ProcedureOperations, type ProceduresOptions, type ProceedKyselyQueryFunction, type QueryOptions, queryUtils as QueryUtils, RejectedByPolicyReason, type RuntimePlugin, schemaUtils as SchemaUtils, type SearchFieldMap, type SearchMode, type SearchPayload, type SearchStrategy, type SelectAwareExtResult, type SelectIncludeOmit, type SelectInput, type SelectSubset, type SimplifiedPlainResult, type SimplifiedResult, type SlicingOptions, type SortOrder, type StringFilter, type Subset, type ToKysely, type TransactionClientContract, TransactionIsolationLevel, type TypeDefResult, type TypedJsonFilter, type UpdateArgs, type UpdateInput, type UpdateManyAndReturnArgs, type UpdateManyArgs, type UpsertArgs, type WhereInput, type WhereUniqueInput, ZENSTACK_QUERY_KIND_SYMBOL, ZENSTACK_QUERY_SYMBOL, type ZModelFunction, type ZModelFunctionContext, ZenStackClient, type ZenStackPromise, type ZenStackQueryKind, createQuerySchemaFactory, definePlugin, getCrudDialect };
|
|
3485
|
+
export { type AfterEntityMutationCallback, type AggregateArgs, type AggregateResult, AllCrudOperations, type AllModelOperations, AllReadOperations, AnyNull, AnyNullClass, type AnyPlugin, type AuthType, BaseCrudDialect, type BatchResult, type BeforeEntityMutationCallback, type BooleanFilter, type BytesFilter, CRUD, CRUD_EXT, type ClientConstructor, type ClientContract, type ClientOptions, type ComputedFieldsOptions, CoreCreateOperations, CoreCrudOperations, CoreDeleteOperations, CoreReadOperations, CoreUpdateOperations, CoreWriteOperations, type CountArgs, type CountResult, type CreateArgs, type CreateInput, type CreateManyAndReturnArgs, type CreateManyArgs, type CreateManyInput, type DateTimeFilter, DbNull, DbNullClass, type DefaultModelResult, type DefaultWhereConfig, type DeleteArgs, type DeleteManyArgs, type EntityMutationHooksDef, type ExistsArgs, type ExtClientMembersBase, type ExtQueryArgsBase, type ExtResultBase, type ExtResultInferenceArgs, type ExtResultSelectOmitFields, type ExtractExtResult, type FilterKind, type FindArgs, type FindFirstArgs, type FindManyArgs, type FindUniqueArgs, type GetAllIncludedOperations, type GetIncludedOperations, type GetProcedure, type GetProcedureNames, type GetProcedureParams, type GetQueryOptions, type GetSlicedFilterKindsForField, type GetSlicedModels, type GetSlicedOperations, type GetSlicedProcedures, type GroupByArgs, type GroupByResult, type HasComputedFields, type HasProcedures, type IncludeInput, InputValidator, type JsonArray, type JsonFilter, JsonNull, JsonNullClass, type JsonNullValues, type JsonObject, type JsonValue, kyselyUtils as KyselyUtils, LOGICAL_COMBINATORS, type MapModelFieldType, type ModelAllowsCreate, type ModelHasRequiredUnsupportedField, type ModelOperations, type ModelResult, type ModelSlicingOptions, type NullsOrder, type NumberFilter, ORMError, ORMErrorReason, type OmitConfig, type OmitInput, type OnKyselyQueryArgs, type OnKyselyQueryCallback, type OnProcedureHookContext, type OperationsRequiringCreate, type OrderBy, type PaginatedCursor, type PaginatedOffset, type PluginAfterEntityMutationArgs, type PluginBeforeEntityMutationArgs, type ProcedureEnvelope, type ProcedureFunc, type ProcedureHandlerFunc, type ProcedureOperations, type ProceduresOptions, type ProceedKyselyQueryFunction, type QueryOptions, queryUtils as QueryUtils, RejectedByPolicyReason, type RuntimePlugin, type SchemaExtResult, schemaUtils as SchemaUtils, type SearchFieldMap, type SearchMode, type SearchPayload, type SearchStrategy, type SelectAwareExtResult, type SelectIncludeOmit, type SelectInput, type SelectSubset, type SimplifiedPlainResult, type SimplifiedResult, type SlicingOptions, type SortOrder, type StringFilter, type Subset, type ToKysely, type TransactionClientContract, TransactionIsolationLevel, type TypeDefResult, type TypedJsonFilter, type UpdateArgs, type UpdateInput, type UpdateManyAndReturnArgs, type UpdateManyArgs, type UpsertArgs, type WhereInput, type WhereUniqueInput, ZENSTACK_QUERY_KIND_SYMBOL, ZENSTACK_QUERY_SYMBOL, type ZModelFunction, type ZModelFunctionContext, ZenStackClient, type ZenStackPromise, type ZenStackQueryKind, createQuerySchemaFactory, definePlugin, getCrudDialect };
|
package/dist/index.js
CHANGED
|
@@ -3279,7 +3279,7 @@ var BaseOperationHandler = class {
|
|
|
3279
3279
|
...data
|
|
3280
3280
|
};
|
|
3281
3281
|
for (const sel of plan.selections) {
|
|
3282
|
-
const sourceValue = result[sel.sourceField];
|
|
3282
|
+
const sourceValue = this.normalizeVirtualRelationValue(result[sel.sourceField]);
|
|
3283
3283
|
if (sel.kind === "filtered") {
|
|
3284
3284
|
let value = sel.single ? Array.isArray(sourceValue) ? sourceValue[0] ?? null : sourceValue ?? null : sourceValue;
|
|
3285
3285
|
if (sel.discriminatorWhere && value != null) {
|
|
@@ -3296,7 +3296,18 @@ var BaseOperationHandler = class {
|
|
|
3296
3296
|
}
|
|
3297
3297
|
return result;
|
|
3298
3298
|
}
|
|
3299
|
+
normalizeVirtualRelationValue(value) {
|
|
3300
|
+
if (typeof value !== "string") {
|
|
3301
|
+
return value;
|
|
3302
|
+
}
|
|
3303
|
+
try {
|
|
3304
|
+
return JSON.parse(value);
|
|
3305
|
+
} catch {
|
|
3306
|
+
return value;
|
|
3307
|
+
}
|
|
3308
|
+
}
|
|
3299
3309
|
extractThroughValue(value, path) {
|
|
3310
|
+
value = this.normalizeVirtualRelationValue(value);
|
|
3300
3311
|
if (path.length === 0) return value ?? null;
|
|
3301
3312
|
const [segment, ...rest] = path;
|
|
3302
3313
|
if (Array.isArray(value)) {
|
|
@@ -6200,14 +6211,32 @@ var ZodSchemaFactory = class {
|
|
|
6200
6211
|
return z.strictObject(fields);
|
|
6201
6212
|
}
|
|
6202
6213
|
addExtResultFields(model, fields) {
|
|
6214
|
+
const keys = [
|
|
6215
|
+
lowerCaseFirst2(model),
|
|
6216
|
+
model
|
|
6217
|
+
];
|
|
6218
|
+
const schemaExtResult = this.schema.plugins?.extResult;
|
|
6219
|
+
for (const key of keys) {
|
|
6220
|
+
const modelConfig = schemaExtResult?.[key];
|
|
6221
|
+
if (modelConfig) {
|
|
6222
|
+
for (const field of Object.keys(modelConfig)) {
|
|
6223
|
+
fields[field] = z.boolean().optional();
|
|
6224
|
+
}
|
|
6225
|
+
break;
|
|
6226
|
+
}
|
|
6227
|
+
}
|
|
6203
6228
|
for (const plugin of this.plugins) {
|
|
6204
6229
|
const resultConfig = plugin.result;
|
|
6205
6230
|
if (resultConfig) {
|
|
6206
|
-
const
|
|
6207
|
-
|
|
6231
|
+
for (const key of keys) {
|
|
6232
|
+
const modelConfig = resultConfig[key];
|
|
6233
|
+
if (!modelConfig) {
|
|
6234
|
+
continue;
|
|
6235
|
+
}
|
|
6208
6236
|
for (const field of Object.keys(modelConfig)) {
|
|
6209
6237
|
fields[field] = z.boolean().optional();
|
|
6210
6238
|
}
|
|
6239
|
+
break;
|
|
6211
6240
|
}
|
|
6212
6241
|
}
|
|
6213
6242
|
}
|
|
@@ -10026,7 +10055,7 @@ __name(isProcedureIncluded, "isProcedureIncluded");
|
|
|
10026
10055
|
function createModelCrudHandler(client, model, inputValidator, resultProcessor) {
|
|
10027
10056
|
const plugins = client.$options.plugins ?? [];
|
|
10028
10057
|
const schema = client.$schema;
|
|
10029
|
-
const hasAnyExtResult = hasExtResultFieldDefs(plugins);
|
|
10058
|
+
const hasAnyExtResult = hasExtResultFieldDefs(schema, plugins);
|
|
10030
10059
|
const createPromise = /* @__PURE__ */ __name((operation, nominalOperation, args, handler, postProcess = false, throwIfNoResult = false, metadata = {}) => {
|
|
10031
10060
|
return createZenStackPromise(async (txClient) => {
|
|
10032
10061
|
let proceed = /* @__PURE__ */ __name(async (_args) => {
|
|
@@ -10290,30 +10319,62 @@ var EXT_RESULT_OPERATIONS = /* @__PURE__ */ new Set([
|
|
|
10290
10319
|
"upsert",
|
|
10291
10320
|
"delete"
|
|
10292
10321
|
]);
|
|
10293
|
-
function
|
|
10294
|
-
|
|
10322
|
+
function getSchemaExtResultConfig(schema) {
|
|
10323
|
+
const config = schema.plugins?.extResult;
|
|
10324
|
+
return config && typeof config === "object" ? config : void 0;
|
|
10325
|
+
}
|
|
10326
|
+
__name(getSchemaExtResultConfig, "getSchemaExtResultConfig");
|
|
10327
|
+
function getExtResultModelConfigs(schema, model, plugins) {
|
|
10328
|
+
const configs = [];
|
|
10329
|
+
const keys = [
|
|
10330
|
+
lowerCaseFirst4(model),
|
|
10331
|
+
model
|
|
10332
|
+
];
|
|
10333
|
+
const schemaConfig = getSchemaExtResultConfig(schema);
|
|
10334
|
+
for (const key of keys) {
|
|
10335
|
+
const modelConfig = schemaConfig?.[key];
|
|
10336
|
+
if (modelConfig && typeof modelConfig === "object") {
|
|
10337
|
+
configs.push({
|
|
10338
|
+
owner: "schema",
|
|
10339
|
+
config: modelConfig
|
|
10340
|
+
});
|
|
10341
|
+
break;
|
|
10342
|
+
}
|
|
10343
|
+
}
|
|
10344
|
+
for (const plugin of plugins) {
|
|
10345
|
+
const resultConfig = plugin.result;
|
|
10346
|
+
for (const key of keys) {
|
|
10347
|
+
const modelConfig = resultConfig?.[key];
|
|
10348
|
+
if (modelConfig && typeof modelConfig === "object") {
|
|
10349
|
+
configs.push({
|
|
10350
|
+
owner: `plugin "${plugin.id}"`,
|
|
10351
|
+
config: modelConfig
|
|
10352
|
+
});
|
|
10353
|
+
break;
|
|
10354
|
+
}
|
|
10355
|
+
}
|
|
10356
|
+
}
|
|
10357
|
+
return configs;
|
|
10358
|
+
}
|
|
10359
|
+
__name(getExtResultModelConfigs, "getExtResultModelConfigs");
|
|
10360
|
+
function hasExtResultFieldDefs(schema, plugins) {
|
|
10361
|
+
return !!getSchemaExtResultConfig(schema) || plugins.some((p) => p.result && Object.keys(p.result).length > 0);
|
|
10295
10362
|
}
|
|
10296
10363
|
__name(hasExtResultFieldDefs, "hasExtResultFieldDefs");
|
|
10297
10364
|
function collectExtResultFieldDefs(model, schema, plugins) {
|
|
10298
10365
|
const defs = /* @__PURE__ */ new Map();
|
|
10299
|
-
for (const
|
|
10300
|
-
const
|
|
10301
|
-
|
|
10302
|
-
|
|
10303
|
-
|
|
10304
|
-
|
|
10305
|
-
|
|
10306
|
-
|
|
10307
|
-
}
|
|
10308
|
-
for (const needField of Object.keys(fieldDef.needs ?? {})) {
|
|
10309
|
-
const needDef = getField(schema, model, needField);
|
|
10310
|
-
if (!needDef || needDef.relation) {
|
|
10311
|
-
throw new Error(`Plugin "${plugin.id}" registers ext result field "${fieldName}" on model "${model}" with invalid need "${needField}"`);
|
|
10312
|
-
}
|
|
10313
|
-
}
|
|
10314
|
-
defs.set(fieldName, fieldDef);
|
|
10366
|
+
for (const { owner, config } of getExtResultModelConfigs(schema, model, plugins)) {
|
|
10367
|
+
for (const [fieldName, fieldDef] of Object.entries(config)) {
|
|
10368
|
+
if (getField(schema, model, fieldName)) {
|
|
10369
|
+
throw new Error(`${owner} registers ext result field "${fieldName}" on model "${model}" which conflicts with an existing model field`);
|
|
10370
|
+
}
|
|
10371
|
+
for (const needField of Object.keys(fieldDef.needs ?? {})) {
|
|
10372
|
+
const needDef = getField(schema, model, needField);
|
|
10373
|
+
if (!needDef || needDef.relation) {
|
|
10374
|
+
throw new Error(`${owner} registers ext result field "${fieldName}" on model "${model}" with invalid need "${needField}"`);
|
|
10315
10375
|
}
|
|
10316
10376
|
}
|
|
10377
|
+
defs.set(fieldName, fieldDef);
|
|
10317
10378
|
}
|
|
10318
10379
|
}
|
|
10319
10380
|
return defs;
|