Website Summary Files Commits Branches @commit @diff @stats
path: root / src / DevHive.Services / Interfaces / IUserService.cs
diff options
context:
space:
mode:
Commit6deaa6edcd8e347d5ed28ee3389cb8712cc64ea3 (patch)
Author
 transtrike <transtrike@gmail.com>
2021-01-13 11:05:26 +0200
Committer
 transtrike <transtrike@gmail.com>
2021-01-13 11:05:26 +0200
Files620b8867f3b5f96aa76c0e5e38e985db91498696 /src/DevHive.Services/Interfaces/IUserService.cs
DevHive-6deaa6edcd8e347d5ed28ee3389cb8712cc64ea3.tar
DevHive-6deaa6edcd8e347d5ed28ee3389cb8712cc64ea3.tar.gz
DevHive-6deaa6edcd8e347d5ed28ee3389cb8712cc64ea3.zip
Parent8a18cdf741bed465b4b24626e15370c33365cf11 (diff)
The return of the interfaces
1 files changed, 31 insertions, 0 deletions
-rw-r--r--src/DevHive.Services/Interfaces/IUserService.cs31
diff --git a/src/DevHive.Services/Interfaces/IUserService.cs b/src/DevHive.Services/Interfaces/IUserService.cs
new file mode 100644
index 0000000..ba53563
--- /dev/null
+++ b/src/DevHive.Services/Interfaces/IUserService.cs
@@ -0,0 +1,31 @@
+using System;
+using System.Threading.Tasks;
+using DevHive.Common.Models.Identity;
+using DevHive.Services.Models.Identity.User;
+using DevHive.Services.Models.Language;
+using DevHive.Services.Models.Technology;
+
+namespace DevHive.Services.Interfaces
+{
+ public interface IUserService
+ {
+ Task<TokenModel> LoginUser(LoginServiceModel loginModel);
+ Task<TokenModel> RegisterUser(RegisterServiceModel registerModel);
+
+ Task<bool> AddFriend(Guid userId, Guid friendId);
+ Task<bool> AddLanguageToUser(Guid userId, LanguageServiceModel languageServiceModel);
+ Task<bool> AddTechnologyToUser(Guid userId, TechnologyServiceModel technologyServiceModel);
+
+ Task<UserServiceModel> GetFriendById(Guid friendId);
+ Task<UserServiceModel> GetUserById(Guid id);
+
+ Task<UserServiceModel> UpdateUser(UpdateUserServiceModel updateModel);
+
+ Task DeleteUser(Guid id);
+ Task<bool> RemoveFriend(Guid userId, Guid friendId);
+ Task<bool> RemoveLanguageFromUser(Guid userId, LanguageServiceModel languageServiceModel);
+ Task<bool> RemoveTechnologyFromUser(Guid userId, TechnologyServiceModel technologyServiceModel);
+
+ Task<bool> ValidJWT(Guid id, string rawTokenData);
+ }
+} \ No newline at end of file