using File.Application.Features.Files.DTOs;
using File.Application.Features.Files.Queries;
using MediatR;
namespace BuildFlow.Host.Endpoints.File.Files;
///
/// Office/PDF 文档在线预览端点。GET /api/files/office-preview,
/// 返回 KKFileView 预览地址,前端 window.open 打开即可渲染 Office 文档。
///
[Authorize]
///
/// undefined
///
public class GetOfficePreviewEndpoint(IMediator mediator) : Endpoint
{
public override void Configure()
{
Get("/files/office-preview");
}
public override async Task HandleAsync(GetOfficePreviewRequest req, CancellationToken ct)
{
var result = await mediator.Send(new GetOfficePreviewQuery(req.ObjectKey), ct);
await Send.OkAsync(result, ct);
}
}