using System.Security.Claims; using System.Threading.Tasks; using ExamTemplate.Services.Models.User; using Microsoft.AspNetCore.Identity; using Microsoft.EntityFrameworkCore; 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, EditUserServiceModel editUserServiceModel); Task DeleteUserAsync(ClaimsPrincipal claimsPrincipal); bool IsSignedIn(ClaimsPrincipal claimsPrincipal); } }