updated filter parser
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { z } from "zod";
|
||||
import { parse } from "./utils/queryParser";
|
||||
|
||||
export const pageMetadata = z.object({
|
||||
count: z.number(),
|
||||
@@ -43,16 +44,7 @@ export function getFilterObject(
|
||||
const filterObj: Array<{}> = [];
|
||||
|
||||
if (params.filter && params.filter != "") {
|
||||
const filterOptions = params.filter.split(",");
|
||||
filterOptions.forEach((item) => {
|
||||
if (item.includes("!=")) {
|
||||
const [key, val] = item.split("!=").map((token) => token.trim());
|
||||
if (validFields.includes(key)) filterObj.push({ [key]: { $ne: val } });
|
||||
} else if (item.includes("=")) {
|
||||
const [key, val] = item.split("=").map((token) => token.trim());
|
||||
if (validFields.includes(key)) filterObj.push({ [key]: { $eq: val } });
|
||||
}
|
||||
});
|
||||
filterObj.push(...parse(params.filter, validFields));
|
||||
}
|
||||
|
||||
return filterObj;
|
||||
|
||||
Reference in New Issue
Block a user