/** * auth.repository.ts * AuthRepository (interfaz): define qué métodos debe tener el repositorio de auth. * El use-case usa esta interfaz sin saber cómo se implementa. */ export interface AuthRepository { findByEmail(email: string): Promise<{ id: number; email: string; password: string; name: string } | null>; create(data: { name: string; email: string; password: string }): Promise<{ id: number; email: string; name: string }>; findById(id: number): Promise<{ id: number; email: string; name: string; role: string } | null>; }