using BuildFlow.Shared.Domain.Common;
using IM.Application.Chat.Commands;
using MediatR;
namespace BuildFlow.Host.Endpoints.IM.Chat;
///
/// 设置会话备注名端点。PUT /conversations/{ConversationId}/remark。
///
public class SetConversationRemarkEndpoint(IMediator mediator, ICurrentUserContext userContext) : Endpoint
{
public override void Configure()
{
Put("/conversations/{ConversationId}/remark");
Permissions("im:conversation:manage");
}
public override async Task HandleAsync(SetConversationRemarkEndpointRequest req, CancellationToken ct)
{
var userId = userContext.GetRequiredUserGuid();
var conversationId = Route("ConversationId");
await mediator.Send(new SetConversationRemarkCommand(conversationId, userId, req.Remark), ct);
await Send.OkAsync(ct);
}
}