From 6bdceabc653818cf065269699ef0164f9c8a98a8 Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Tue, 17 Oct 2023 11:45:24 -0700 Subject: [PATCH 1/6] Return array of records --- src/queries/analytics/getActiveVisitors.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/queries/analytics/getActiveVisitors.ts b/src/queries/analytics/getActiveVisitors.ts index 962bea35..398cc9c8 100644 --- a/src/queries/analytics/getActiveVisitors.ts +++ b/src/queries/analytics/getActiveVisitors.ts @@ -24,10 +24,10 @@ async function relationalQuery(websiteId: string) { ); } -async function clickhouseQuery(websiteId: string): Promise<{ x: number }> { +async function clickhouseQuery(websiteId: string): Promise<{ x: number }[]> { const { rawQuery } = clickhouse; - const result = rawQuery( + return rawQuery( ` select count(distinct session_id) x @@ -41,6 +41,4 @@ async function clickhouseQuery(websiteId: string): Promise<{ x: number }> { return { x: Number(a.x) }; }); }); - - return result[0] ?? null; } From ec0a3fa431ae7695991c3f9d139700e6b2f02517 Mon Sep 17 00:00:00 2001 From: Brian Cao Date: Tue, 17 Oct 2023 21:55:54 -0700 Subject: [PATCH 2/6] Fix query param pass through. --- src/pages/api/users/[id]/websites.ts | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/src/pages/api/users/[id]/websites.ts b/src/pages/api/users/[id]/websites.ts index ab8fedfb..b5ca5cdb 100644 --- a/src/pages/api/users/[id]/websites.ts +++ b/src/pages/api/users/[id]/websites.ts @@ -30,15 +30,7 @@ export default async ( await useValidate(schema, req, res); const { user } = req.auth; - const { - id: userId, - page = 1, - pageSize, - orderBy, - query = '', - includeTeams, - onlyTeams, - } = req.query; + const { id: userId, page = 1, pageSize, query = '', ...rest } = req.query; if (req.method === 'GET') { if (!user.isAdmin && user.id !== userId) { @@ -49,9 +41,7 @@ export default async ( page, pageSize: +pageSize || undefined, query, - orderBy, - includeTeams, - onlyTeams, + ...rest, }); return ok(res, websites); From beac0350ac7dcdf18f291acafefb2e0cbfee289a Mon Sep 17 00:00:00 2001 From: Brian Cao Date: Fri, 20 Oct 2023 14:34:02 -0500 Subject: [PATCH 3/6] Better fix, usage. --- src/queries/analytics/eventData/getEventDataUsage.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/queries/analytics/eventData/getEventDataUsage.ts b/src/queries/analytics/eventData/getEventDataUsage.ts index 78bf7c91..7866a600 100644 --- a/src/queries/analytics/eventData/getEventDataUsage.ts +++ b/src/queries/analytics/eventData/getEventDataUsage.ts @@ -8,7 +8,11 @@ export function getEventDataUsage(...args: [websiteIds: string[], startDate: Dat }); } -function clickhouseQuery(websiteIds: string[], startDate: Date, endDate: Date) { +function clickhouseQuery( + websiteIds: string[], + startDate: Date, + endDate: Date, +): Promise<{ websiteId: string; count: number }[]> { const { rawQuery } = clickhouse; return rawQuery( @@ -26,5 +30,9 @@ function clickhouseQuery(websiteIds: string[], startDate: Date, endDate: Date) { startDate, endDate, }, - ); + ).then(a => { + return Object.values(a).map(a => { + return { websiteId: a.websiteId, count: Number(a.count) }; + }); + }); } From 67edc5c09222afbeb2fc42ed6912d41863d3549c Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Mon, 29 Jan 2024 11:50:36 -0800 Subject: [PATCH 4/6] fix team add website overflow bug --- src/app/(main)/settings/teams/[id]/TeamWebsiteAddForm.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/(main)/settings/teams/[id]/TeamWebsiteAddForm.tsx b/src/app/(main)/settings/teams/[id]/TeamWebsiteAddForm.tsx index ee169886..90310541 100644 --- a/src/app/(main)/settings/teams/[id]/TeamWebsiteAddForm.tsx +++ b/src/app/(main)/settings/teams/[id]/TeamWebsiteAddForm.tsx @@ -51,7 +51,7 @@ export function TeamWebsiteAddForm({ {isLoading && !hasData && } {!isLoading && !hasData && } {hasData && ( -
+ {row => ( From 858864ef7ffe2288142a8225057d73d017c33e10 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Fri, 16 Feb 2024 11:33:01 -0800 Subject: [PATCH 5/6] Fixed dashboard display. --- src/components/hooks/queries/useWebsitePageviews.ts | 2 +- src/components/hooks/queries/useWebsiteStats.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/hooks/queries/useWebsitePageviews.ts b/src/components/hooks/queries/useWebsitePageviews.ts index db43df85..91db3717 100644 --- a/src/components/hooks/queries/useWebsitePageviews.ts +++ b/src/components/hooks/queries/useWebsitePageviews.ts @@ -26,7 +26,7 @@ export function useWebsitePageviews(websiteId: string, options?: { [key: string] }; return useQuery({ - queryKey: ['websites:pageviews', params], + queryKey: ['websites:pageviews', { websiteId, ...params }], queryFn: () => get(`/websites/${websiteId}/pageviews`, params), ...options, }); diff --git a/src/components/hooks/queries/useWebsiteStats.ts b/src/components/hooks/queries/useWebsiteStats.ts index 36215457..2ada662f 100644 --- a/src/components/hooks/queries/useWebsiteStats.ts +++ b/src/components/hooks/queries/useWebsiteStats.ts @@ -23,7 +23,7 @@ export function useWebsiteStats(websiteId: string, options?: { [key: string]: st }; return useQuery({ - queryKey: ['websites:stats', params], + queryKey: ['websites:stats', { websiteId, ...params }], queryFn: () => get(`/websites/${websiteId}/stats`, params), ...options, }); From a24e8b6396bb15fd6d7156717ad193c957c64989 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Fri, 16 Feb 2024 11:51:48 -0800 Subject: [PATCH 6/6] Fixed "All time" and "Custom range" date selections. --- src/components/input/DateFilter.tsx | 2 +- src/lib/date.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/input/DateFilter.tsx b/src/components/input/DateFilter.tsx index 0c29afa6..afe44e6f 100644 --- a/src/components/input/DateFilter.tsx +++ b/src/components/input/DateFilter.tsx @@ -92,7 +92,7 @@ export function DateFilter({ const handleClose = () => setShowPicker(false); const renderValue = (value: string) => { - const { unit } = parseDateValue(value); + const { unit } = parseDateValue(value) || {}; if (offset && unit === 'year') { return formatDate(startDate, 'yyyy', locale); diff --git a/src/lib/date.ts b/src/lib/date.ts index 01cc1931..cf2f09df 100644 --- a/src/lib/date.ts +++ b/src/lib/date.ts @@ -260,7 +260,7 @@ export function getOffsetDateRange(dateRange: DateRange, increment: number) { const change = num * increment; const { add } = DATE_FUNCTIONS[unit]; - const { unit: originalUnit } = parseDateValue(value); + const { unit: originalUnit } = parseDateValue(value) || {}; switch (originalUnit) { case 'week':