aboutsummaryrefslogtreecommitdiff
path: root/ExamTemplate/Services/ExamTemplate.Services/Interfaces
diff options
context:
space:
mode:
Diffstat (limited to 'ExamTemplate/Services/ExamTemplate.Services/Interfaces')
-rw-r--r--ExamTemplate/Services/ExamTemplate.Services/Interfaces/IBaseService.cs21
-rw-r--r--ExamTemplate/Services/ExamTemplate.Services/Interfaces/ICloudinaryService.cs11
-rw-r--r--ExamTemplate/Services/ExamTemplate.Services/Interfaces/IUserService.cs25
3 files changed, 57 insertions, 0 deletions
diff --git a/ExamTemplate/Services/ExamTemplate.Services/Interfaces/IBaseService.cs b/ExamTemplate/Services/ExamTemplate.Services/Interfaces/IBaseService.cs
new file mode 100644
index 0000000..66de7b8
--- /dev/null
+++ b/ExamTemplate/Services/ExamTemplate.Services/Interfaces/IBaseService.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+
+namespace ExamTemplate.Services.Interfaces
+{
+ public interface IBaseService<DbModel, ServiceModel>
+ where DbModel : class
+ where ServiceModel : class
+ {
+ Task<bool> CreateAsync(ServiceModel serviceModel);
+
+ Task<ServiceModel> GetByIdAsync(Guid id);
+
+ Task<List<ServiceModel>> GetAllAsync();
+
+ Task<bool> EditAsync(ServiceModel serviceModel);
+
+ Task<bool> DeleteAsync(Guid id);
+ }
+}
diff --git a/ExamTemplate/Services/ExamTemplate.Services/Interfaces/ICloudinaryService.cs b/ExamTemplate/Services/ExamTemplate.Services/Interfaces/ICloudinaryService.cs
new file mode 100644
index 0000000..9c4d884
--- /dev/null
+++ b/ExamTemplate/Services/ExamTemplate.Services/Interfaces/ICloudinaryService.cs
@@ -0,0 +1,11 @@
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Http;
+
+namespace ExamTemplate.Services.Interfaces
+{
+ public interface ICloudinaryService
+ {
+ Task<List<string>> UploadFilesToCloud(List<IFormFile> formFiles);
+ }
+}
diff --git a/ExamTemplate/Services/ExamTemplate.Services/Interfaces/IUserService.cs b/ExamTemplate/Services/ExamTemplate.Services/Interfaces/IUserService.cs
new file mode 100644
index 0000000..35f14e3
--- /dev/null
+++ b/ExamTemplate/Services/ExamTemplate.Services/Interfaces/IUserService.cs
@@ -0,0 +1,25 @@
+using System.Security.Claims;
+using System.Threading.Tasks;
+using ExamTemplate.Services.Models.User;
+
+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, UserServiceModel userServiceModel);
+
+ Task<bool> DeleteUserAsync(ClaimsPrincipal claimsPrincipal);
+
+ bool IsSignedIn(ClaimsPrincipal claimsPrincipal);
+ }
+}