using File.Application.Features.Multipart.Commands;
using File.Application.Features.Multipart.DTOs;
using MediatR;
namespace BuildFlow.Host.Endpoints.file.Multipart;
/// 初始化分片上传端点。POST /api/files/multipart/init。
[Authorize]
///
/// undefined
///
public class InitMultipartEndpoint(IMediator mediator) : Endpoint
{
public override void Configure() => Post("/files/multipart/init");
public override async Task HandleAsync(InitMultipartRequest req, CancellationToken ct)
{
var result = await mediator.Send(new InitMultipartCommand(req.BucketName, req.ObjectKey, req.ContentHash, req.TotalParts, req.Size), ct);
await Send.OkAsync(result, ct);
}
}