Files
calendar/packages/features/data-table/lib/server.ts
T
Keith WilliamsandGitHub c41ba9d984 revert: "feat: refactor filters on insights response table (#17796)" (#18024)
* revert: "feat: refactor filters on insights response table (#17796)"

This reverts commit 5d88858995.

* Put back the search columns and options english terms
2024-12-05 17:29:09 +00:00

75 lines
1.6 KiB
TypeScript

import type { FilterValue } from "./types";
import { isSelectFilterValue, isTextFilterValue } from "./utils";
export function makeWhereClause(columnName: string, filterValue: FilterValue) {
if (isSelectFilterValue(filterValue)) {
return {
[columnName]: {
in: filterValue,
},
};
} else if (isTextFilterValue(filterValue)) {
const { operator, operand } = filterValue.data;
switch (operator) {
case "equals":
return {
[columnName]: {
equals: operand,
},
};
case "notEquals":
return {
[columnName]: {
not: operand,
},
};
case "contains":
return {
[columnName]: {
contains: operand,
mode: "insensitive",
},
};
case "notContains":
return {
NOT: {
[columnName]: {
contains: operand,
mode: "insensitive",
},
},
};
case "startsWith":
return {
[columnName]: {
startsWith: operand,
mode: "insensitive",
},
};
case "endsWith":
return {
[columnName]: {
endsWith: operand,
mode: "insensitive",
},
};
case "isEmpty":
return {
[columnName]: {
equals: "",
},
};
case "isNotEmpty":
return {
NOT: {
[columnName]: {
equals: "",
},
},
};
}
}
return {};
}