diff options
Diffstat (limited to 'src/DevHive.Data/Interfaces')
7 files changed, 23 insertions, 19 deletions
diff --git a/src/DevHive.Data/Interfaces/Models/ILanguage.cs b/src/DevHive.Data/Interfaces/Models/ILanguage.cs index f757a3f..b77d5ae 100644 --- a/src/DevHive.Data/Interfaces/Models/ILanguage.cs +++ b/src/DevHive.Data/Interfaces/Models/ILanguage.cs @@ -1,7 +1,12 @@ +using System.Collections.Generic; +using DevHive.Data.Models; + namespace DevHive.Data.Interfaces.Models { public interface ILanguage : IModel { string Name { get; set; } + HashSet<User> Users { get; set; } + } } diff --git a/src/DevHive.Data/Interfaces/Models/IRole.cs b/src/DevHive.Data/Interfaces/Models/IRole.cs index 0623f07..c8b7068 100644 --- a/src/DevHive.Data/Interfaces/Models/IRole.cs +++ b/src/DevHive.Data/Interfaces/Models/IRole.cs @@ -5,6 +5,6 @@ namespace DevHive.Data.Interfaces.Models { public interface IRole { - List<User> Users { get; set; } + HashSet<User> Users { get; set; } } } diff --git a/src/DevHive.Data/Interfaces/Models/ITechnology.cs b/src/DevHive.Data/Interfaces/Models/ITechnology.cs index 9bd97f9..153f75f 100644 --- a/src/DevHive.Data/Interfaces/Models/ITechnology.cs +++ b/src/DevHive.Data/Interfaces/Models/ITechnology.cs @@ -1,7 +1,11 @@ +using System.Collections.Generic; +using DevHive.Data.Models; + namespace DevHive.Data.Interfaces.Models { public interface ITechnology : IModel { string Name { get; set; } + HashSet<User> Users { get; set; } } } diff --git a/src/DevHive.Data/Interfaces/Models/IUser.cs b/src/DevHive.Data/Interfaces/Models/IUser.cs index ef8c927..08ce385 100644 --- a/src/DevHive.Data/Interfaces/Models/IUser.cs +++ b/src/DevHive.Data/Interfaces/Models/IUser.cs @@ -8,9 +8,9 @@ namespace DevHive.Data.Interfaces.Models string FirstName { get; set; } string LastName { get; set; } string ProfilePictureUrl { get; set; } - IList<Language> Languages { get; set; } - IList<Technology> Technologies { get; set; } - IList<Role> Roles { get; set; } - IList<User> Friends { get; set; } + HashSet<Language> Languages { get; set; } + HashSet<Technology> Technologies { get; set; } + HashSet<Role> Roles { get; set; } + HashSet<User> Friends { get; set; } } } diff --git a/src/DevHive.Data/Interfaces/Repositories/IPostRepository.cs b/src/DevHive.Data/Interfaces/Repositories/IPostRepository.cs index 913d8c4..7a9c02e 100644 --- a/src/DevHive.Data/Interfaces/Repositories/IPostRepository.cs +++ b/src/DevHive.Data/Interfaces/Repositories/IPostRepository.cs @@ -9,12 +9,16 @@ namespace DevHive.Data.Interfaces.Repositories { Task<bool> AddCommentAsync(Comment entity); + Task<Post> GetPostByIssuerAndTimeCreatedAsync(Guid issuerId, DateTime timeCreated); + Task<Comment> GetCommentByIdAsync(Guid id); + Task<Comment> GetCommentByIssuerAndTimeCreatedAsync(Guid issuerId, DateTime timeCreated); Task<bool> EditCommentAsync(Comment newEntity); Task<bool> DeleteCommentAsync(Comment entity); Task<bool> DoesCommentExist(Guid id); + Task<bool> DoesPostExist(Guid postId); } } diff --git a/src/DevHive.Data/Interfaces/Repositories/IRepository.cs b/src/DevHive.Data/Interfaces/Repositories/IRepository.cs index 40a78de..d9f7c7a 100644 --- a/src/DevHive.Data/Interfaces/Repositories/IRepository.cs +++ b/src/DevHive.Data/Interfaces/Repositories/IRepository.cs @@ -18,4 +18,4 @@ namespace DevHive.Data.Repositories.Interfaces //Delete Entity from database Task<bool> DeleteAsync(TEntity entity); } -}
\ No newline at end of file +} diff --git a/src/DevHive.Data/Interfaces/Repositories/IUserRepository.cs b/src/DevHive.Data/Interfaces/Repositories/IUserRepository.cs index eca6adb..c29669d 100644 --- a/src/DevHive.Data/Interfaces/Repositories/IUserRepository.cs +++ b/src/DevHive.Data/Interfaces/Repositories/IUserRepository.cs @@ -8,24 +8,15 @@ namespace DevHive.Data.Interfaces.Repositories { public interface IUserRepository : IRepository<User> { - Task<bool> AddFriendToUserAsync(User user, User friend); - Task<bool> AddLanguageToUserAsync(User user, Language language); - Task<bool> AddTechnologyToUserAsync(User user, Technology technology); - + //Read Task<User> GetByUsernameAsync(string username); Language GetUserLanguage(User user, Language language); - IList<Language> GetUserLanguages(User user); - IList<Technology> GetUserTechnologies(User user); + HashSet<Language> GetUserLanguages(User user); + HashSet<Technology> GetUserTechnologies(User user); Technology GetUserTechnology(User user, Technology technology); IEnumerable<User> QueryAll(); - Task<bool> EditUserLanguageAsync(User user, Language oldLang, Language newLang); - Task<bool> EditUserTechnologyAsync(User user, Technology oldTech, Technology newTech); - - Task<bool> RemoveFriendAsync(User user, User friend); - Task<bool> RemoveLanguageFromUserAsync(User user, Language language); - Task<bool> RemoveTechnologyFromUserAsync(User user, Technology technology); - + //Validations Task<bool> DoesEmailExistAsync(string email); Task<bool> DoesUserExistAsync(Guid id); Task<bool> DoesUserHaveThisFriendAsync(Guid userId, Guid friendId); |
