From 8150b86a9c722eccba1a949338e056edd907c285 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Wed, 17 Sep 2025 08:37:41 -0700 Subject: [PATCH] Fixed websites lookup. --- src/app/api/users/[userId]/websites/route.ts | 4 +-- src/app/api/websites/route.ts | 28 ++++++++++++++++++-- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/app/api/users/[userId]/websites/route.ts b/src/app/api/users/[userId]/websites/route.ts index 3e81f4f4..1c2285ba 100644 --- a/src/app/api/users/[userId]/websites/route.ts +++ b/src/app/api/users/[userId]/websites/route.ts @@ -1,8 +1,8 @@ import { z } from 'zod'; import { unauthorized, json } from '@/lib/response'; -import { getAllUserWebsitesIncludingTeamOwner, getUserWebsites } from '@/queries/prisma/website'; import { pagingParams, searchParams } from '@/lib/schema'; import { getQueryFilters, parseRequest } from '@/lib/request'; +import { getAllUserWebsitesIncludingTeamOwner, getUserWebsites } from '@/queries/prisma/website'; export async function GET(request: Request, { params }: { params: Promise<{ userId: string }> }) { const schema = z.object({ @@ -26,7 +26,7 @@ export async function GET(request: Request, { params }: { params: Promise<{ user const filters = await getQueryFilters(query); if (query.includeTeams) { - return json(await getAllUserWebsitesIncludingTeamOwner(auth.user.id, filters)); + return json(await getAllUserWebsitesIncludingTeamOwner(userId, filters)); } return json(await getUserWebsites(userId, filters)); diff --git a/src/app/api/websites/route.ts b/src/app/api/websites/route.ts index 8f0870f1..dc7e4ecd 100644 --- a/src/app/api/websites/route.ts +++ b/src/app/api/websites/route.ts @@ -2,10 +2,34 @@ import { z } from 'zod'; import { canCreateTeamWebsite, canCreateWebsite } from '@/permissions'; import { json, unauthorized } from '@/lib/response'; import { uuid } from '@/lib/crypto'; -import { parseRequest } from '@/lib/request'; +import { getQueryFilters, parseRequest } from '@/lib/request'; +import { pagingParams, searchParams } from '@/lib/schema'; import { createWebsite } from '@/queries'; +import { getAllUserWebsitesIncludingTeamOwner, getUserWebsites } from '@/queries/prisma/website'; -export { GET } from '@/app/api/users/[userId]/websites/route'; +export async function GET(request: Request) { + const schema = z.object({ + ...pagingParams, + ...searchParams, + includeTeams: z.string().optional(), + }); + + const { auth, query, error } = await parseRequest(request, schema); + + if (error) { + return error(); + } + + const userId = auth.user.id; + + const filters = await getQueryFilters(query); + + if (query.includeTeams) { + return json(await getAllUserWebsitesIncludingTeamOwner(userId, filters)); + } + + return json(await getUserWebsites(userId, filters)); +} export async function POST(request: Request) { const schema = z.object({