From 59325b3000427ff4a31f9f368b03ecab0e94e515 Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Fri, 14 Feb 2025 11:32:32 -0800 Subject: [PATCH] Fix deleteTeamUser route --- .../teams/[teamId]/users/[userId]/route.ts | 22 ++++++++++++------- 1 file changed, 14 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 cadcd8b0..bf5f4d36 100644 --- a/src/app/api/teams/[teamId]/users/[userId]/route.ts +++ b/src/app/api/teams/[teamId]/users/[userId]/route.ts @@ -1,8 +1,8 @@ -import { z } from 'zod'; -import { unauthorized, json, badRequest, ok } from '@/lib/response'; -import { canDeleteTeam, canUpdateTeam } from '@/lib/auth'; +import { canDeleteTeamUser, canUpdateTeam } from '@/lib/auth'; import { parseRequest } from '@/lib/request'; -import { deleteTeam, getTeamUser, updateTeamUser } from '@/queries'; +import { badRequest, json, ok, unauthorized } from '@/lib/response'; +import { deleteTeamUser, getTeamUser, updateTeamUser } from '@/queries'; +import { z } from 'zod'; export async function GET( request: Request, @@ -58,7 +58,7 @@ export async function POST( export async function DELETE( request: Request, - { params }: { params: Promise<{ teamId: string }> }, + { params }: { params: Promise<{ teamId: string; userId: string }> }, ) { const { auth, error } = await parseRequest(request); @@ -66,13 +66,19 @@ export async function DELETE( return error(); } - const { teamId } = await params; + const { teamId, userId } = await params; - if (!(await canDeleteTeam(auth, teamId))) { + if (!(await canDeleteTeamUser(auth, teamId, userId))) { return unauthorized('You must be the owner of this team.'); } - await deleteTeam(teamId); + const teamUser = await getTeamUser(teamId, userId); + + if (!teamUser) { + return badRequest('The User does not exists on this team.'); + } + + await deleteTeamUser(teamId, userId); return ok(); }