aboutsummaryrefslogtreecommitdiff
path: root/ExamTemplate
diff options
context:
space:
mode:
Diffstat (limited to 'ExamTemplate')
-rw-r--r--ExamTemplate/Services/Interfaces/IUserService.cs27
-rw-r--r--ExamTemplate/Services/UserService.cs3
-rw-r--r--ExamTemplate/Web/Controllers/AccountController.cs6
-rw-r--r--ExamTemplate/Web/Startup.cs3
4 files changed, 34 insertions, 5 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;
diff --git a/ExamTemplate/Web/Controllers/AccountController.cs b/ExamTemplate/Web/Controllers/AccountController.cs
index a7ad771..b7a1207 100644
--- a/ExamTemplate/Web/Controllers/AccountController.cs
+++ b/ExamTemplate/Web/Controllers/AccountController.cs
@@ -1,4 +1,4 @@
-using ExamTemplate.Services;
+using ExamTemplate.Services.Interfaces;
using Microsoft.AspNetCore.Mvc;
using ExamTemplate.Web.Models.User;
using AutoMapper;
@@ -12,9 +12,9 @@ namespace ExamTemplate.Web.Controllers
public class AccountController : Controller
{
private readonly IMapper _autoMapper;
- private readonly UserService _userService;
+ private readonly IUserService _userService;
- public AccountController(IMapper autoMapper, UserService userService)
+ public AccountController(IMapper autoMapper, IUserService userService)
{
this._autoMapper = autoMapper;
this._userService = userService;
diff --git a/ExamTemplate/Web/Startup.cs b/ExamTemplate/Web/Startup.cs
index 691d60f..d627c52 100644
--- a/ExamTemplate/Web/Startup.cs
+++ b/ExamTemplate/Web/Startup.cs
@@ -4,6 +4,7 @@ using ExamTemplate.Common;
using ExamTemplate.Data;
using ExamTemplate.Data.Models;
using ExamTemplate.Services;
+using ExamTemplate.Services.Interfaces;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Identity;
@@ -38,7 +39,7 @@ namespace ExamTemplate.Web
cloudName: this.Configuration.GetSection("Cloud").GetSection("cloudName").Value,
apiKey: this.Configuration.GetSection("Cloud").GetSection("apiKey").Value,
apiSecret: this.Configuration.GetSection("Cloud").GetSection("apiSecret").Value));
- services.AddTransient<UserService>();
+ services.AddTransient<IUserService, UserService>();
/*
* Database configuration