aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortranstrike <transtrike@gmail.com>2021-01-23 20:59:12 +0200
committertranstrike <transtrike@gmail.com>2021-01-23 20:59:12 +0200
commitfac1bf2d1772e60cbecc1cf0381c6063a0e97ffd (patch)
tree240c775b6615bdfb581b9320741f77ac63405230 /src
parent038dbdda98ac6b0ae34ac01f45206fd4e6965150 (diff)
downloadDevHive-fac1bf2d1772e60cbecc1cf0381c6063a0e97ffd.tar
DevHive-fac1bf2d1772e60cbecc1cf0381c6063a0e97ffd.tar.gz
DevHive-fac1bf2d1772e60cbecc1cf0381c6063a0e97ffd.zip
Post&Comment Models implemented; Mappings Configured
Diffstat (limited to 'src')
-rw-r--r--src/DevHive.Data/Interfaces/Models/IPost.cs12
-rw-r--r--src/DevHive.Data/Models/Post.cs11
-rw-r--r--src/DevHive.Services/Configurations/Mapping/PostMappings.cs12
-rw-r--r--src/DevHive.Services/Models/Post/Comment/BaseCommentServiceModel.cs15
-rw-r--r--src/DevHive.Services/Models/Post/Comment/CommentServiceModel.cs9
-rw-r--r--src/DevHive.Services/Models/Post/Post/BasePostServiceModel.cs11
-rw-r--r--src/DevHive.Services/Models/Post/Post/CreatePostServiceModel.cs8
-rw-r--r--src/DevHive.Services/Models/Post/Post/PostServiceModel.cs12
-rw-r--r--src/DevHive.Services/Models/Post/Post/ReadPostServiceModel.cs21
-rw-r--r--src/DevHive.Services/Models/Post/Post/UpdatePostServiceModel.cs12
-rw-r--r--src/DevHive.Web/Configurations/Mapping/PostMappings.cs20
-rw-r--r--src/DevHive.Web/Models/Post/Comment/BaseCommentWebModel.cs21
-rw-r--r--src/DevHive.Web/Models/Post/Comment/CommentWebModel.cs25
-rw-r--r--src/DevHive.Web/Models/Post/Post/CreatePostWebModel.cs15
-rw-r--r--src/DevHive.Web/Models/Post/Post/PostWebModel.cs39
-rw-r--r--src/DevHive.Web/Models/Post/Post/ReadPostWebModel.cs25
-rw-r--r--src/DevHive.Web/Models/Post/Post/UpdatePostModel.cs7
-rw-r--r--src/DevHive.Web/Models/Post/Post/UpdatePostWebModel.cs (renamed from src/DevHive.Web/Models/Post/Post/BasePostWebModel.cs)6
18 files changed, 122 insertions, 159 deletions
diff --git a/src/DevHive.Data/Interfaces/Models/IPost.cs b/src/DevHive.Data/Interfaces/Models/IPost.cs
index 117d859..e68407d 100644
--- a/src/DevHive.Data/Interfaces/Models/IPost.cs
+++ b/src/DevHive.Data/Interfaces/Models/IPost.cs
@@ -1,13 +1,19 @@
using System;
+using System.Collections.Generic;
using DevHive.Data.Models;
namespace DevHive.Data.Interfaces.Models
{
public interface IPost : IModel
{
- Guid IssuerId { get; set; }
- DateTime TimeCreated { get; set; }
+ Guid CreatorId { get; set; }
+
string Message { get; set; }
- Comment[] Comments { get; set; }
+
+ DateTime TimeCreated { get; set; }
+
+ List<Comment> Comments { get; set; }
+
+ //List<Files> Files
}
}
diff --git a/src/DevHive.Data/Models/Post.cs b/src/DevHive.Data/Models/Post.cs
index 54576b7..f7bca43 100644
--- a/src/DevHive.Data/Models/Post.cs
+++ b/src/DevHive.Data/Models/Post.cs
@@ -1,4 +1,5 @@
using System;
+using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using DevHive.Data.Interfaces.Models;
@@ -9,14 +10,14 @@ namespace DevHive.Data.Models
{
public Guid Id { get; set; }
- public Guid IssuerId { get; set; }
-
- public DateTime TimeCreated { get; set; }
+ public Guid CreatorId { get; set; }
public string Message { get; set; }
- //public File[] Files { get; set; }
+ public DateTime TimeCreated { get; set; }
+
+ public List<Comment> Comments { get; set; }
- public Comment[] Comments { get; set; }
+ // public List<string> Files { get; set; }
}
}
diff --git a/src/DevHive.Services/Configurations/Mapping/PostMappings.cs b/src/DevHive.Services/Configurations/Mapping/PostMappings.cs
index 7f99c66..e4924a5 100644
--- a/src/DevHive.Services/Configurations/Mapping/PostMappings.cs
+++ b/src/DevHive.Services/Configurations/Mapping/PostMappings.cs
@@ -1,6 +1,5 @@
using DevHive.Data.Models;
using AutoMapper;
-using DevHive.Services.Models.Post;
using DevHive.Services.Models.Post.Post;
namespace DevHive.Services.Configurations.Mapping
@@ -9,8 +8,15 @@ namespace DevHive.Services.Configurations.Mapping
{
public PostMappings()
{
- CreateMap<PostServiceModel, Post>();
- CreateMap<Post, PostServiceModel>();
+ CreateMap<CreatePostServiceModel, Post>();
+ // .ForMember(dest => dest.Files, src => src.Ignore());
+ CreateMap<UpdatePostServiceModel, Post>()
+ .ForMember(dest => dest.Id, src => src.MapFrom(p => p.PostId))
+ // .ForMember(dest => dest.Files, src => src.Ignore())
+ .ForMember(dest => dest.Message, src => src.MapFrom(p => p.NewMessage));
+
+ CreateMap<Post, ReadPostServiceModel>()
+ .ForMember(dest => dest.PostId, src => src.MapFrom(p => p.Id));
}
}
}
diff --git a/src/DevHive.Services/Models/Post/Comment/BaseCommentServiceModel.cs b/src/DevHive.Services/Models/Post/Comment/BaseCommentServiceModel.cs
deleted file mode 100644
index dae7ec3..0000000
--- a/src/DevHive.Services/Models/Post/Comment/BaseCommentServiceModel.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-
-namespace DevHive.Services.Models.Post.Comment
-{
- public class BaseCommentServiceModel
- {
- public Guid PostId { get; set; }
-
- public Guid IssuerId { get; set; }
-
- public string Message { get; set; }
-
- public DateTime TimeCreated { get; set; }
- }
-}
diff --git a/src/DevHive.Services/Models/Post/Comment/CommentServiceModel.cs b/src/DevHive.Services/Models/Post/Comment/CommentServiceModel.cs
deleted file mode 100644
index a0fa53e..0000000
--- a/src/DevHive.Services/Models/Post/Comment/CommentServiceModel.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-using System;
-
-namespace DevHive.Services.Models.Post.Comment
-{
- public class CommentServiceModel : CreateCommentServiceModel
- {
-
- }
-} \ No newline at end of file
diff --git a/src/DevHive.Services/Models/Post/Post/BasePostServiceModel.cs b/src/DevHive.Services/Models/Post/Post/BasePostServiceModel.cs
deleted file mode 100644
index 45a677c..0000000
--- a/src/DevHive.Services/Models/Post/Post/BasePostServiceModel.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using System;
-
-namespace DevHive.Services.Models.Post.Post
-{
- public class BasePostServiceModel
- {
- public Guid Id { get; set; }
- public Guid IssuerId { get; set; }
- public string Message { get; set; }
- }
-} \ No newline at end of file
diff --git a/src/DevHive.Services/Models/Post/Post/CreatePostServiceModel.cs b/src/DevHive.Services/Models/Post/Post/CreatePostServiceModel.cs
index 1bf60ae..6b83f3e 100644
--- a/src/DevHive.Services/Models/Post/Post/CreatePostServiceModel.cs
+++ b/src/DevHive.Services/Models/Post/Post/CreatePostServiceModel.cs
@@ -2,8 +2,14 @@ using System;
namespace DevHive.Services.Models.Post.Post
{
- public class CreatePostServiceModel : BasePostServiceModel
+ public class CreatePostServiceModel
{
+ public Guid IssuerId { get; set; }
+
+ public string Message { get; set; }
+
public DateTime TimeCreated { get; set; }
+
+ // public List<IFormFile> Files { get; set; }
}
}
diff --git a/src/DevHive.Services/Models/Post/Post/PostServiceModel.cs b/src/DevHive.Services/Models/Post/Post/PostServiceModel.cs
deleted file mode 100644
index b9c2128..0000000
--- a/src/DevHive.Services/Models/Post/Post/PostServiceModel.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System;
-
-namespace DevHive.Services.Models.Post.Post
-{
- public class PostServiceModel : CreatePostServiceModel
- {
-
- //public File[] Files { get; set; }
-
- //public Comment[] Comments { get; set; }
- }
-} \ No newline at end of file
diff --git a/src/DevHive.Services/Models/Post/Post/ReadPostServiceModel.cs b/src/DevHive.Services/Models/Post/Post/ReadPostServiceModel.cs
new file mode 100644
index 0000000..52b9232
--- /dev/null
+++ b/src/DevHive.Services/Models/Post/Post/ReadPostServiceModel.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using DevHive.Services.Models.Post.Comment;
+
+namespace DevHive.Services.Models.Post.Post
+{
+ public class ReadPostServiceModel
+ {
+ public Guid PostId { get; set; }
+
+ public Guid CreatorId { get; set; }
+
+ public string Message { get; set; }
+
+ public DateTime TimeCreated { get; set; }
+
+ public List<ReadCommentServiceModel> Comments { get; set; }
+
+ //public List<string> Files { get; set; }
+ }
+}
diff --git a/src/DevHive.Services/Models/Post/Post/UpdatePostServiceModel.cs b/src/DevHive.Services/Models/Post/Post/UpdatePostServiceModel.cs
index 5a4f621..67ee711 100644
--- a/src/DevHive.Services/Models/Post/Post/UpdatePostServiceModel.cs
+++ b/src/DevHive.Services/Models/Post/Post/UpdatePostServiceModel.cs
@@ -1,5 +1,13 @@
+using System;
+
namespace DevHive.Services.Models.Post.Post
{
- public class UpdatePostServiceModel : BasePostServiceModel
- { }
+ public class UpdatePostServiceModel
+ {
+ public Guid PostId { get; set; }
+
+ public string NewMessage { get; set; }
+
+ // public List<IFormFile> Files { get; set; }
+ }
}
diff --git a/src/DevHive.Web/Configurations/Mapping/PostMappings.cs b/src/DevHive.Web/Configurations/Mapping/PostMappings.cs
new file mode 100644
index 0000000..0e966cc
--- /dev/null
+++ b/src/DevHive.Web/Configurations/Mapping/PostMappings.cs
@@ -0,0 +1,20 @@
+using AutoMapper;
+using DevHive.Services.Models.Post.Post;
+using DevHive.Web.Models.Post.Post;
+
+namespace DevHive.Web.Configurations.Mapping
+{
+ public class PostMappings : Profile
+ {
+ public PostMappings()
+ {
+ CreateMap<CreatePostWebModel, CreatePostServiceModel>();
+ CreateMap<UpdatePostWebModel, UpdatePostServiceModel>();
+
+ CreateMap<ReadPostServiceModel, ReadPostWebModel>()
+ .ForMember(dest => dest.CreatorFirstName, src => src.Ignore())
+ .ForMember(dest => dest.CreatorLastName, src => src.Ignore())
+ .ForMember(dest => dest.CreatorUsername, src => src.Ignore());
+ }
+ }
+}
diff --git a/src/DevHive.Web/Models/Post/Comment/BaseCommentWebModel.cs b/src/DevHive.Web/Models/Post/Comment/BaseCommentWebModel.cs
deleted file mode 100644
index 9ba0b87..0000000
--- a/src/DevHive.Web/Models/Post/Comment/BaseCommentWebModel.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System;
-using System.ComponentModel.DataAnnotations;
-using System.Diagnostics.CodeAnalysis;
-
-namespace DevHive.Web.Models.Post.Comment
-{
- public class BaseCommentWebModel
- {
- [NotNull]
- [Required]
- public Guid PostId { get; set; }
-
- [NotNull]
- [Required]
- public Guid CommentId { get; set; }
-
- [NotNull]
- [Required]
- public string Message { get; set; }
- }
-}
diff --git a/src/DevHive.Web/Models/Post/Comment/CommentWebModel.cs b/src/DevHive.Web/Models/Post/Comment/CommentWebModel.cs
deleted file mode 100644
index 590851d..0000000
--- a/src/DevHive.Web/Models/Post/Comment/CommentWebModel.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-using System;
-using System.ComponentModel.DataAnnotations;
-using System.Diagnostics.CodeAnalysis;
-
-namespace DevHive.Web.Models.Post.Comment
-{
- public class CommentWebModel
- {
- [NotNull]
- [Required]
- public Guid IssuerId { get; set; }
-
- [NotNull]
- [Required]
- public Guid PostId { get; set; }
-
- [NotNull]
- [Required]
- public string Message { get; set; }
-
- [NotNull]
- [Required]
- public DateTime TimeCreated { get; set; }
- }
-}
diff --git a/src/DevHive.Web/Models/Post/Post/CreatePostWebModel.cs b/src/DevHive.Web/Models/Post/Post/CreatePostWebModel.cs
index 389ff9e..647b30e 100644
--- a/src/DevHive.Web/Models/Post/Post/CreatePostWebModel.cs
+++ b/src/DevHive.Web/Models/Post/Post/CreatePostWebModel.cs
@@ -1,6 +1,19 @@
using System;
+using System.ComponentModel.DataAnnotations;
+using System.Diagnostics.CodeAnalysis;
namespace DevHive.Web.Models.Post.Post
{
- public class CreatePostWebModel : BasePostWebModel { }
+ public class CreatePostWebModel
+ {
+ [NotNull]
+ [Required]
+ public Guid CreatorId { get; set; }
+
+ [NotNull]
+ [Required]
+ public string Message { get; set; }
+
+ // public List<IFormFile> Files { get; set; }
+ }
}
diff --git a/src/DevHive.Web/Models/Post/Post/PostWebModel.cs b/src/DevHive.Web/Models/Post/Post/PostWebModel.cs
deleted file mode 100644
index fe35cee..0000000
--- a/src/DevHive.Web/Models/Post/Post/PostWebModel.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-using System.ComponentModel.DataAnnotations;
-using System.Diagnostics.CodeAnalysis;
-using DevHive.Web.Attributes;
-using DevHive.Web.Models.Post.Comment;
-
-namespace DevHive.Web.Models.Post.Post
-{
- public class PostWebModel
- {
- //public string Picture { get; set; }
-
- [NotNull]
- [Required]
- [MinLength(3)]
- [MaxLength(50)]
- public string IssuerFirstName { get; set; }
-
- [NotNull]
- [Required]
- [MinLength(3)]
- [MaxLength(50)]
- public string IssuerLastName { get; set; }
-
- [NotNull]
- [Required]
- [MinLength(3)]
- [MaxLength(50)]
- [OnlyAlphanumerics(ErrorMessage = "Username can only contain letters and digits!")]
- public string IssuerUsername { get; set; }
-
- [NotNull]
- [Required]
- public string Message { get; set; }
-
- //public Files[] Files { get; set; }
-
- public CommentWebModel[] Comments { get; set; }
- }
-}
diff --git a/src/DevHive.Web/Models/Post/Post/ReadPostWebModel.cs b/src/DevHive.Web/Models/Post/Post/ReadPostWebModel.cs
new file mode 100644
index 0000000..04c6275
--- /dev/null
+++ b/src/DevHive.Web/Models/Post/Post/ReadPostWebModel.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using DevHive.Web.Models.Post.Comment;
+
+namespace DevHive.Web.Models.Post.Post
+{
+ public class ReadPostWebModel
+ {
+ public Guid PostId { get; set; }
+
+ public string CreatorFirstName { get; set; }
+
+ public string CreatorLastName { get; set; }
+
+ public string CreatorUsername { get; set; }
+
+ public string Message { get; set; }
+
+ public DateTime TimeCreated { get; set; }
+
+ public List<ReadCommentWebModel> Comments { get; set; }
+
+ //public Files[] Files { get; set; }
+ }
+}
diff --git a/src/DevHive.Web/Models/Post/Post/UpdatePostModel.cs b/src/DevHive.Web/Models/Post/Post/UpdatePostModel.cs
deleted file mode 100644
index c774900..0000000
--- a/src/DevHive.Web/Models/Post/Post/UpdatePostModel.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace DevHive.Web.Models.Post.Post
-{
- public class UpdatePostWebModel : BasePostWebModel
- {
- //public Files[] Files { get; set; }
- }
-} \ No newline at end of file
diff --git a/src/DevHive.Web/Models/Post/Post/BasePostWebModel.cs b/src/DevHive.Web/Models/Post/Post/UpdatePostWebModel.cs
index 35ddd34..5b66436 100644
--- a/src/DevHive.Web/Models/Post/Post/BasePostWebModel.cs
+++ b/src/DevHive.Web/Models/Post/Post/UpdatePostWebModel.cs
@@ -4,14 +4,10 @@ using System.Diagnostics.CodeAnalysis;
namespace DevHive.Web.Models.Post.Post
{
- public class BasePostWebModel
+ public class UpdatePostWebModel
{
[NotNull]
[Required]
- public Guid IssuerId { get; set; }
-
- [NotNull]
- [Required]
public string Message { get; set; }
}
}