77 Many ,
88 One ,
99 or ,
10- sql ,
1110 type TableRelationalConfig ,
1211} from 'drizzle-orm'
1312import type { NodePgQueryResultHKT } from 'drizzle-orm/node-postgres'
@@ -42,33 +41,25 @@ export function createDefaultApiHandlers<
4241 schema : Record < string , unknown >
4342 fields : TFields
4443 tableTsKey : string
45- identiferColumn : string
44+ identifierColumn : string
4645 tableNamesMap : Record < string , string >
4746 tables : Record < string , TableRelationalConfig >
4847} ) : CollectionAdminApi < TContext , TFields > {
49- const { fields, tableTsKey, tableNamesMap, tables, schema, identiferColumn } = args
48+ const { fields, tableTsKey, tableNamesMap, tables, schema, identifierColumn } = args
5049
5150 const tableRelationalConfig = tables [ tableTsKey ]
5251 const primaryKeyColumn = getPrimaryColumn ( tableRelationalConfig )
53- const identifierKeyColumn = tableRelationalConfig . columns [ identiferColumn ]
52+ const identifierKeyColumn = tableRelationalConfig . columns [ identifierColumn ]
5453 const tableName = tableRelationalConfig . tsName
5554 const tableSchema = getTableFromSchema ( schema , tableTsKey )
56- const queryPayload = createDrizzleQuery ( fields )
57-
58- const extrasQuery = {
59- extras : {
60- __pk : sql < string | number > `${ primaryKeyColumn } ` . as ( '__pk' ) ,
61- __id : sql < string | number > `${ identifierKeyColumn } ` . as ( '__id' ) ,
62- } ,
63- }
55+ const queryPayload = createDrizzleQuery ( fields , identifierColumn )
6456
6557 const findOne : ApiFindOneHandler < TContext , TFields > = async ( args ) => {
6658 const db = args . context . db
6759 const query = db . query [ tableName as keyof typeof db . query ] as RelationalQueryBuilder < any , any >
6860
6961 const result = await query . findFirst ( {
7062 ...queryPayload ,
71- ...extrasQuery ,
7263 where : eq ( primaryKeyColumn , args . id ) ,
7364 } )
7465 if ( ! result ) {
@@ -94,7 +85,6 @@ export function createDefaultApiHandlers<
9485
9586 const result = await query . findMany ( {
9687 ...queryPayload ,
97- ...extrasQuery ,
9888 limit : args . limit ,
9989 offset : args . offset ,
10090 orderBy : orderBy
@@ -136,7 +126,6 @@ export function createDefaultApiHandlers<
136126
137127 const result = await query . findFirst ( {
138128 ...queryPayload ,
139- ...extrasQuery ,
140129 where : eq ( primaryKeyColumn , pk ) ,
141130 } )
142131
@@ -165,7 +154,6 @@ export function createDefaultApiHandlers<
165154 const pk = await apiHandler . update ( args . id , tx , args . data )
166155 const result = await query . findFirst ( {
167156 ...queryPayload ,
168- ...extrasQuery ,
169157 where : eq ( primaryKeyColumn , pk ) ,
170158 } )
171159
@@ -573,19 +561,19 @@ function mapResultToFields(fields: Fields<any>, result: Record<string, any>): Re
573561 const value = result [ field . _ . relationTsName ]
574562 if ( ! value ) return [ ]
575563
576- const primaryColumnTsName = field . _ . primaryColumnTsName
577564 if ( Array . isArray ( value ) ) {
578565 const values = value . map ( ( v ) => ( {
579566 ...mapResultToFields ( field . fields , v ) ,
580- __pk : v [ primaryColumnTsName ] ,
567+ __pk : v [ '__pk' ] ,
568+ __id : v [ '__id' ] ,
581569 } ) )
582570 return [ [ field . fieldName , values ] ]
583571 }
584572
585573 return [
586574 [
587575 field . fieldName ,
588- { ...mapResultToFields ( field . fields , value ) , __pk : value [ primaryColumnTsName ] } ,
576+ { ...mapResultToFields ( field . fields , value ) , __pk : value [ '__pk' ] , __id : value [ '__id' ] } ,
589577 ] ,
590578 ]
591579 }
0 commit comments