mirror of
https://gitee.com/nocobase/nocobase.git
synced 2024-12-02 04:07:50 +08:00
fix(client): string operators "contains/does not contains" should handle null
value (#5509)
This commit is contained in:
parent
95aeb343f2
commit
18d31564b3
@ -12,6 +12,7 @@ const TYPE_TO_ACTION = {
|
||||
belongsTo: 'get',
|
||||
hasOne: 'get',
|
||||
belongsToMany: 'list?pageSize=9999',
|
||||
belongsToArray: 'get',
|
||||
};
|
||||
export const getAction = (type: string) => {
|
||||
if (process.env.NODE_ENV !== 'production' && !(type in TYPE_TO_ACTION)) {
|
||||
|
@ -16,6 +16,11 @@ function escapeLike(value: string) {
|
||||
|
||||
export default {
|
||||
$includes(value, ctx) {
|
||||
if (value === null) {
|
||||
return {
|
||||
[Op.is]: null,
|
||||
};
|
||||
}
|
||||
if (Array.isArray(value)) {
|
||||
const conditions = value.map((item) => ({
|
||||
[isPg(ctx) ? Op.iLike : Op.like]: `%${escapeLike(item)}%`,
|
||||
@ -32,6 +37,11 @@ export default {
|
||||
},
|
||||
|
||||
$notIncludes(value, ctx) {
|
||||
if (value === null) {
|
||||
return {
|
||||
[Op.not]: null,
|
||||
};
|
||||
}
|
||||
if (Array.isArray(value)) {
|
||||
const conditions = value.map((item) => ({
|
||||
[isPg(ctx) ? Op.notILike : Op.notLike]: `%${escapeLike(item)}%`,
|
||||
|
Loading…
Reference in New Issue
Block a user