From db25f241c0367885c2b244001827ed0e60597c82 Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Wed, 14 Aug 2024 12:57:43 -0700 Subject: [PATCH] clean up session properties / values --- src/components/hooks/queries/useSessionDataValues.ts | 2 +- src/pages/api/websites/[websiteId]/session-data/properties.ts | 4 ++-- src/pages/api/websites/[websiteId]/session-data/values.ts | 4 ++-- src/queries/analytics/events/getEventDataValues.ts | 2 +- src/queries/analytics/sessions/getSessionDataProperties.ts | 4 +--- src/queries/analytics/sessions/getSessionDataValues.ts | 2 +- src/queries/index.ts | 2 ++ 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/components/hooks/queries/useSessionDataValues.ts b/src/components/hooks/queries/useSessionDataValues.ts index 52300177..ce9a67f3 100644 --- a/src/components/hooks/queries/useSessionDataValues.ts +++ b/src/components/hooks/queries/useSessionDataValues.ts @@ -11,7 +11,7 @@ export function useSessionDataValues( const params = useFilterParams(websiteId); return useQuery({ - queryKey: ['websites:event-data:values', { websiteId, propertyName, ...params }], + queryKey: ['websites:session-data:values', { websiteId, propertyName, ...params }], queryFn: () => get(`/websites/${websiteId}/session-data/values`, { ...params, propertyName }), enabled: !!(websiteId && propertyName), ...options, diff --git a/src/pages/api/websites/[websiteId]/session-data/properties.ts b/src/pages/api/websites/[websiteId]/session-data/properties.ts index 19e9bbb8..4cd2e1e6 100644 --- a/src/pages/api/websites/[websiteId]/session-data/properties.ts +++ b/src/pages/api/websites/[websiteId]/session-data/properties.ts @@ -3,7 +3,7 @@ import { useAuth, useCors, useValidate } from 'lib/middleware'; import { NextApiRequestQueryBody } from 'lib/types'; import { NextApiResponse } from 'next'; import { methodNotAllowed, ok, unauthorized } from 'next-basics'; -import { getEventDataProperties } from 'queries'; +import { getSessionDataProperties } from 'queries'; import * as yup from 'yup'; export interface EventDataFieldsRequestQuery { @@ -40,7 +40,7 @@ export default async ( const startDate = new Date(+startAt); const endDate = new Date(+endAt); - const data = await getEventDataProperties(websiteId, { startDate, endDate, propertyName }); + const data = await getSessionDataProperties(websiteId, { startDate, endDate, propertyName }); return ok(res, data); } diff --git a/src/pages/api/websites/[websiteId]/session-data/values.ts b/src/pages/api/websites/[websiteId]/session-data/values.ts index b9ada96d..98463f15 100644 --- a/src/pages/api/websites/[websiteId]/session-data/values.ts +++ b/src/pages/api/websites/[websiteId]/session-data/values.ts @@ -3,7 +3,7 @@ import { useAuth, useCors, useValidate } from 'lib/middleware'; import { NextApiRequestQueryBody } from 'lib/types'; import { NextApiResponse } from 'next'; import { methodNotAllowed, ok, unauthorized } from 'next-basics'; -import { getEventDataValues } from 'queries'; +import { getSessionDataValues } from 'queries'; import * as yup from 'yup'; @@ -41,7 +41,7 @@ export default async ( const startDate = new Date(+startAt); const endDate = new Date(+endAt); - const data = await getEventDataValues(websiteId, { startDate, endDate, propertyName }); + const data = await getSessionDataValues(websiteId, { startDate, endDate, propertyName }); return ok(res, data); } diff --git a/src/queries/analytics/events/getEventDataValues.ts b/src/queries/analytics/events/getEventDataValues.ts index 6d50a96d..e055bfcc 100644 --- a/src/queries/analytics/events/getEventDataValues.ts +++ b/src/queries/analytics/events/getEventDataValues.ts @@ -55,7 +55,7 @@ async function clickhouseQuery( data_type = 4, toString(date_trunc('hour', date_value)), string_value) as "value", count(*) as "total" - from umami.event_data + from event_data where website_id = {websiteId:UUID} and created_at between {startDate:DateTime64} and {endDate:DateTime64} and data_key = {propertyName:String} diff --git a/src/queries/analytics/sessions/getSessionDataProperties.ts b/src/queries/analytics/sessions/getSessionDataProperties.ts index 0f45e140..bfbd9246 100644 --- a/src/queries/analytics/sessions/getSessionDataProperties.ts +++ b/src/queries/analytics/sessions/getSessionDataProperties.ts @@ -41,7 +41,7 @@ async function relationalQuery( async function clickhouseQuery( websiteId: string, filters: QueryFilters & { propertyName?: string }, -): Promise<{ propertyName: string; dataType: number; propertyValue: string; total: number }[]> { +): Promise<{ propertyName: string; total: number }[]> { const { rawQuery, parseFilters } = clickhouse; const { filterQuery, params } = await parseFilters(websiteId, filters, { columns: { propertyName: 'data_key' }, @@ -65,8 +65,6 @@ async function clickhouseQuery( return Object.values(result).map((a: any) => { return { propertyName: a.propertyName, - dataType: Number(a.dataType), - propertyValue: a.propertyValue, total: Number(a.total), }; }); diff --git a/src/queries/analytics/sessions/getSessionDataValues.ts b/src/queries/analytics/sessions/getSessionDataValues.ts index a018dfa0..fd67e7a9 100644 --- a/src/queries/analytics/sessions/getSessionDataValues.ts +++ b/src/queries/analytics/sessions/getSessionDataValues.ts @@ -51,7 +51,7 @@ async function clickhouseQuery( data_type = 4, toString(date_trunc('hour', date_value)), string_value) as "value", count(*) as "total" - from umami.session_data + from session_data where website_id = {websiteId:UUID} and created_at between {startDate:DateTime64} and {endDate:DateTime64} and data_key = {propertyName:String} diff --git a/src/queries/index.ts b/src/queries/index.ts index 7dd71783..f9c44dba 100644 --- a/src/queries/index.ts +++ b/src/queries/index.ts @@ -22,6 +22,8 @@ export * from './analytics/pageviews/getPageviewStats'; export * from './analytics/sessions/createSession'; export * from './analytics/sessions/getWebsiteSession'; export * from './analytics/sessions/getSessionData'; +export * from './analytics/sessions/getSessionDataProperties'; +export * from './analytics/sessions/getSessionDataValues'; export * from './analytics/sessions/getSessionMetrics'; export * from './analytics/sessions/getWebsiteSessions'; export * from './analytics/sessions/getSessionActivity';