using System; using System.Threading.Tasks; using DevHive.Common.Models.Identity; using DevHive.Services.Models.User; namespace DevHive.Services.Interfaces { public interface IUserService { Task LoginUser(LoginServiceModel loginModel); Task RegisterUser(RegisterServiceModel registerModel); Task GetUserByUsername(string username); Task GetUserById(Guid id); Task UpdateUser(UpdateUserServiceModel updateUserServiceModel); Task UpdateProfilePicture(UpdateProfilePictureServiceModel updateProfilePictureServiceModel); Task DeleteUser(Guid id); Task ValidJWT(Guid id, string rawTokenData); Task SuperSecretPromotionToAdmin(Guid userId); } }