Skip to content

Commit 2b717aa

Browse files
authored
fix: checkIsJsonb to correctly identify jsonb columns instead of json (#1056)
Co-authored-by: Adam Park <[email protected]>
1 parent afdd28c commit 2b717aa

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

src/__tests__/cat-hair.entity.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export class CatHairEntity {
1414
@CreateDateColumn()
1515
createdAt: string
1616

17-
@Column({ type: 'json', nullable: true })
17+
@Column({ type: 'jsonb', nullable: true })
1818
metadata: Record<string, any>
1919

2020
@OneToOne(() => CatHairEntity, (catFur) => catFur.underCoat, { nullable: true })

src/helper.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { mergeWith } from 'lodash'
12
import {
23
FindOperator,
34
FindOptionsRelationByString,
@@ -7,7 +8,6 @@ import {
78
} from 'typeorm'
89
import { ColumnMetadata } from 'typeorm/metadata/ColumnMetadata'
910
import { OrmUtils } from 'typeorm/util/OrmUtils'
10-
import { mergeWith } from 'lodash'
1111

1212
/**
1313
* Joins 2 keys as `K`, `K.P`, `K.(P` or `K.P)`
@@ -205,10 +205,10 @@ export function checkIsJsonb(qb: SelectQueryBuilder<unknown>, propertyName: stri
205205
const parts = propertyName.split('.')
206206
const dbColumnName = parts[parts.length - 2]
207207

208-
return qb?.expressionMap?.mainAlias?.metadata.findColumnWithPropertyName(dbColumnName)?.type === 'json'
208+
return qb?.expressionMap?.mainAlias?.metadata.findColumnWithPropertyName(dbColumnName)?.type === 'jsonb'
209209
}
210210

211-
return qb?.expressionMap?.mainAlias?.metadata.findColumnWithPropertyName(propertyName)?.type === 'json'
211+
return qb?.expressionMap?.mainAlias?.metadata.findColumnWithPropertyName(propertyName)?.type === 'jsonb'
212212
}
213213

214214
// This function is used to fix the column alias when using relation, embedded or virtual properties
@@ -293,7 +293,7 @@ export function isFindOperator<T>(value: unknown | FindOperator<T>): value is Fi
293293
export function createRelationSchema<T>(configurationRelations: RelationSchemaInput<T>): RelationSchema<T> {
294294
return Array.isArray(configurationRelations)
295295
? OrmUtils.propertyPathsToTruthyObject(configurationRelations)
296-
: configurationRelations
296+
: (configurationRelations as RelationSchema<T>)
297297
}
298298

299299
export function mergeRelationSchema(...schemas: RelationSchema[]) {

0 commit comments

Comments
 (0)