diff options
| author | transtrike <transtrike@gmail.com> | 2021-01-23 20:59:12 +0200 |
|---|---|---|
| committer | transtrike <transtrike@gmail.com> | 2021-01-23 20:59:12 +0200 |
| commit | fac1bf2d1772e60cbecc1cf0381c6063a0e97ffd (patch) | |
| tree | 240c775b6615bdfb581b9320741f77ac63405230 /src | |
| parent | 038dbdda98ac6b0ae34ac01f45206fd4e6965150 (diff) | |
| download | DevHive-fac1bf2d1772e60cbecc1cf0381c6063a0e97ffd.tar DevHive-fac1bf2d1772e60cbecc1cf0381c6063a0e97ffd.tar.gz DevHive-fac1bf2d1772e60cbecc1cf0381c6063a0e97ffd.zip | |
Post&Comment Models implemented; Mappings Configured
Diffstat (limited to 'src')
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; } } } |
