"use server"; import { revalidatePath } from "next/cache"; import { auth } from "@/lib/auth"; import { userService } from "@/services/users/user.service"; import { ValidationError, NotFoundError } from "@/services/errors"; export async function updatePassword(data: { currentPassword: string; newPassword: string; confirmPassword: string; }) { try { const session = await auth(); if (!session?.user) { return { success: false, error: "Non authentifié" }; } await userService.validateAndUpdatePassword( session.user.id, data.currentPassword, data.newPassword, data.confirmPassword ); revalidatePath("/profile"); return { success: true, message: "Mot de passe modifié avec succès" }; } catch (error) { console.error("Error updating password:", error); if (error instanceof ValidationError) { return { success: false, error: error.message }; } if (error instanceof NotFoundError) { return { success: false, error: error.message }; } return { success: false, error: "Erreur lors de la modification du mot de passe", }; } }