diff options
| author | Victor S <57849063+transtrike@users.noreply.github.com> | 2021-02-05 10:54:49 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-02-05 10:54:49 -0800 |
| commit | f4a70c6430db923af9fa9958a11c2d6612cb52cc (patch) | |
| tree | ca0ea403ba5500df20bc8854ec50529a25c64245 /src/DevHive.Data/Models | |
| parent | 1ccdefdac025b1b986ad2bd0bc3eda7505d6e7c3 (diff) | |
| parent | 2269b5aa6c8d3dcb407c34fa256200bdc573585a (diff) | |
| download | DevHive-f4a70c6430db923af9fa9958a11c2d6612cb52cc.tar DevHive-f4a70c6430db923af9fa9958a11c2d6612cb52cc.tar.gz DevHive-f4a70c6430db923af9fa9958a11c2d6612cb52cc.zip | |
Merge pull request #18 from Team-Kaleidoscope/devv0.1
First stage: Complete. Awaiting further progress...
Diffstat (limited to 'src/DevHive.Data/Models')
| -rw-r--r-- | src/DevHive.Data/Models/Comment.cs | 20 | ||||
| -rw-r--r-- | src/DevHive.Data/Models/Language.cs | 15 | ||||
| -rw-r--r-- | src/DevHive.Data/Models/Post.cs | 26 | ||||
| -rw-r--r-- | src/DevHive.Data/Models/ProfilePicture.cs | 15 | ||||
| -rw-r--r-- | src/DevHive.Data/Models/Rating.cs | 17 | ||||
| -rw-r--r-- | src/DevHive.Data/Models/Role.cs | 17 | ||||
| -rw-r--r-- | src/DevHive.Data/Models/Technology.cs | 15 | ||||
| -rw-r--r-- | src/DevHive.Data/Models/User.cs | 33 |
8 files changed, 158 insertions, 0 deletions
diff --git a/src/DevHive.Data/Models/Comment.cs b/src/DevHive.Data/Models/Comment.cs new file mode 100644 index 0000000..e2bb21d --- /dev/null +++ b/src/DevHive.Data/Models/Comment.cs @@ -0,0 +1,20 @@ +using System; +using DevHive.Data.Interfaces.Models; + +namespace DevHive.Data.Models +{ + public class Comment : IComment + { + public Guid Id { get; set; } + + // public Guid PostId { get; set; } + public Post Post { get; set; } + + // public Guid CreatorId { get; set; } + public User Creator { get; set; } + + public string Message { get; set; } + + public DateTime TimeCreated { get; set; } + } +} diff --git a/src/DevHive.Data/Models/Language.cs b/src/DevHive.Data/Models/Language.cs new file mode 100644 index 0000000..7ad8ff2 --- /dev/null +++ b/src/DevHive.Data/Models/Language.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using DevHive.Data.Interfaces.Models; + +namespace DevHive.Data.Models +{ + public class Language : ILanguage + { + public Guid Id { get; set; } + + public string Name { get; set; } + + public HashSet<User> Users { get; set; } = new(); + } +} diff --git a/src/DevHive.Data/Models/Post.cs b/src/DevHive.Data/Models/Post.cs new file mode 100644 index 0000000..3f3d8c9 --- /dev/null +++ b/src/DevHive.Data/Models/Post.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using DevHive.Data.Interfaces.Models; +using DevHive.Data.RelationModels; + +namespace DevHive.Data.Models +{ + [Table("Posts")] + public class Post : IPost + { + public Guid Id { get; set; } + + public User Creator { get; set; } + + public string Message { get; set; } + + public DateTime TimeCreated { get; set; } + + public List<Comment> Comments { get; set; } = new(); + + public Rating Rating { get; set; } = new(); + + public List<PostAttachments> Attachments { get; set; } = new(); + } +} diff --git a/src/DevHive.Data/Models/ProfilePicture.cs b/src/DevHive.Data/Models/ProfilePicture.cs new file mode 100644 index 0000000..d5cc397 --- /dev/null +++ b/src/DevHive.Data/Models/ProfilePicture.cs @@ -0,0 +1,15 @@ +using System; +using DevHive.Data.Interfaces.Models; + +namespace DevHive.Data.Models +{ + public class ProfilePicture: IProfilePicture + { + public Guid Id { get; set; } + + public Guid UserId { get; set; } + public User User { get; set; } + + public string PictureURL { get; set; } + } +} diff --git a/src/DevHive.Data/Models/Rating.cs b/src/DevHive.Data/Models/Rating.cs new file mode 100644 index 0000000..e1bedd2 --- /dev/null +++ b/src/DevHive.Data/Models/Rating.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using DevHive.Data.Interfaces.Models; + +namespace DevHive.Data.Models +{ + public class Rating : IRating + { + public Guid Id { get; set; } + + public Guid PostId { get; set; } + + public Post Post { get; set; } + + public int Rate { get; set; } + } +} diff --git a/src/DevHive.Data/Models/Role.cs b/src/DevHive.Data/Models/Role.cs new file mode 100644 index 0000000..259d867 --- /dev/null +++ b/src/DevHive.Data/Models/Role.cs @@ -0,0 +1,17 @@ +using System.ComponentModel.DataAnnotations.Schema; +using System.Collections.Generic; +using DevHive.Data.Interfaces.Models; +using Microsoft.AspNetCore.Identity; +using System; + +namespace DevHive.Data.Models +{ + [Table("Roles")] + public class Role : IdentityRole<Guid>, IRole + { + public const string DefaultRole = "User"; + public const string AdminRole = "Admin"; + + public HashSet<User> Users { get; set; } = new(); + } +} diff --git a/src/DevHive.Data/Models/Technology.cs b/src/DevHive.Data/Models/Technology.cs new file mode 100644 index 0000000..6f98f0b --- /dev/null +++ b/src/DevHive.Data/Models/Technology.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using DevHive.Data.Interfaces.Models; + +namespace DevHive.Data.Models +{ + public class Technology : ITechnology + { + public Guid Id { get; set; } + + public string Name { get; set; } + + public HashSet<User> Users { get; set; } = new(); + } +} diff --git a/src/DevHive.Data/Models/User.cs b/src/DevHive.Data/Models/User.cs new file mode 100644 index 0000000..983d073 --- /dev/null +++ b/src/DevHive.Data/Models/User.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using DevHive.Data.Interfaces.Models; +using DevHive.Data.RelationModels; +using Microsoft.AspNetCore.Identity; + +namespace DevHive.Data.Models +{ + [Table("Users")] + public class User : IdentityUser<Guid>, IUser + { + public string FirstName { get; set; } + + public string LastName { get; set; } + + public ProfilePicture ProfilePicture { get; set; } + + public HashSet<Language> Languages { get; set; } = new(); + + public HashSet<Technology> Technologies { get; set; } = new(); + + public HashSet<Role> Roles { get; set; } = new(); + + public HashSet<Post> Posts { get; set; } = new(); + + public HashSet<User> Friends { get; set; } = new(); + + public HashSet<Comment> Comments { get; set; } = new(); + + public HashSet<RatedPost> RatedPosts { get; set; } = new(); + } +} |
