clean-up hooks for passing uneccessary date params
Some checks are pending
Create docker images (cloud) / Build, push, and deploy (push) Waiting to run
Node.js CI / build (postgresql, 18.18, 10) (push) Waiting to run

This commit is contained in:
Francis Cao 2025-10-21 16:52:04 -07:00
parent 06230ad2e9
commit b7747b33e4
4 changed files with 20 additions and 8 deletions

View file

@ -3,6 +3,7 @@ import { parseRequest } from '@/lib/request';
import { badRequest, json, ok, unauthorized } from '@/lib/response'; import { badRequest, json, ok, unauthorized } from '@/lib/response';
import { deleteTeamUser, getTeamUser, updateTeamUser } from '@/queries/prisma'; import { deleteTeamUser, getTeamUser, updateTeamUser } from '@/queries/prisma';
import { z } from 'zod'; import { z } from 'zod';
import { teamRoleParam } from '@/lib/schema';
export async function GET( export async function GET(
request: Request, request: Request,
@ -30,7 +31,7 @@ export async function POST(
{ params }: { params: Promise<{ teamId: string; userId: string }> }, { params }: { params: Promise<{ teamId: string; userId: string }> },
) { ) {
const schema = z.object({ 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); const { auth, body, error } = await parseRequest(request, schema);

View file

@ -11,7 +11,6 @@ export async function GET(
{ params }: { params: Promise<{ websiteId: string }> }, { params }: { params: Promise<{ websiteId: string }> },
) { ) {
const schema = z.object({ const schema = z.object({
compare: z.string().optional(),
...dateRangeParams, ...dateRangeParams,
...filterParams, ...filterParams,
}); });

View file

@ -19,7 +19,7 @@ export function useWebsiteExpandedMetricsQuery(
options?: ReactQueryOptions<WebsiteExpandedMetricsData>, options?: ReactQueryOptions<WebsiteExpandedMetricsData>,
) { ) {
const { get, useQuery } = useApi(); const { get, useQuery } = useApi();
const date = useDateParameters(); const { startAt, endAt, unit, timezone } = useDateParameters();
const filters = useFilterParameters(); const filters = useFilterParameters();
return useQuery<WebsiteExpandedMetricsData>({ return useQuery<WebsiteExpandedMetricsData>({
@ -27,14 +27,20 @@ export function useWebsiteExpandedMetricsQuery(
'websites:metrics:expanded', 'websites:metrics:expanded',
{ {
websiteId, websiteId,
...date, startAt,
endAt,
unit,
timezone,
...filters, ...filters,
...params, ...params,
}, },
], ],
queryFn: async () => queryFn: async () =>
get(`/websites/${websiteId}/metrics/expanded`, { get(`/websites/${websiteId}/metrics/expanded`, {
...date, startAt,
endAt,
unit,
timezone,
...filters, ...filters,
...params, ...params,
}), }),

View file

@ -6,15 +6,21 @@ import { useFilterParameters } from '@/components/hooks/useFilterParameters';
export function useWeeklyTrafficQuery(websiteId: string, params?: Record<string, string | number>) { export function useWeeklyTrafficQuery(websiteId: string, params?: Record<string, string | number>) {
const { get, useQuery } = useApi(); const { get, useQuery } = useApi();
const { modified } = useModified(`sessions`); const { modified } = useModified(`sessions`);
const date = useDateParameters(); const { startAt, endAt, unit, timezone } = useDateParameters();
const filters = useFilterParameters(); const filters = useFilterParameters();
return useQuery({ return useQuery({
queryKey: ['sessions', { websiteId, modified, ...params, ...date, ...filters }], queryKey: [
'sessions',
{ websiteId, modified, startAt, endAt, unit, timezone, ...params, ...filters },
],
queryFn: () => { queryFn: () => {
return get(`/websites/${websiteId}/sessions/weekly`, { return get(`/websites/${websiteId}/sessions/weekly`, {
startAt,
endAt,
unit,
timezone,
...params, ...params,
...date,
...filters, ...filters,
}); });
}, },