refactor Property components to be resused for both session/event data. Implement session-data screens + filtering. Remove all event-data specific compoenents/queries

This commit is contained in:
Francis Cao committed 2026-04-29 13:11:03 -07:00
1 parent 9da332c489
commit 680a1ca1a2
71 files changed
+2814 -958

No files matched your search

@@ -29,13 +29,13 @@ async function relationalQuery(
eventFilters: EventPropertyFilter[] = [],
): Promise<EventDataSeriesPoint[]> {
const { timezone = 'utc', unit = 'day' } = filters;
const { rawQuery, getDateSQL, parseFilters, getEventPropertyFilterQuery } = prisma;
const { rawQuery, getDateSQL, parseFilters, getPropertyFilterQuery } = prisma;
const { filterQuery, cohortQuery, joinSessionQuery, queryParams } = parseFilters({
...filters,
websiteId,
timezone,
});
const { sql: epfSQL, params: epfParams } = getEventPropertyFilterQuery(eventFilters, timezone);
const { sql: pfSQL, params: pfParams } = getPropertyFilterQuery(eventFilters, 'event', timezone);
return rawQuery(
`
@@ -57,11 +57,11 @@ async function relationalQuery(
and event_data.data_key = {{propertyName}}
and event_data.data_type = ${DATA_TYPE.array}
${filterQuery}
${epfSQL}
${pfSQL}
group by 1, 2
order by 2
`,
{ ...queryParams, eventName, propertyName, ...epfParams },
{ ...queryParams, eventName, propertyName, ...pfParams },
FUNCTION_NAME,
);
}
@@ -74,9 +74,9 @@ async function clickhouseQuery(
eventFilters: EventPropertyFilter[] = [],
): Promise<EventDataSeriesPoint[]> {
const { timezone = 'UTC', unit = 'day' } = filters;
const { rawQuery, getDateSQL, parseFilters, getEventPropertyFilterQuery } = clickhouse;
const { rawQuery, getDateSQL, parseFilters, getPropertyFilterQuery } = clickhouse;
const { filterQuery, cohortQuery, queryParams } = parseFilters({ ...filters, websiteId, timezone });
const { sql: epfSQL, params: epfParams } = getEventPropertyFilterQuery(eventFilters, timezone);
const { sql: pfSQL, params: pfParams } = getPropertyFilterQuery(eventFilters, 'event', timezone);
return rawQuery(
`
@@ -101,11 +101,11 @@ async function clickhouseQuery(
and event_data.data_key = {propertyName:String}
and event_data.data_type = ${DATA_TYPE.array}
${filterQuery}
${epfSQL}
${pfSQL}
group by x, t
order by t
`,
{ ...queryParams, eventName, propertyName, ...epfParams },
{ ...queryParams, eventName, propertyName, ...pfParams },
FUNCTION_NAME,
);
}