diff options
Diffstat (limited to 'src/Data/DevHive.Data/Interfaces/IUserRepository.cs')
| -rw-r--r-- | src/Data/DevHive.Data/Interfaces/IUserRepository.cs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/Data/DevHive.Data/Interfaces/IUserRepository.cs b/src/Data/DevHive.Data/Interfaces/IUserRepository.cs new file mode 100644 index 0000000..917809d --- /dev/null +++ b/src/Data/DevHive.Data/Interfaces/IUserRepository.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using DevHive.Data.Models; +using DevHive.Data.Repositories.Interfaces; + +namespace DevHive.Data.Interfaces +{ + public interface IUserRepository : IRepository<User> + { + //Read + Task<User> GetByUsernameAsync(string username); + Task<bool> UpdateProfilePicture(Guid userId, string pictureUrl); + + //Validations + Task<bool> ValidateFriendsCollectionAsync(List<string> usernames); + Task<bool> DoesEmailExistAsync(string email); + Task<bool> DoesUserExistAsync(Guid id); + Task<bool> DoesUsernameExistAsync(string username); + bool DoesUserHaveThisUsername(Guid id, string username); + } +} |
