From 8d649356b5bb036181ed1d5e22e34f949d1a9a40 Mon Sep 17 00:00:00 2001 From: sanchezvem Date: Mon, 23 Mar 2026 14:58:38 +0100 Subject: [PATCH] Fixed errors with sending messages --- .../Endpoints/Messages/SendMessageEndpoint.cs | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/BeReadyBackend/Endpoints/Messages/SendMessageEndpoint.cs b/BeReadyBackend/Endpoints/Messages/SendMessageEndpoint.cs index 2897733..1c4649e 100644 --- a/BeReadyBackend/Endpoints/Messages/SendMessageEndpoint.cs +++ b/BeReadyBackend/Endpoints/Messages/SendMessageEndpoint.cs @@ -3,12 +3,19 @@ using BeReadyBackend.Hubs; using BeReadyBackend.Models; using BeReadyBackend.Repositories; using BeReadyBackend.Services; +using BeReadyBackend.Specifications.Groups; using FastEndpoints; using Microsoft.AspNetCore.SignalR; +using Group = System.Text.RegularExpressions.Group; namespace BeReadyBackend.Endpoints.Messages; -public class SendMessageEndpoint(UserService userService, AutoMapper.IMapper mapper, MessagesRepository messagesRepository, IHubContext hubContext) +public class SendMessageEndpoint( + UserService userService, + GroupsRepository groupsRepository, + AutoMapper.IMapper mapper, + MessagesRepository messagesRepository, + IHubContext hubContext) : Endpoint { public override void Configure() @@ -18,6 +25,19 @@ public class SendMessageEndpoint(UserService userService, AutoMapper.IMapper map public override async Task HandleAsync(CreateMessageDto req, CancellationToken ct) { + Models.Group? group = await groupsRepository.SingleOrDefaultAsync(new GetGroupByIdSpec(req.GroupId), ct); + if (group is null) + { + await Send.NotFoundAsync(ct); + return; + } + + if (group.IsFinished) + { + await Send.StringAsync("Le groupe est fermé", 400, cancellation: ct); + return; + } + Message message = new(); mapper.Map(req, message); message.UserId = userService.GetUserIdFromToken();