using File.Application.Features.Folders.Commands; using MediatR; namespace BuildFlow.Host.Endpoints.file.Folders; /// 移动文件到目标文件夹端点。POST /api/files/{Id}/move。 [Authorize] public class MoveFileEndpoint(IMediator mediator) : Endpoint { public override void Configure() => Post("/files/{Id}/move"); public override async Task HandleAsync(MoveFileRequest req, CancellationToken ct) { var targetId = string.IsNullOrEmpty(req.TargetFolderId) ? (Guid?)null : Guid.Parse(req.TargetFolderId); await mediator.Send(new MoveFileCommand(Guid.Parse(req.Id), targetId), ct); await Send.OkAsync(new { message = "moved" }, ct); } }