Files
2025-08-25 08:38:56 +02:00

65 lines
1.8 KiB
TypeScript

import { NextRequest, NextResponse } from "next/server";
import { TeamsService } from "@/services/teams-service";
// GET - Récupérer les membres d'une équipe
export async function GET(
request: NextRequest,
{ params }: { params: Promise<{ teamId: string }> }
) {
try {
const { teamId } = await params;
if (!teamId) {
return NextResponse.json(
{ error: "L'ID de l'équipe est requis" },
{ status: 400 }
);
}
const members = await TeamsService.getTeamMembersForAdmin(teamId);
return NextResponse.json(members);
} catch (error) {
console.error("Error fetching team members:", error);
return NextResponse.json(
{ error: "Erreur lors de la récupération des membres" },
{ status: 500 }
);
}
}
// DELETE - Supprimer un membre d'une équipe
export async function DELETE(
request: NextRequest,
{ params }: { params: Promise<{ teamId: string }> }
) {
try {
const { teamId } = await params;
const { memberId } = await request.json();
if (!teamId || !memberId) {
return NextResponse.json(
{ error: "L'ID de l'équipe et l'ID du membre sont requis" },
{ status: 400 }
);
}
try {
await TeamsService.removeMemberFromTeamForAdmin({ teamId, memberId });
return NextResponse.json({
message: "Membre supprimé de l'équipe avec succès",
});
} catch (error: any) {
if (error.message === "Membre non trouvé dans cette équipe") {
return NextResponse.json({ error: error.message }, { status: 404 });
}
throw error;
}
} catch (error) {
console.error("Error removing team member:", error);
return NextResponse.json(
{ error: "Erreur lors de la suppression du membre" },
{ status: 500 }
);
}
}