search startDate and endDate

This commit is contained in:
Kanjana 2025-04-17 13:41:22 +07:00
parent ee610c5686
commit 0aba9f9865
20 changed files with 123 additions and 32 deletions

View file

@ -10,26 +10,35 @@ export function connectOrDisconnect(id?: string | null) {
export function whereAddressQuery(query: string) {
return [
{ address: { contains: query } },
{ addressEN: { contains: query } },
{ soi: { contains: query } },
{ soiEN: { contains: query } },
{ moo: { contains: query } },
{ mooEN: { contains: query } },
{ street: { contains: query } },
{ streetEN: { contains: query } },
{ province: { name: { contains: query } } },
{ province: { nameEN: { contains: query } } },
{ district: { name: { contains: query } } },
{ district: { nameEN: { contains: query } } },
{ subDistrict: { name: { contains: query } } },
{ subDistrict: { nameEN: { contains: query } } },
{ subDistrict: { zipCode: { contains: query } } },
];
{ address: { contains: query, mode: "insensitive" } },
{ addressEN: { contains: query, mode: "insensitive" } },
{ soi: { contains: query, mode: "insensitive" } },
{ soiEN: { contains: query, mode: "insensitive" } },
{ moo: { contains: query, mode: "insensitive" } },
{ mooEN: { contains: query, mode: "insensitive" } },
{ street: { contains: query, mode: "insensitive" } },
{ streetEN: { contains: query, mode: "insensitive" } },
{ province: { name: { contains: query, mode: "insensitive" } } },
{ province: { nameEN: { contains: query, mode: "insensitive" } } },
{ district: { name: { contains: query, mode: "insensitive" } } },
{ district: { nameEN: { contains: query, mode: "insensitive" } } },
{ subDistrict: { name: { contains: query, mode: "insensitive" } } },
{ subDistrict: { nameEN: { contains: query, mode: "insensitive" } } },
{ subDistrict: { zipCode: { contains: query, mode: "insensitive" } } },
] as const;
}
export function queryOrNot<T>(query: string | boolean, where: T): T | undefined;
export function queryOrNot<T, U>(query: string | boolean, where: T, fallback: U): T | U;
export function queryOrNot<T, U>(query: string | boolean, where: T, fallback?: U) {
export function queryOrNot<T>(query: any, where: T): T | undefined;
export function queryOrNot<T, U>(query: any, where: T, fallback: U): T | U;
export function queryOrNot<T, U>(query: any, where: T, fallback?: U) {
return !!query ? where : fallback;
}
export function whereDateQuery(startDate: Date | undefined, endDate: Date | undefined) {
return {
createdAt: {
gte: startDate,
lte: endDate,
},
};
}