@@ -31,7 +31,6 @@ import {
3131 flattenCompoundUniqueFilters ,
3232 getDiscriminatorField ,
3333 getField ,
34- getIdFields ,
3534 getIdValues ,
3635 getManyToManyRelation ,
3736 getModel ,
@@ -40,6 +39,7 @@ import {
4039 isRelationField ,
4140 isScalarField ,
4241 requireField ,
42+ requireIdFields ,
4343 requireModel ,
4444} from '../../query-utils' ;
4545import { getCrudDialect } from '../dialects' ;
@@ -132,7 +132,7 @@ export abstract class BaseOperationHandler<Schema extends SchemaDef> {
132132 model : GetModels < Schema > ,
133133 filter : any ,
134134 ) : Promise < unknown | undefined > {
135- const idFields = getIdFields ( this . schema , model ) ;
135+ const idFields = requireIdFields ( this . schema , model ) ;
136136 const _filter = flattenCompoundUniqueFilters ( this . schema , model , filter ) ;
137137 const query = kysely
138138 . selectFrom ( model )
@@ -344,7 +344,7 @@ export abstract class BaseOperationHandler<Schema extends SchemaDef> {
344344 }
345345
346346 const updatedData = this . fillGeneratedAndDefaultValues ( modelDef , createFields ) ;
347- const idFields = getIdFields ( this . schema , model ) ;
347+ const idFields = requireIdFields ( this . schema , model ) ;
348348 const query = kysely
349349 . insertInto ( model )
350350 . $if ( Object . keys ( updatedData ) . length === 0 , ( qb ) => qb . defaultValues ( ) )
@@ -481,8 +481,8 @@ export abstract class BaseOperationHandler<Schema extends SchemaDef> {
481481 a . model !== b . model ? a . model . localeCompare ( b . model ) : a . field . localeCompare ( b . field ) ,
482482 ) ;
483483
484- const firstIds = getIdFields ( this . schema , sortedRecords [ 0 ] ! . model ) ;
485- const secondIds = getIdFields ( this . schema , sortedRecords [ 1 ] ! . model ) ;
484+ const firstIds = requireIdFields ( this . schema , sortedRecords [ 0 ] ! . model ) ;
485+ const secondIds = requireIdFields ( this . schema , sortedRecords [ 1 ] ! . model ) ;
486486 invariant ( firstIds . length === 1 , 'many-to-many relation must have exactly one id field' ) ;
487487 invariant ( secondIds . length === 1 , 'many-to-many relation must have exactly one id field' ) ;
488488
@@ -771,7 +771,7 @@ export abstract class BaseOperationHandler<Schema extends SchemaDef> {
771771 const result = await this . executeQuery ( kysely , query , 'createMany' ) ;
772772 return { count : Number ( result . numAffectedRows ) } as Result ;
773773 } else {
774- const idFields = getIdFields ( this . schema , model ) ;
774+ const idFields = requireIdFields ( this . schema , model ) ;
775775 const result = await query . returning ( idFields as any ) . execute ( ) ;
776776 return result as Result ;
777777 }
@@ -1039,7 +1039,7 @@ export abstract class BaseOperationHandler<Schema extends SchemaDef> {
10391039 // nothing to update, return the filter so that the caller can identify the entity
10401040 return combinedWhere ;
10411041 } else {
1042- const idFields = getIdFields ( this . schema , model ) ;
1042+ const idFields = requireIdFields ( this . schema , model ) ;
10431043 const query = kysely
10441044 . updateTable ( model )
10451045 . where ( ( eb ) => this . dialect . buildFilter ( eb , model , model , combinedWhere ) )
@@ -1104,7 +1104,7 @@ export abstract class BaseOperationHandler<Schema extends SchemaDef> {
11041104 if ( ! filter || typeof filter !== 'object' ) {
11051105 return false ;
11061106 }
1107- const idFields = getIdFields ( this . schema , model ) ;
1107+ const idFields = requireIdFields ( this . schema , model ) ;
11081108 return idFields . length === Object . keys ( filter ) . length && idFields . every ( ( field ) => field in filter ) ;
11091109 }
11101110
@@ -1297,7 +1297,7 @@ export abstract class BaseOperationHandler<Schema extends SchemaDef> {
12971297 const result = await this . executeQuery ( kysely , query , 'update' ) ;
12981298 return { count : Number ( result . numAffectedRows ) } as Result ;
12991299 } else {
1300- const idFields = getIdFields ( this . schema , model ) ;
1300+ const idFields = requireIdFields ( this . schema , model ) ;
13011301 const result = await query . returning ( idFields as any ) . execute ( ) ;
13021302 return result as Result ;
13031303 }
@@ -1336,7 +1336,7 @@ export abstract class BaseOperationHandler<Schema extends SchemaDef> {
13361336 }
13371337
13381338 private buildIdFieldRefs ( kysely : ToKysely < Schema > , model : GetModels < Schema > ) {
1339- const idFields = getIdFields ( this . schema , model ) ;
1339+ const idFields = requireIdFields ( this . schema , model ) ;
13401340 return idFields . map ( ( f ) => kysely . dynamic . ref ( `${ model } .${ f } ` ) ) ;
13411341 }
13421342
@@ -2097,7 +2097,7 @@ export abstract class BaseOperationHandler<Schema extends SchemaDef> {
20972097 // reused the filter if it's a complete id filter (without extra fields)
20982098 // otherwise, read the entity by the filter
20992099 private getEntityIds ( kysely : ToKysely < Schema > , model : GetModels < Schema > , uniqueFilter : any ) {
2100- const idFields : string [ ] = getIdFields ( this . schema , model ) ;
2100+ const idFields : string [ ] = requireIdFields ( this . schema , model ) ;
21012101 if (
21022102 // all id fields are provided
21032103 idFields . every ( ( f ) => f in uniqueFilter && uniqueFilter [ f ] !== undefined ) &&
0 commit comments