import { Users } from 'src/entities/users.entity';

/** Champs sensibles exclus des réponses API (ticket #131 — user / co_parent). */
const SENSITIVE_USER_KEYS: (keyof Users)[] = [
  'password',
  'token_creation_mdp',
  'token_creation_mdp_expire_le',
  'password_reset_token',
  'password_reset_expires',
];

/**
 * Retourne une copie utilisateur sans secrets (hash MDP, tokens).
 * Utilisé pour `user` et `co_parent` dans les réponses Parents.
 */
export function sanitizeUserForApi(user?: Users | null): Users | undefined {
  if (!user) return undefined;
  const safe = { ...user } as Users;
  for (const key of SENSITIVE_USER_KEYS) {
    delete safe[key];
  }
  return safe;
}
