import { NextResponse } from 'next/server'; import prisma from '@/lib/prisma'; import bcrypt from 'bcryptjs'; export async function POST(req: Request) { try { const { token, password } = await req.json(); if (!token || !password) { return NextResponse.json({ error: 'Token et mot de passe sont requis' }, { status: 400 }); } const user = await prisma.user.findFirst({ where: { resetToken: token, resetTokenExpiry: { gt: new Date(), }, }, }); if (!user) { return NextResponse.json({ error: 'Token invalide ou expiré' }, { status: 400 }); } const hashedPassword = await bcrypt.hash(password, 10); await prisma.user.update({ where: { id: user.id }, data: { password: hashedPassword, resetToken: null, resetTokenExpiry: null, }, }); return NextResponse.json({ message: 'Votre mot de passe a été mis à jour avec succès' }); } catch (error: any) { console.error('Error in reset-password:', error); return NextResponse.json({ error: 'Une erreur est survenue lors de la réinitialisation' }, { status: 500 }); } }