namespace SIGCM.Domain.Interfaces;
using SIGCM.Domain.Entities;

public interface IUserRepository
{
    // Métodos de búsqueda
    Task<User?> GetByUsernameAsync(string username);
    Task<User?> GetByEmailAsync(string email);
    Task<User?> GetByGoogleIdAsync(string googleId);
    
    // Gestión básica
    Task<IEnumerable<User>> GetAllAsync();
    Task<User?> GetByIdAsync(int id);
    Task<int> CreateAsync(User user);
    Task UpdateAsync(User user);
    Task DeleteAsync(int id);
}
