aboutsummaryrefslogtreecommitdiff
path: root/src/DevHive.Data/Interfaces/Repositories
diff options
context:
space:
mode:
Diffstat (limited to 'src/DevHive.Data/Interfaces/Repositories')
-rw-r--r--src/DevHive.Data/Interfaces/Repositories/IPostRepository.cs4
-rw-r--r--src/DevHive.Data/Interfaces/Repositories/IRepository.cs2
-rw-r--r--src/DevHive.Data/Interfaces/Repositories/IUserRepository.cs17
3 files changed, 9 insertions, 14 deletions
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);