using BuildFlow.Shared.Domain.Common; using IM.Application.Chat.Commands; using MediatR; namespace BuildFlow.Host.Endpoints.IM.Chat; /// /// 解散群组端点。DELETE /groups/{GroupId}。 /// public class DeleteGroupEndpoint(IMediator mediator, ICurrentUserContext userContext) : Endpoint { public override void Configure() { Delete("/groups/{GroupId}"); Permissions("im:group:manage"); } public override async Task HandleAsync(DeleteGroupEndpointRequest req, CancellationToken ct) { var userId = userContext.GetRequiredUserGuid(); await mediator.Send(new DeleteGroupCommand(req.GroupId, userId), ct); HttpContext.Response.StatusCode = 204; } }