import apiClient from "./apiClient";
import type { ApiEnvelope } from "../types/auth";

// Met a jour le telephone du technicien via /mobile/profile_update.php.
// Erreur metier (format invalide) remontee en Error pour affichage.
export async function updateTelephone(telephone: string): Promise<void> {
  const response = await apiClient.post<ApiEnvelope<{ telephone: string }>>(
    "/mobile/profile_update.php",
    { telephone }
  );
  if (!response.data?.success) {
    throw new Error(response.data?.message || "Mise a jour impossible");
  }
}

// Change le mot de passe via /mobile/password_change.php. Le backend verifie
// le mot de passe actuel et la robustesse du nouveau ; tout refus remonte en
// Error avec le message backend.
export async function changePassword(
  currentPassword: string,
  newPassword: string
): Promise<void> {
  const response = await apiClient.post<ApiEnvelope<{ updated: boolean }>>(
    "/mobile/password_change.php",
    { current_password: currentPassword, new_password: newPassword }
  );
  if (!response.data?.success) {
    throw new Error(response.data?.message || "Changement de mot de passe impossible");
  }
}
