using CalledIt.Domain.Dtos;

namespace CalledIt.Domain.Services;

public interface IUserService
{
    Task<UserResponseDto> CreateAsync(CreateUserRequestDto userDto);
    Task<UserResponseDto> GetByIdAsync(int id);
    Task<UserResponseDto> GetByUsernameAsync(string username);
    Task<AuthenticatedUserDto> LoginAsync(LoginRequestDto loginRequestDto);
    Task<AuthenticatedUserDto> GetAuthenticatedAsync(int id);
}
