using LittleShop.DTOs;

namespace LittleShop.Services;

public interface IAuthService
{
    Task<AuthResponseDto?> LoginAsync(LoginDto loginDto);
    Task<bool> SeedDefaultUserAsync();
    Task<UserDto?> CreateUserAsync(CreateUserDto createUserDto);
    Task<UserDto?> GetUserByIdAsync(Guid id);
    Task<UserDto?> GetUserByUsernameAsync(string username);
    Task<IEnumerable<UserDto>> GetAllUsersAsync();
    Task<bool> DeleteUserAsync(Guid id);
    Task<bool> UpdateUserAsync(Guid id, UpdateUserDto updateUserDto);
}