Refactor filter handling for queries.

This commit is contained in:
Mike Cao 2025-07-02 01:44:12 -07:00
parent 5b300f1ff5
commit ee6c68d27c
107 changed files with 731 additions and 835 deletions

View file

@ -1,9 +1,10 @@
import prisma from '@/lib/prisma';
import clickhouse from '@/lib/clickhouse';
import { runQuery, CLICKHOUSE, PRISMA } from '@/lib/db';
import { QueryFilters } from '@/lib/types';
export async function getValues(
...args: [websiteId: string, column: string, startDate: Date, endDate: Date, search: string]
...args: [websiteId: string, column: string, filters: QueryFilters]
) {
return runQuery({
[PRISMA]: () => relationalQuery(...args),
@ -11,15 +12,11 @@ export async function getValues(
});
}
async function relationalQuery(
websiteId: string,
column: string,
startDate: Date,
endDate: Date,
search: string,
) {
async function relationalQuery(websiteId: string, column: string, filters: QueryFilters) {
const { rawQuery, getSearchSQL } = prisma;
const params = {};
const { startDate, endDate, search } = filters;
let searchQuery = '';
if (search) {
@ -63,15 +60,11 @@ async function relationalQuery(
);
}
async function clickhouseQuery(
websiteId: string,
column: string,
startDate: Date,
endDate: Date,
search: string,
) {
async function clickhouseQuery(websiteId: string, column: string, filters: QueryFilters) {
const { rawQuery, getSearchSQL } = clickhouse;
const params = {};
const { startDate, endDate, search } = filters;
let searchQuery = '';
if (search) {