src/app/api/auth/client/reset-mdp/route.ts

route·app·1.0 KB · 27 lignes· Voir l'itinéraire
Annotation non disponible

Lance npm run annotate (nécessite ANTHROPIC_API_KEY dans .env.local) pour générer une annotation française par Claude Haiku 4.5.

1 export

POST

Code source· typescript

import { NextRequest, NextResponse } from "next/server";
import { prisma } from "@/lib/prisma/client";
import { getSession } from "@/lib/auth/session";
import bcrypt from "bcryptjs";

export async function POST(req: NextRequest) {
  try {
    const session = await getSession();
    if (!session || session.role !== "CLIENT") {
      return NextResponse.json({ error: "Non autorisé" }, { status: 401 });
    }
    const { motDePasse } = await req.json();
    if (!motDePasse || motDePasse.length < 8) {
      return NextResponse.json({ error: "Mot de passe trop court (8 caractères min)" }, { status: 400 });
    }
    const hash = await bcrypt.hash(motDePasse, 10);
    await prisma.clientAccount.update({
      where: { id: session.userId },
      data: { motDePasseHash: hash },
    });
    return NextResponse.json({ success: true });
  } catch (error) {
    console.error("reset-mdp error:", error);
    return NextResponse.json({ error: "Erreur serveur" }, { status: 500 });
  }
}