From b7747b33e4dcfc1d161411939192cae4699106f9 Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Tue, 21 Oct 2025 16:52:04 -0700 Subject: [PATCH] clean-up hooks for passing uneccessary date params --- src/app/api/teams/[teamId]/users/[userId]/route.ts | 3 ++- src/app/api/websites/[websiteId]/stats/route.ts | 1 - .../hooks/queries/useWebsiteExpandedMetricsQuery.ts | 12 +++++++++--- .../hooks/queries/useWeeklyTrafficQuery.ts | 12 +++++++++--- 4 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/app/api/teams/[teamId]/users/[userId]/route.ts b/src/app/api/teams/[teamId]/users/[userId]/route.ts index 10bbb37a..7e3c154b 100644 --- a/src/app/api/teams/[teamId]/users/[userId]/route.ts +++ b/src/app/api/teams/[teamId]/users/[userId]/route.ts @@ -3,6 +3,7 @@ import { parseRequest } from '@/lib/request'; import { badRequest, json, ok, unauthorized } from '@/lib/response'; import { deleteTeamUser, getTeamUser, updateTeamUser } from '@/queries/prisma'; import { z } from 'zod'; +import { teamRoleParam } from '@/lib/schema'; export async function GET( request: Request, @@ -30,7 +31,7 @@ export async function POST( { params }: { params: Promise<{ teamId: string; userId: string }> }, ) { const schema = z.object({ - role: z.string().regex(/team-member|team-view-only|team-manager/), + role: teamRoleParam, }); const { auth, body, error } = await parseRequest(request, schema); diff --git a/src/app/api/websites/[websiteId]/stats/route.ts b/src/app/api/websites/[websiteId]/stats/route.ts index 71f40976..8fcb0132 100644 --- a/src/app/api/websites/[websiteId]/stats/route.ts +++ b/src/app/api/websites/[websiteId]/stats/route.ts @@ -11,7 +11,6 @@ export async function GET( { params }: { params: Promise<{ websiteId: string }> }, ) { const schema = z.object({ - compare: z.string().optional(), ...dateRangeParams, ...filterParams, }); diff --git a/src/components/hooks/queries/useWebsiteExpandedMetricsQuery.ts b/src/components/hooks/queries/useWebsiteExpandedMetricsQuery.ts index 8fc9fc7b..89f95ada 100644 --- a/src/components/hooks/queries/useWebsiteExpandedMetricsQuery.ts +++ b/src/components/hooks/queries/useWebsiteExpandedMetricsQuery.ts @@ -19,7 +19,7 @@ export function useWebsiteExpandedMetricsQuery( options?: ReactQueryOptions, ) { const { get, useQuery } = useApi(); - const date = useDateParameters(); + const { startAt, endAt, unit, timezone } = useDateParameters(); const filters = useFilterParameters(); return useQuery({ @@ -27,14 +27,20 @@ export function useWebsiteExpandedMetricsQuery( 'websites:metrics:expanded', { websiteId, - ...date, + startAt, + endAt, + unit, + timezone, ...filters, ...params, }, ], queryFn: async () => get(`/websites/${websiteId}/metrics/expanded`, { - ...date, + startAt, + endAt, + unit, + timezone, ...filters, ...params, }), diff --git a/src/components/hooks/queries/useWeeklyTrafficQuery.ts b/src/components/hooks/queries/useWeeklyTrafficQuery.ts index 5c09670a..27334738 100644 --- a/src/components/hooks/queries/useWeeklyTrafficQuery.ts +++ b/src/components/hooks/queries/useWeeklyTrafficQuery.ts @@ -6,15 +6,21 @@ import { useFilterParameters } from '@/components/hooks/useFilterParameters'; export function useWeeklyTrafficQuery(websiteId: string, params?: Record) { const { get, useQuery } = useApi(); const { modified } = useModified(`sessions`); - const date = useDateParameters(); + const { startAt, endAt, unit, timezone } = useDateParameters(); const filters = useFilterParameters(); return useQuery({ - queryKey: ['sessions', { websiteId, modified, ...params, ...date, ...filters }], + queryKey: [ + 'sessions', + { websiteId, modified, startAt, endAt, unit, timezone, ...params, ...filters }, + ], queryFn: () => { return get(`/websites/${websiteId}/sessions/weekly`, { + startAt, + endAt, + unit, + timezone, ...params, - ...date, ...filters, }); },