import { UtilisateurProfil } from '../repositories/utilisateur.repository';

export interface RoleResponse {
  code: string;
  libelle: string;
}

export interface CampusResponse {
  id: number;
  nom: string;
  ville: string;
}

export interface UtilisateurResponse {
  id: number;
  nom: string;
  prenom: string;
  email: string;
  classe: string | null;
  role: RoleResponse;
  campus: CampusResponse;
}

export function toUtilisateurResponse(utilisateur: UtilisateurProfil): UtilisateurResponse {
  return {
    id: utilisateur.id,
    nom: utilisateur.nom,
    prenom: utilisateur.prenom,
    email: utilisateur.email,
    classe: utilisateur.classe,
    role: {
      code: utilisateur.role.code,
      libelle: utilisateur.role.libelle,
    },
    campus: {
      id: utilisateur.campus.id,
      nom: utilisateur.campus.nom,
      ville: utilisateur.campus.ville,
    },
  };
}
