using UserManagement.Domain.Entities; namespace UserManagement.Infrastructure.Interfaces { public interface IUserRepository { // CREATE Task AddAsync(User user); // READ ALL Task> GetAllAsync(bool includeRoles = true); // READ BY ID Task GetByIdAsync(int id, bool includeRoles = true); // READ BY USERNAME Task GetByUsernameAsync(string username, bool includeRoles = true); // READ BY ROLE Task> GetByRoleAsync(string role); // UPDATE Task UpdateAsync(User user); // DELETE Task DeleteAsync(User user); } }