aboutsummaryrefslogtreecommitdiff
path: root/src/Services/DevHive.Services/Interfaces
diff options
context:
space:
mode:
authortranstrike <transtrike@gmail.com>2021-02-13 16:20:18 +0200
committertranstrike <transtrike@gmail.com>2021-02-13 16:20:18 +0200
commit98e17766b203734a1817eed94338e2d25f4395f7 (patch)
tree1266385a56cba56fd55c7faf661dd844bbdf5705 /src/Services/DevHive.Services/Interfaces
parent1ab34accfda22ee3ce5c7700e3b97ff3e932d649 (diff)
downloadDevHive-98e17766b203734a1817eed94338e2d25f4395f7.tar
DevHive-98e17766b203734a1817eed94338e2d25f4395f7.tar.gz
DevHive-98e17766b203734a1817eed94338e2d25f4395f7.zip
Project Restructure P.1
Diffstat (limited to 'src/Services/DevHive.Services/Interfaces')
-rw-r--r--src/Services/DevHive.Services/Interfaces/ICloudService.cs16
-rw-r--r--src/Services/DevHive.Services/Interfaces/ICommentService.cs20
-rw-r--r--src/Services/DevHive.Services/Interfaces/IFeedService.cs11
-rw-r--r--src/Services/DevHive.Services/Interfaces/ILanguageService.cs19
-rw-r--r--src/Services/DevHive.Services/Interfaces/IPostService.cs20
-rw-r--r--src/Services/DevHive.Services/Interfaces/IRateService.cs14
-rw-r--r--src/Services/DevHive.Services/Interfaces/IRoleService.cs17
-rw-r--r--src/Services/DevHive.Services/Interfaces/ITechnologyService.cs19
-rw-r--r--src/Services/DevHive.Services/Interfaces/IUserService.cs25
9 files changed, 161 insertions, 0 deletions
diff --git a/src/Services/DevHive.Services/Interfaces/ICloudService.cs b/src/Services/DevHive.Services/Interfaces/ICloudService.cs
new file mode 100644
index 0000000..3ae7a24
--- /dev/null
+++ b/src/Services/DevHive.Services/Interfaces/ICloudService.cs
@@ -0,0 +1,16 @@
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Mvc;
+
+namespace DevHive.Services.Interfaces
+{
+ public interface ICloudService
+ {
+ Task<List<string>> UploadFilesToCloud(List<IFormFile> formFiles);
+
+ // Task<List<FileContentResult>> GetFilesFromCloud(List<string> fileUrls);
+
+ Task<bool> RemoveFilesFromCloud(List<string> fileUrls);
+ }
+}
diff --git a/src/Services/DevHive.Services/Interfaces/ICommentService.cs b/src/Services/DevHive.Services/Interfaces/ICommentService.cs
new file mode 100644
index 0000000..e7409a8
--- /dev/null
+++ b/src/Services/DevHive.Services/Interfaces/ICommentService.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Threading.Tasks;
+using DevHive.Services.Models.Comment;
+
+namespace DevHive.Services.Interfaces
+{
+ public interface ICommentService
+ {
+ Task<Guid> AddComment(CreateCommentServiceModel createPostServiceModel);
+
+ Task<ReadCommentServiceModel> GetCommentById(Guid id);
+
+ Task<Guid> UpdateComment(UpdateCommentServiceModel updateCommentServiceModel);
+
+ Task<bool> DeleteComment(Guid id);
+
+ Task<bool> ValidateJwtForCreating(Guid userId, string rawTokenData);
+ Task<bool> ValidateJwtForComment(Guid commentId, string rawTokenData);
+ }
+}
diff --git a/src/Services/DevHive.Services/Interfaces/IFeedService.cs b/src/Services/DevHive.Services/Interfaces/IFeedService.cs
new file mode 100644
index 0000000..b507b3b
--- /dev/null
+++ b/src/Services/DevHive.Services/Interfaces/IFeedService.cs
@@ -0,0 +1,11 @@
+using System.Threading.Tasks;
+using DevHive.Services.Models;
+
+namespace DevHive.Services.Interfaces
+{
+ public interface IFeedService
+ {
+ Task<ReadPageServiceModel> GetPage(GetPageServiceModel getPageServiceModel);
+ Task<ReadPageServiceModel> GetUserPage(GetPageServiceModel model);
+ }
+}
diff --git a/src/Services/DevHive.Services/Interfaces/ILanguageService.cs b/src/Services/DevHive.Services/Interfaces/ILanguageService.cs
new file mode 100644
index 0000000..fabbec2
--- /dev/null
+++ b/src/Services/DevHive.Services/Interfaces/ILanguageService.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using DevHive.Services.Models.Language;
+
+namespace DevHive.Services.Interfaces
+{
+ public interface ILanguageService
+ {
+ Task<Guid> CreateLanguage(CreateLanguageServiceModel createLanguageServiceModel);
+
+ Task<ReadLanguageServiceModel> GetLanguageById(Guid id);
+ HashSet<ReadLanguageServiceModel> GetLanguages();
+
+ Task<bool> UpdateLanguage(UpdateLanguageServiceModel languageServiceModel);
+
+ Task<bool> DeleteLanguage(Guid id);
+ }
+}
diff --git a/src/Services/DevHive.Services/Interfaces/IPostService.cs b/src/Services/DevHive.Services/Interfaces/IPostService.cs
new file mode 100644
index 0000000..d35acfd
--- /dev/null
+++ b/src/Services/DevHive.Services/Interfaces/IPostService.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Threading.Tasks;
+using DevHive.Services.Models.Post;
+
+namespace DevHive.Services.Interfaces
+{
+ public interface IPostService
+ {
+ Task<Guid> CreatePost(CreatePostServiceModel createPostServiceModel);
+
+ Task<ReadPostServiceModel> GetPostById(Guid id);
+
+ Task<Guid> UpdatePost(UpdatePostServiceModel updatePostServiceModel);
+
+ Task<bool> DeletePost(Guid id);
+
+ Task<bool> ValidateJwtForCreating(Guid userId, string rawTokenData);
+ Task<bool> ValidateJwtForPost(Guid postId, string rawTokenData);
+ }
+}
diff --git a/src/Services/DevHive.Services/Interfaces/IRateService.cs b/src/Services/DevHive.Services/Interfaces/IRateService.cs
new file mode 100644
index 0000000..359ef55
--- /dev/null
+++ b/src/Services/DevHive.Services/Interfaces/IRateService.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Threading.Tasks;
+using DevHive.Data.Models;
+using DevHive.Services.Models.Post.Rating;
+
+namespace DevHive.Services.Interfaces
+{
+ public interface IRateService
+ {
+ Task<ReadPostRatingServiceModel> RatePost(RatePostServiceModel ratePostServiceModel);
+
+ bool HasUserRatedThisPost(User user, Post post);
+ }
+}
diff --git a/src/Services/DevHive.Services/Interfaces/IRoleService.cs b/src/Services/DevHive.Services/Interfaces/IRoleService.cs
new file mode 100644
index 0000000..d47728c
--- /dev/null
+++ b/src/Services/DevHive.Services/Interfaces/IRoleService.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Threading.Tasks;
+using DevHive.Services.Models.Identity.Role;
+
+namespace DevHive.Services.Interfaces
+{
+ public interface IRoleService
+ {
+ Task<Guid> CreateRole(CreateRoleServiceModel roleServiceModel);
+
+ Task<RoleServiceModel> GetRoleById(Guid id);
+
+ Task<bool> UpdateRole(UpdateRoleServiceModel roleServiceModel);
+
+ Task<bool> DeleteRole(Guid id);
+ }
+}
diff --git a/src/Services/DevHive.Services/Interfaces/ITechnologyService.cs b/src/Services/DevHive.Services/Interfaces/ITechnologyService.cs
new file mode 100644
index 0000000..8f9510c
--- /dev/null
+++ b/src/Services/DevHive.Services/Interfaces/ITechnologyService.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using DevHive.Services.Models.Technology;
+
+namespace DevHive.Services.Interfaces
+{
+ public interface ITechnologyService
+ {
+ Task<Guid> CreateTechnology(CreateTechnologyServiceModel technologyServiceModel);
+
+ Task<ReadTechnologyServiceModel> GetTechnologyById(Guid id);
+ HashSet<ReadTechnologyServiceModel> GetTechnologies();
+
+ Task<bool> UpdateTechnology(UpdateTechnologyServiceModel updateTechnologyServiceModel);
+
+ Task<bool> DeleteTechnology(Guid id);
+ }
+}
diff --git a/src/Services/DevHive.Services/Interfaces/IUserService.cs b/src/Services/DevHive.Services/Interfaces/IUserService.cs
new file mode 100644
index 0000000..9e2b4e3
--- /dev/null
+++ b/src/Services/DevHive.Services/Interfaces/IUserService.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Threading.Tasks;
+using DevHive.Common.Models.Identity;
+using DevHive.Services.Models.Identity.User;
+
+namespace DevHive.Services.Interfaces
+{
+ public interface IUserService
+ {
+ Task<TokenModel> LoginUser(LoginServiceModel loginModel);
+ Task<TokenModel> RegisterUser(RegisterServiceModel registerModel);
+
+ Task<UserServiceModel> GetUserByUsername(string username);
+ Task<UserServiceModel> GetUserById(Guid id);
+
+ Task<UserServiceModel> UpdateUser(UpdateUserServiceModel updateModel);
+ Task<ProfilePictureServiceModel> UpdateProfilePicture(UpdateProfilePictureServiceModel updateProfilePictureServiceModel);
+
+ Task<bool> DeleteUser(Guid id);
+
+ Task<bool> ValidJWT(Guid id, string rawTokenData);
+
+ Task<TokenModel> SuperSecretPromotionToAdmin(Guid userId);
+ }
+}