aboutsummaryrefslogtreecommitdiff
path: root/src/Services
diff options
context:
space:
mode:
authorDanail Dimitrov <danaildimitrov321@gmail.com>2021-02-18 22:58:36 +0200
committerDanail Dimitrov <danaildimitrov321@gmail.com>2021-02-18 22:58:36 +0200
commit1ff5502483c5ee8bab1ef0a70f61e18f6ba2399d (patch)
tree1d0be161dd38aead8e62aa1aac069b5f3f89f730 /src/Services
parent02cf7a097c781cd0ef9e844078e873fcda5a3fcd (diff)
downloadDevHive-1ff5502483c5ee8bab1ef0a70f61e18f6ba2399d.tar
DevHive-1ff5502483c5ee8bab1ef0a70f61e18f6ba2399d.tar.gz
DevHive-1ff5502483c5ee8bab1ef0a70f61e18f6ba2399d.zip
initial implementation of message layer
Diffstat (limited to 'src/Services')
-rw-r--r--src/Services/DevHive.Services.Models/DevHive.Services.Models.csproj6
-rw-r--r--src/Services/DevHive.Services.Models/Message/CreateMessageServiceModel.cs13
-rw-r--r--src/Services/DevHive.Services.Models/Message/ReadMessageServiceModel.cs18
-rw-r--r--src/Services/DevHive.Services/Configurations/Mapping/MessageMappings.cs16
-rw-r--r--src/Services/DevHive.Services/Interfaces/IMessageService.cs13
-rw-r--r--src/Services/DevHive.Services/Services/MessageService.cs28
6 files changed, 91 insertions, 3 deletions
diff --git a/src/Services/DevHive.Services.Models/DevHive.Services.Models.csproj b/src/Services/DevHive.Services.Models/DevHive.Services.Models.csproj
index 914efe0..11d95aa 100644
--- a/src/Services/DevHive.Services.Models/DevHive.Services.Models.csproj
+++ b/src/Services/DevHive.Services.Models/DevHive.Services.Models.csproj
@@ -3,10 +3,10 @@
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
- <PackageReference Include="Microsoft.AspNetCore.Http" Version="2.2.2"/>
- <PackageReference Include="SonarAnalyzer.CSharp" Version="8.18.0.27296"/>
+ <PackageReference Include="Microsoft.AspNetCore.Http" Version="2.2.2" />
+ <PackageReference Include="SonarAnalyzer.CSharp" Version="8.18.0.27296" />
</ItemGroup>
<ItemGroup>
- <ProjectReference Include="..\..\Common\DevHive.Common.Models\DevHive.Common.csproj"/>
+ <ProjectReference Include="..\..\Common\DevHive.Common.Models\DevHive.Common.csproj" />
</ItemGroup>
</Project> \ No newline at end of file
diff --git a/src/Services/DevHive.Services.Models/Message/CreateMessageServiceModel.cs b/src/Services/DevHive.Services.Models/Message/CreateMessageServiceModel.cs
new file mode 100644
index 0000000..4206975
--- /dev/null
+++ b/src/Services/DevHive.Services.Models/Message/CreateMessageServiceModel.cs
@@ -0,0 +1,13 @@
+using System;
+
+namespace DevHive.Services.Models.Message
+{
+ public class CreateMessageServiceModel
+ {
+ public string Content { get; set; }
+
+ public Guid CreatorId { get; set; }
+
+ public Guid ChatId { get; set; }
+ }
+}
diff --git a/src/Services/DevHive.Services.Models/Message/ReadMessageServiceModel.cs b/src/Services/DevHive.Services.Models/Message/ReadMessageServiceModel.cs
new file mode 100644
index 0000000..1eaf9db
--- /dev/null
+++ b/src/Services/DevHive.Services.Models/Message/ReadMessageServiceModel.cs
@@ -0,0 +1,18 @@
+using System;
+using DevHive.Services.Models.User;
+
+namespace DevHive.Services.Models.Message
+{
+ public class ReadMessageServiceModel
+ {
+ public Guid Id { get; set; }
+
+ public Guid ChatId { get; set; }
+
+ public string Content { get; set; }
+
+ public DateTime TimeCreated { get; set; }
+
+ public UserServiceModel Creator { get; set; }
+ }
+}
diff --git a/src/Services/DevHive.Services/Configurations/Mapping/MessageMappings.cs b/src/Services/DevHive.Services/Configurations/Mapping/MessageMappings.cs
new file mode 100644
index 0000000..c727ea4
--- /dev/null
+++ b/src/Services/DevHive.Services/Configurations/Mapping/MessageMappings.cs
@@ -0,0 +1,16 @@
+using AutoMapper;
+using DevHive.Data.Models;
+using DevHive.Services.Models.Message;
+
+namespace DevHive.Services.Configurations.Mapping
+{
+ public class MessageMappings : Profile
+ {
+ public MessageMappings()
+ {
+ CreateMap<CreateMessageServiceModel, Message>();
+
+ CreateMap<Message, ReadMessageServiceModel>();
+ }
+ }
+}
diff --git a/src/Services/DevHive.Services/Interfaces/IMessageService.cs b/src/Services/DevHive.Services/Interfaces/IMessageService.cs
new file mode 100644
index 0000000..a0fd155
--- /dev/null
+++ b/src/Services/DevHive.Services/Interfaces/IMessageService.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Threading.Tasks;
+using DevHive.Services.Models.Message;
+
+namespace DevHive.Services.Interfaces
+{
+ public interface IMessageService
+ {
+ Task<Guid> CreateMessage(CreateMessageServiceModel createMessageServiceModel);
+
+ Task<ReadMessageServiceModel> GetMessageById(Guid id);
+ }
+}
diff --git a/src/Services/DevHive.Services/Services/MessageService.cs b/src/Services/DevHive.Services/Services/MessageService.cs
new file mode 100644
index 0000000..d61d64d
--- /dev/null
+++ b/src/Services/DevHive.Services/Services/MessageService.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Threading.Tasks;
+using DevHive.Data.Repositories;
+using DevHive.Services.Interfaces;
+using DevHive.Services.Models.Message;
+
+namespace DevHive.Services.Services
+{
+ public class MessageService : IMessageService
+ {
+ private readonly MessageRepository _messageRepository;
+
+ public MessageService(MessageRepository messageRepository)
+ {
+ this._messageRepository = messageRepository;
+ }
+
+ public Task<Guid> CreateMessage(CreateMessageServiceModel createMessageServiceModel)
+ {
+ throw new NotImplementedException();
+ }
+
+ public Task<ReadMessageServiceModel> GetMessageById(Guid id)
+ {
+ throw new NotImplementedException();
+ }
+ }
+}