using System.Security.Claims; using System.Threading.Tasks; using ExamTemplate.Services.Models.User; namespace ExamTemplate.Services.Interfaces { public interface IUserService { Task RegisterUserAsync(RegisterUserServiceModel registerUserServiceModel); Task LoginUserAsync(LoginUserServiceModel loginUserServiceModel); Task LogoutAsync(); Task GetUserByUsernameAsync(string username); Task GetUserByClaimsAsync(ClaimsPrincipal claimsPrincipal); Task EditUserAsync(ClaimsPrincipal claimsPrincipal, UserServiceModel userServiceModel); Task DeleteUserAsync(ClaimsPrincipal claimsPrincipal); bool IsSignedIn(ClaimsPrincipal claimsPrincipal); } }