aboutsummaryrefslogtreecommitdiff
path: root/src/DevHive.Data/Interfaces
diff options
context:
space:
mode:
Diffstat (limited to 'src/DevHive.Data/Interfaces')
-rw-r--r--src/DevHive.Data/Interfaces/Models/ILanguage.cs5
-rw-r--r--src/DevHive.Data/Interfaces/Models/IRole.cs2
-rw-r--r--src/DevHive.Data/Interfaces/Models/ITechnology.cs4
-rw-r--r--src/DevHive.Data/Interfaces/Models/IUser.cs8
-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
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);