fix(index): query builder handle json array (#12480)

* fix(index): query builder handle json array

* fix sales channel event names
This commit is contained in:
Carlos R. L. Rodrigues
2025-05-14 13:43:01 -03:00
committed by GitHub
parent 7fdbf2a965
commit c661e06488
4 changed files with 44 additions and 3 deletions
@@ -31,7 +31,7 @@ export const defaultSchema = `
currency_code: String
}
type SalesChannel @Listeners(values: ["${Modules.SALES_CHANNEL}.sales_channel.created", "${Modules.SALES_CHANNEL}.sales_channel.updated", "${Modules.SALES_CHANNEL}.sales_channel.deleted"]) {
type SalesChannel @Listeners(values: ["${Modules.SALES_CHANNEL}.sales-channel.created", "${Modules.SALES_CHANNEL}.sales-channel.updated", "${Modules.SALES_CHANNEL}.sales-channel.deleted"]) {
id: ID
is_disabled: Boolean
}
@@ -308,6 +308,7 @@ export class QueryBuilder {
[targetField]: item === null ? null : item,
})
)
builder.whereRaw(
`${aliasMapping[attr]}.data${nested} @> ANY(ARRAY[${inPlaceholders}]::JSONB[])`,
jsonbValues
@@ -355,11 +356,13 @@ export class QueryBuilder {
[...value]
)
} else {
const targetField = field[field.length - 1] as string
const jsonbValues = value.map((item) =>
JSON.stringify({ [nested]: item === null ? null : item })
JSON.stringify({ [targetField]: item === null ? null : item })
)
builder.whereRaw(
`${aliasMapping[attr]}.data IN ANY(ARRAY[${inPlaceholders}]::JSONB[])`,
`${aliasMapping[attr]}.data${nested} @> ANY(ARRAY[${inPlaceholders}]::JSONB[])`,
jsonbValues
)
}