using System; using System.Collections.Generic; using System.Threading.Tasks; using DevHive.Data.Models; namespace DevHive.Data.Interfaces { public interface IUserRepository : IRepository { Task AddRoleToUser(User user, string roleName); Task GetByUsernameAsync(string username); Task UpdateProfilePicture(Guid userId, string pictureUrl); Task VerifyPassword(User user, string password); Task IsInRoleAsync(User user, string roleName); Task ValidateFriendsCollectionAsync(List usernames); Task DoesEmailExistAsync(string email); Task DoesUserExistAsync(Guid id); Task DoesUsernameExistAsync(string username); Task DoesUserHaveThisUsernameAsync(Guid id, string username); } }