From 727494aab4d05b9fdfb6a161cd7c6de9da7a5193 Mon Sep 17 00:00:00 2001 From: sanchezvem Date: Wed, 13 May 2026 22:49:41 +0100 Subject: [PATCH] Fixed error in message DTO and hub --- BeReadyBackend/DTO/Messages/CreateMessageDto.cs | 1 - BeReadyBackend/Endpoints/Messages/SendMessageEndpoint.cs | 5 ++++- BeReadyBackend/Hubs/GroupHub.cs | 5 +++-- .../Validators/Messages/CreateMessageDtoValidator.cs | 4 ---- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/BeReadyBackend/DTO/Messages/CreateMessageDto.cs b/BeReadyBackend/DTO/Messages/CreateMessageDto.cs index db222c1..c9613e1 100644 --- a/BeReadyBackend/DTO/Messages/CreateMessageDto.cs +++ b/BeReadyBackend/DTO/Messages/CreateMessageDto.cs @@ -4,5 +4,4 @@ public class CreateMessageDto { public int GroupId { get; set; } public string? Libelle { get; set; } - public DateTime SendDate { get; set; } } \ No newline at end of file diff --git a/BeReadyBackend/Endpoints/Messages/SendMessageEndpoint.cs b/BeReadyBackend/Endpoints/Messages/SendMessageEndpoint.cs index d1d29d3..8c794e0 100644 --- a/BeReadyBackend/Endpoints/Messages/SendMessageEndpoint.cs +++ b/BeReadyBackend/Endpoints/Messages/SendMessageEndpoint.cs @@ -4,6 +4,7 @@ using BeReadyBackend.Models; using BeReadyBackend.Repositories; using BeReadyBackend.Services; using BeReadyBackend.Specifications.Groups; +using BeReadyBackend.Specifications.Messages; using FastEndpoints; using Microsoft.AspNetCore.SignalR; using Group = System.Text.RegularExpressions.Group; @@ -34,10 +35,12 @@ public class SendMessageEndpoint( Message message = new(); mapper.Map(req, message); + message.SendDate = DateTime.Now; message.UserId = userService.GetUserIdFromToken(); await messagesRepository.AddAsync(message, ct); - await hubContext.Clients.Group($"group-{req.GroupId}").SendAsync("ReceiveMessage", message, cancellationToken: ct); + GetMessageDto messageDto = await messagesRepository.ProjectToSingleAsync(new GetMessageByIdSpec(message.Id), ct); + await hubContext.Clients.Group($"group-{req.GroupId}").SendAsync("ReceiveMessage", messageDto, cancellationToken: ct); await Send.NoContentAsync(ct); } } \ No newline at end of file diff --git a/BeReadyBackend/Hubs/GroupHub.cs b/BeReadyBackend/Hubs/GroupHub.cs index 44e7b1e..ecc664a 100644 --- a/BeReadyBackend/Hubs/GroupHub.cs +++ b/BeReadyBackend/Hubs/GroupHub.cs @@ -1,11 +1,12 @@ -using Microsoft.AspNetCore.SignalR; +using BeReadyBackend.DTO.Messages; +using Microsoft.AspNetCore.SignalR; using Microsoft.Extensions.Primitives; namespace BeReadyBackend.Hubs; public class GroupHub : Hub { - public async Task SendMessageToGroup(int groupId, string message) + public async Task SendMessageToGroup(int groupId, CreateMessageDto message) { await Clients.Group($"group-{groupId}").SendAsync("ReceiveMessage", message); } diff --git a/BeReadyBackend/Validators/Messages/CreateMessageDtoValidator.cs b/BeReadyBackend/Validators/Messages/CreateMessageDtoValidator.cs index 3eb560c..5789547 100644 --- a/BeReadyBackend/Validators/Messages/CreateMessageDtoValidator.cs +++ b/BeReadyBackend/Validators/Messages/CreateMessageDtoValidator.cs @@ -16,10 +16,6 @@ public class CreateMessageDtoValidator : Validator .MinimumLength(2) .WithMessage("Libelle must exceed 2 characters"); - RuleFor(x => x.SendDate) - .NotEmpty() - .WithMessage("SendDate is required"); - RuleFor(x => x.GroupId) .NotEmpty() .WithMessage("GroupId is required")