@@ -528,12 +528,9 @@ export type CreateArgs<Schema extends SchemaDef, Model extends GetModels<Schema>
528528 omit ?: OmitFields < Schema , Model > ;
529529} ;
530530
531- export type CreateManyArgs < Schema extends SchemaDef , Model extends GetModels < Schema > > = CreateManyPayload <
532- Schema ,
533- Model
534- > ;
531+ export type CreateManyArgs < Schema extends SchemaDef , Model extends GetModels < Schema > > = CreateManyInput < Schema , Model > ;
535532
536- export type CreateManyAndReturnArgs < Schema extends SchemaDef , Model extends GetModels < Schema > > = CreateManyPayload <
533+ export type CreateManyAndReturnArgs < Schema extends SchemaDef , Model extends GetModels < Schema > > = CreateManyInput <
537534 Schema ,
538535 Model
539536> & {
@@ -597,15 +594,28 @@ type CreateRelationPayload<Schema extends SchemaDef, Model extends GetModels<Sch
597594 }
598595> ;
599596
600- type CreateWithFKInput < Schema extends SchemaDef , Model extends GetModels < Schema > > = CreateScalarPayload < Schema , Model > &
601- CreateFKPayload < Schema , Model > ;
597+ type CreateWithFKInput < Schema extends SchemaDef , Model extends GetModels < Schema > > =
598+ // scalar fields
599+ CreateScalarPayload < Schema , Model > &
600+ // fk fields
601+ CreateFKPayload < Schema , Model > &
602+ // non-owned relations
603+ CreateWithNonOwnedRelationPayload < Schema , Model > ;
602604
603605type CreateWithRelationInput < Schema extends SchemaDef , Model extends GetModels < Schema > > = CreateScalarPayload <
604606 Schema ,
605607 Model
606608> &
607609 CreateRelationPayload < Schema , Model > ;
608610
611+ type CreateWithNonOwnedRelationPayload < Schema extends SchemaDef , Model extends GetModels < Schema > > = OptionalWrap <
612+ Schema ,
613+ Model ,
614+ {
615+ [ Key in NonOwnedRelationFields < Schema , Model > ] : CreateRelationFieldPayload < Schema , Model , Key > ;
616+ }
617+ > ;
618+
609619type ConnectOrCreatePayload <
610620 Schema extends SchemaDef ,
611621 Model extends GetModels < Schema > ,
@@ -615,7 +625,7 @@ type ConnectOrCreatePayload<
615625 create : CreateInput < Schema , Model , Without > ;
616626} ;
617627
618- export type CreateManyPayload <
628+ export type CreateManyInput <
619629 Schema extends SchemaDef ,
620630 Model extends GetModels < Schema > ,
621631 Without extends string = never ,
@@ -643,7 +653,7 @@ type NestedCreateManyInput<
643653 Schema extends SchemaDef ,
644654 Model extends GetModels < Schema > ,
645655 Field extends RelationFields < Schema , Model > ,
646- > = CreateManyPayload < Schema , RelationFieldType < Schema , Model , Field > , OppositeRelationAndFK < Schema , Model , Field > > ;
656+ > = CreateManyInput < Schema , RelationFieldType < Schema , Model , Field > , OppositeRelationAndFK < Schema , Model , Field > > ;
647657
648658//#endregion
649659
@@ -1078,3 +1088,13 @@ type NestedDeleteManyInput<
10781088> = OrArray < WhereInput < Schema , RelationFieldType < Schema , Model , Field > , true > > ;
10791089
10801090// #endregion
1091+
1092+ // #region Utilities
1093+
1094+ type NonOwnedRelationFields < Schema extends SchemaDef , Model extends GetModels < Schema > > = keyof {
1095+ [ Key in RelationFields < Schema , Model > as GetField < Schema , Model , Key > [ 'relation' ] extends { references : unknown [ ] }
1096+ ? never
1097+ : Key ] : Key ;
1098+ } ;
1099+
1100+ // #endregion
0 commit comments