using WorkFlowCheck.Common.DTO;

namespace WorkFlowCheck.Web.Services.Interfaces
{
    public interface IUserService
    {
        Task<UserDTO> GetUser(int id);
        Task<List<UserDTO>> GetAllUsers();
        Task<UserDTO> UpdateUser(UserDTO user);
        Task<ApiResponseDTO<UserDTO>> Authenticate(string username, string password);

        Task<RoleDTO> GetRole(int id);
        Task<List<RoleDTO>> GetAllRoles();
        Task<RoleDTO> UpdateRole(RoleDTO role);

        Task<UserRoleDTO> GetUserRole(int id);
        Task<List<UserDTO>> GetAllUserRoles();
        Task<UserRoleDTO> UpdateUserRole(UserRoleDTO userRole);

        
    }
}
