aboutsummaryrefslogtreecommitdiff
path: root/src/Services/DevHive.Services/Interfaces/IUserService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Services/DevHive.Services/Interfaces/IUserService.cs')
-rw-r--r--src/Services/DevHive.Services/Interfaces/IUserService.cs25
1 files changed, 25 insertions, 0 deletions
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);
+ }
+}