aboutsummaryrefslogtreecommitdiff
path: root/src/DevHive.Data
diff options
context:
space:
mode:
authortranstrike <transtrike@gmail.com>2021-01-11 23:49:34 +0200
committertranstrike <transtrike@gmail.com>2021-01-11 23:49:34 +0200
commit5d67bc4725c45515f0fdbd926cbf2752a794224f (patch)
tree884a80c98d37d6292c14937c74df34f44e9189b0 /src/DevHive.Data
parent0412b54d5ed02e1482a31c7f15866d5539adca7d (diff)
parent407bc2cb7edd7b50967b691504176ca5c52586a0 (diff)
downloadDevHive-5d67bc4725c45515f0fdbd926cbf2752a794224f.tar
DevHive-5d67bc4725c45515f0fdbd926cbf2752a794224f.tar.gz
DevHive-5d67bc4725c45515f0fdbd926cbf2752a794224f.zip
Merge branch 'dev' of github.com:Team-Kaleidoscope/DevHive into dev
Diffstat (limited to 'src/DevHive.Data')
-rw-r--r--src/DevHive.Data/Repositories/Contracts/ILanguageRepository.cs13
-rw-r--r--src/DevHive.Data/Repositories/Contracts/IPostRepository.cs21
-rw-r--r--src/DevHive.Data/Repositories/Contracts/IRepository.cs (renamed from src/DevHive.Data/Repositories/IRepository.cs)2
-rw-r--r--src/DevHive.Data/Repositories/Contracts/IRoleRepository.cs15
-rw-r--r--src/DevHive.Data/Repositories/Contracts/ITechnologyRepository.cs13
-rw-r--r--src/DevHive.Data/Repositories/Contracts/IUserRepository.cs26
-rw-r--r--src/DevHive.Data/Repositories/LanguageRepository.cs4
-rw-r--r--src/DevHive.Data/Repositories/PostRepository.cs4
-rw-r--r--src/DevHive.Data/Repositories/RoleRepository.cs4
-rw-r--r--src/DevHive.Data/Repositories/TechnologyRepository.cs6
-rw-r--r--src/DevHive.Data/Repositories/UserRepository.cs4
11 files changed, 100 insertions, 12 deletions
diff --git a/src/DevHive.Data/Repositories/Contracts/ILanguageRepository.cs b/src/DevHive.Data/Repositories/Contracts/ILanguageRepository.cs
new file mode 100644
index 0000000..e44d27b
--- /dev/null
+++ b/src/DevHive.Data/Repositories/Contracts/ILanguageRepository.cs
@@ -0,0 +1,13 @@
+using DevHive.Data.Models;
+using System;
+using System.Threading.Tasks;
+
+namespace DevHive.Data.Repositories.Contracts
+{
+ public interface ILanguageRepository : IRepository<Language>
+ {
+ public Task<bool> DoesLanguageNameExist(string languageName);
+
+ public Task<bool> DoesLanguageExist(Guid id);
+ }
+}
diff --git a/src/DevHive.Data/Repositories/Contracts/IPostRepository.cs b/src/DevHive.Data/Repositories/Contracts/IPostRepository.cs
new file mode 100644
index 0000000..930138a
--- /dev/null
+++ b/src/DevHive.Data/Repositories/Contracts/IPostRepository.cs
@@ -0,0 +1,21 @@
+using DevHive.Data.Models;
+using System;
+using System.Threading.Tasks;
+
+namespace DevHive.Data.Repositories.Contracts
+{
+ public interface IPostRepository : IRepository<Post>
+ {
+ public Task<bool> AddCommentAsync(Comment entity);
+
+ public Task<Comment> GetCommentByIdAsync(Guid id);
+
+ public Task<bool> EditCommentAsync(Comment newEntity);
+
+ public Task<bool> DeleteCommentAsync(Comment entity);
+
+ public Task<bool> DoesPostExist(Guid postId);
+
+ public Task<bool> DoesCommentExist(Guid id);
+ }
+}
diff --git a/src/DevHive.Data/Repositories/IRepository.cs b/src/DevHive.Data/Repositories/Contracts/IRepository.cs
index 96762b9..37c5170 100644
--- a/src/DevHive.Data/Repositories/IRepository.cs
+++ b/src/DevHive.Data/Repositories/Contracts/IRepository.cs
@@ -1,7 +1,7 @@
using System;
using System.Threading.Tasks;
-namespace Data.Models.Interfaces.Database
+namespace DevHive.Data.Repositories.Contracts
{
public interface IRepository<TEntity>
where TEntity : class
diff --git a/src/DevHive.Data/Repositories/Contracts/IRoleRepository.cs b/src/DevHive.Data/Repositories/Contracts/IRoleRepository.cs
new file mode 100644
index 0000000..6cb8a4e
--- /dev/null
+++ b/src/DevHive.Data/Repositories/Contracts/IRoleRepository.cs
@@ -0,0 +1,15 @@
+using DevHive.Data.Models;
+using System;
+using System.Threading.Tasks;
+
+namespace DevHive.Data.Repositories.Contracts
+{
+ public interface IRoleRepository : IRepository<Role>
+ {
+ public Task<Role> GetByNameAsync(string name);
+
+ public Task<bool> DoesNameExist(string name);
+
+ public Task<bool> DoesRoleExist(Guid id);
+ }
+}
diff --git a/src/DevHive.Data/Repositories/Contracts/ITechnologyRepository.cs b/src/DevHive.Data/Repositories/Contracts/ITechnologyRepository.cs
new file mode 100644
index 0000000..3c4a6b6
--- /dev/null
+++ b/src/DevHive.Data/Repositories/Contracts/ITechnologyRepository.cs
@@ -0,0 +1,13 @@
+using DevHive.Data.Models;
+using System;
+using System.Threading.Tasks;
+
+namespace DevHive.Data.Repositories.Contracts
+{
+ public interface ITechnologyRepository : IRepository<Technology>
+ {
+ public Task<bool> DoesTechnologyNameExist(string technologyName);
+
+ public Task<bool> DoesTechnologyExist(Guid id);
+ }
+}
diff --git a/src/DevHive.Data/Repositories/Contracts/IUserRepository.cs b/src/DevHive.Data/Repositories/Contracts/IUserRepository.cs
new file mode 100644
index 0000000..74c4486
--- /dev/null
+++ b/src/DevHive.Data/Repositories/Contracts/IUserRepository.cs
@@ -0,0 +1,26 @@
+using DevHive.Data.Models;
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+
+namespace DevHive.Data.Repositories.Contracts
+{
+ public interface IUserRepository : IRepository<User>
+ {
+ public Task<bool> AddFriendAsync(User user, User friend);
+
+ public IEnumerable<User> QueryAll();
+
+ public Task<User> GetByUsername(string username);
+
+ public Task<bool> RemoveFriendAsync(User user, User friend);
+
+ public bool DoesUserExist(Guid id);
+
+ public bool DoesUserHaveThisUsername(Guid id, string username);
+
+ public Task<bool> DoesUsernameExist(string username);
+
+ public Task<bool> DoesEmailExist(string email);
+ }
+}
diff --git a/src/DevHive.Data/Repositories/LanguageRepository.cs b/src/DevHive.Data/Repositories/LanguageRepository.cs
index 1ab870a..243192a 100644
--- a/src/DevHive.Data/Repositories/LanguageRepository.cs
+++ b/src/DevHive.Data/Repositories/LanguageRepository.cs
@@ -1,13 +1,13 @@
using System;
using System.Threading.Tasks;
-using Data.Models.Interfaces.Database;
using DevHive.Common.Models.Misc;
using DevHive.Data.Models;
+using DevHive.Data.Repositories.Contracts;
using Microsoft.EntityFrameworkCore;
namespace DevHive.Data.Repositories
{
- public class LanguageRepository : IRepository<Language>
+ public class LanguageRepository : ILanguageRepository
{
private readonly DevHiveContext _context;
diff --git a/src/DevHive.Data/Repositories/PostRepository.cs b/src/DevHive.Data/Repositories/PostRepository.cs
index 5dfee0b..0acfc23 100644
--- a/src/DevHive.Data/Repositories/PostRepository.cs
+++ b/src/DevHive.Data/Repositories/PostRepository.cs
@@ -1,13 +1,13 @@
using System;
using System.Threading.Tasks;
-using Data.Models.Interfaces.Database;
using DevHive.Common.Models.Misc;
using DevHive.Data.Models;
+using DevHive.Data.Repositories.Contracts;
using Microsoft.EntityFrameworkCore;
namespace DevHive.Data.Repositories
{
- public class PostRepository : IRepository<Post>
+ public class PostRepository : IPostRepository
{
private readonly DevHiveContext _context;
diff --git a/src/DevHive.Data/Repositories/RoleRepository.cs b/src/DevHive.Data/Repositories/RoleRepository.cs
index fd04866..d6f83a8 100644
--- a/src/DevHive.Data/Repositories/RoleRepository.cs
+++ b/src/DevHive.Data/Repositories/RoleRepository.cs
@@ -1,13 +1,13 @@
using System;
using System.Threading.Tasks;
-using Data.Models.Interfaces.Database;
using DevHive.Common.Models.Misc;
using DevHive.Data.Models;
+using DevHive.Data.Repositories.Contracts;
using Microsoft.EntityFrameworkCore;
namespace DevHive.Data.Repositories
{
- public class RoleRepository : IRepository<Role>
+ public class RoleRepository : IRoleRepository
{
private readonly DevHiveContext _context;
diff --git a/src/DevHive.Data/Repositories/TechnologyRepository.cs b/src/DevHive.Data/Repositories/TechnologyRepository.cs
index 492c6d2..27918ca 100644
--- a/src/DevHive.Data/Repositories/TechnologyRepository.cs
+++ b/src/DevHive.Data/Repositories/TechnologyRepository.cs
@@ -1,16 +1,16 @@
using System;
using System.Threading.Tasks;
-using Data.Models.Interfaces.Database;
using DevHive.Common.Models.Misc;
using DevHive.Data.Models;
+using DevHive.Data.Repositories.Contracts;
using Microsoft.EntityFrameworkCore;
namespace DevHive.Data.Repositories
{
- public class TechnologyRepository : IRepository<Technology>
+ public abstract class TechnologyRepository : ITechnologyRepository
{
- private readonly DevHiveContext _context;
+ private DevHiveContext _context;
public TechnologyRepository(DevHiveContext context)
{
diff --git a/src/DevHive.Data/Repositories/UserRepository.cs b/src/DevHive.Data/Repositories/UserRepository.cs
index 5600451..5142b82 100644
--- a/src/DevHive.Data/Repositories/UserRepository.cs
+++ b/src/DevHive.Data/Repositories/UserRepository.cs
@@ -2,14 +2,14 @@ using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
-using Data.Models.Interfaces.Database;
using DevHive.Common.Models.Misc;
using DevHive.Data.Models;
+using DevHive.Data.Repositories.Contracts;
using Microsoft.EntityFrameworkCore;
namespace DevHive.Data.Repositories
{
- public class UserRepository : IRepository<User>
+ public class UserRepository : IUserRepository
{
private readonly DevHiveContext _context;