aboutsummaryrefslogtreecommitdiff
path: root/ExamTemplate/Services/Interfaces/IUserService.cs
blob: 7f4c26f7649d8da4aa8d094617199bad4c4c5b21 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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<bool> RegisterUserAsync(RegisterUserServiceModel registerUserServiceModel);

		Task<bool> LoginUserAsync(LoginUserServiceModel loginUserServiceModel);

		Task LogoutAsync();

		Task<UserServiceModel> GetUserByUsernameAsync(string username);

		Task<UserServiceModel> GetUserByClaimsAsync(ClaimsPrincipal claimsPrincipal);

		Task<bool> EditUserAsync(ClaimsPrincipal claimsPrincipal, EditUserServiceModel editUserServiceModel);

		Task<bool> DeleteUserAsync(ClaimsPrincipal claimsPrincipal);

		bool IsSignedIn(ClaimsPrincipal claimsPrincipal);
	}
}