aboutsummaryrefslogtreecommitdiff
path: root/src/Data/DevHive.Data.Models/Interfaces
diff options
context:
space:
mode:
Diffstat (limited to 'src/Data/DevHive.Data.Models/Interfaces')
-rw-r--r--src/Data/DevHive.Data.Models/Interfaces/IComment.cs16
-rw-r--r--src/Data/DevHive.Data.Models/Interfaces/ILanguage.cs11
-rw-r--r--src/Data/DevHive.Data.Models/Interfaces/IModel.cs9
-rw-r--r--src/Data/DevHive.Data.Models/Interfaces/IPost.cs22
-rw-r--r--src/Data/DevHive.Data.Models/Interfaces/IProfilePicture.cs13
-rw-r--r--src/Data/DevHive.Data.Models/Interfaces/IRating.cs14
-rw-r--r--src/Data/DevHive.Data.Models/Interfaces/IRole.cs10
-rw-r--r--src/Data/DevHive.Data.Models/Interfaces/ITechnology.cs11
-rw-r--r--src/Data/DevHive.Data.Models/Interfaces/IUser.cs21
9 files changed, 127 insertions, 0 deletions
diff --git a/src/Data/DevHive.Data.Models/Interfaces/IComment.cs b/src/Data/DevHive.Data.Models/Interfaces/IComment.cs
new file mode 100644
index 0000000..c8f1f6a
--- /dev/null
+++ b/src/Data/DevHive.Data.Models/Interfaces/IComment.cs
@@ -0,0 +1,16 @@
+using System;
+using DevHive.Data.Models;
+
+namespace DevHive.Data.Models.Interfaces
+{
+ public interface IComment : IModel
+ {
+ Post Post { get; set; }
+
+ User Creator { get; set; }
+
+ string Message { get; set; }
+
+ DateTime TimeCreated { get; set; }
+ }
+}
diff --git a/src/Data/DevHive.Data.Models/Interfaces/ILanguage.cs b/src/Data/DevHive.Data.Models/Interfaces/ILanguage.cs
new file mode 100644
index 0000000..06e11b4
--- /dev/null
+++ b/src/Data/DevHive.Data.Models/Interfaces/ILanguage.cs
@@ -0,0 +1,11 @@
+using System.Collections.Generic;
+using DevHive.Data.Models;
+
+namespace DevHive.Data.Models.Interfaces
+{
+ public interface ILanguage : IModel
+ {
+ string Name { get; set; }
+ HashSet<User> Users { get; set; }
+ }
+}
diff --git a/src/Data/DevHive.Data.Models/Interfaces/IModel.cs b/src/Data/DevHive.Data.Models/Interfaces/IModel.cs
new file mode 100644
index 0000000..3226dce
--- /dev/null
+++ b/src/Data/DevHive.Data.Models/Interfaces/IModel.cs
@@ -0,0 +1,9 @@
+using System;
+
+namespace DevHive.Data.Models.Interfaces
+{
+ public interface IModel
+ {
+ Guid Id { get; set; }
+ }
+}
diff --git a/src/Data/DevHive.Data.Models/Interfaces/IPost.cs b/src/Data/DevHive.Data.Models/Interfaces/IPost.cs
new file mode 100644
index 0000000..b1f0cb7
--- /dev/null
+++ b/src/Data/DevHive.Data.Models/Interfaces/IPost.cs
@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using DevHive.Data.Models;
+using DevHive.Data.RelationModels;
+
+namespace DevHive.Data.Models.Interfaces
+{
+ public interface IPost : IModel
+ {
+ User Creator { get; set; }
+
+ string Message { get; set; }
+
+ DateTime TimeCreated { get; set; }
+
+ List<Comment> Comments { get; set; }
+
+ // Rating Rating { get; set; }
+
+ List<PostAttachments> Attachments { get; set; }
+ }
+}
diff --git a/src/Data/DevHive.Data.Models/Interfaces/IProfilePicture.cs b/src/Data/DevHive.Data.Models/Interfaces/IProfilePicture.cs
new file mode 100644
index 0000000..550af24
--- /dev/null
+++ b/src/Data/DevHive.Data.Models/Interfaces/IProfilePicture.cs
@@ -0,0 +1,13 @@
+using System;
+using DevHive.Data.Models;
+
+namespace DevHive.Data.Models.Interfaces
+{
+ public interface IProfilePicture : IModel
+ {
+ Guid UserId { get; set; }
+ User User { get; set; }
+
+ string PictureURL { get; set; }
+ }
+}
diff --git a/src/Data/DevHive.Data.Models/Interfaces/IRating.cs b/src/Data/DevHive.Data.Models/Interfaces/IRating.cs
new file mode 100644
index 0000000..1b081b0
--- /dev/null
+++ b/src/Data/DevHive.Data.Models/Interfaces/IRating.cs
@@ -0,0 +1,14 @@
+using System.Collections.Generic;
+using DevHive.Data.Models;
+
+namespace DevHive.Data.Models.Interfaces
+{
+ public interface IRating : IModel
+ {
+ // Post Post { get; set; }
+
+ int Rate { get; set; }
+
+ // HashSet<User> UsersThatRated { get; set; }
+ }
+}
diff --git a/src/Data/DevHive.Data.Models/Interfaces/IRole.cs b/src/Data/DevHive.Data.Models/Interfaces/IRole.cs
new file mode 100644
index 0000000..3a87e12
--- /dev/null
+++ b/src/Data/DevHive.Data.Models/Interfaces/IRole.cs
@@ -0,0 +1,10 @@
+using System.Collections.Generic;
+using DevHive.Data.Models;
+
+namespace DevHive.Data.Models.Interfaces
+{
+ public interface IRole
+ {
+ HashSet<User> Users { get; set; }
+ }
+}
diff --git a/src/Data/DevHive.Data.Models/Interfaces/ITechnology.cs b/src/Data/DevHive.Data.Models/Interfaces/ITechnology.cs
new file mode 100644
index 0000000..575aea6
--- /dev/null
+++ b/src/Data/DevHive.Data.Models/Interfaces/ITechnology.cs
@@ -0,0 +1,11 @@
+using System.Collections.Generic;
+using DevHive.Data.Models;
+
+namespace DevHive.Data.Models.Interfaces
+{
+ public interface ITechnology : IModel
+ {
+ string Name { get; set; }
+ HashSet<User> Users { get; set; }
+ }
+}
diff --git a/src/Data/DevHive.Data.Models/Interfaces/IUser.cs b/src/Data/DevHive.Data.Models/Interfaces/IUser.cs
new file mode 100644
index 0000000..7606ba2
--- /dev/null
+++ b/src/Data/DevHive.Data.Models/Interfaces/IUser.cs
@@ -0,0 +1,21 @@
+using System.Collections.Generic;
+using DevHive.Data.Models;
+using DevHive.Data.RelationModels;
+
+namespace DevHive.Data.Models.Interfaces
+{
+ public interface IUser : IModel
+ {
+ string FirstName { get; set; }
+
+ string LastName { get; set; }
+
+ ProfilePicture ProfilePicture { get; set; }
+
+ HashSet<Language> Languages { get; set; }
+
+ HashSet<Technology> Technologies { get; set; }
+
+ HashSet<Role> Roles { get; set; }
+ }
+}