import { NextRequest, NextResponse } from "next/server"; import { getServerSession } from "next-auth"; import { authOptions } from "@/lib/auth"; import { authService } from "@/services/auth.service"; export async function POST(request: NextRequest) { try { // Verify user is authenticated const session = await getServerSession(authOptions); if (!session) { return NextResponse.json( { success: false, error: "Non authentifié" }, { status: 401 } ); } const body = await request.json(); const { oldPassword, newPassword } = body; if (!oldPassword || !newPassword) { return NextResponse.json( { success: false, error: "Mot de passe requis" }, { status: 400 } ); } if (newPassword.length < 4) { return NextResponse.json( { success: false, error: "Le mot de passe doit contenir au moins 4 caractères" }, { status: 400 } ); } const result = await authService.changePassword(oldPassword, newPassword); if (!result.success) { return NextResponse.json( { success: false, error: result.error }, { status: 400 } ); } return NextResponse.json({ success: true }); } catch (error) { console.error("Error changing password:", error); return NextResponse.json( { success: false, error: "Erreur lors du changement de mot de passe" }, { status: 500 } ); } }