aboutsummaryrefslogtreecommitdiff
path: root/ExamTemplate/Services
diff options
context:
space:
mode:
Diffstat (limited to 'ExamTemplate/Services')
-rw-r--r--ExamTemplate/Services/Interfaces/IUserService.cs27
-rw-r--r--ExamTemplate/Services/UserService.cs3
2 files changed, 29 insertions, 1 deletions
diff --git a/ExamTemplate/Services/Interfaces/IUserService.cs b/ExamTemplate/Services/Interfaces/IUserService.cs
new file mode 100644
index 0000000..7f4c26f
--- /dev/null
+++ b/ExamTemplate/Services/Interfaces/IUserService.cs
@@ -0,0 +1,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);
+ }
+}
diff --git a/ExamTemplate/Services/UserService.cs b/ExamTemplate/Services/UserService.cs
index 8c54e0f..3099bda 100644
--- a/ExamTemplate/Services/UserService.cs
+++ b/ExamTemplate/Services/UserService.cs
@@ -7,10 +7,11 @@ using ExamTemplate.Data.Models;
using ExamTemplate.Services.Models.User;
using Microsoft.AspNetCore.Identity;
using Microsoft.EntityFrameworkCore;
+using ExamTemplate.Services.Interfaces;
namespace ExamTemplate.Services
{
- public class UserService
+ public class UserService : IUserService
{
private readonly IMapper _autoMapper;
private readonly TemplateContext _context;