using MediatR;
using Scripting.Application.Commands;
using Scripting.Application.DTOs;
namespace BuildFlow.Host.Endpoints.Scripting;
/// 发布脚本端点。POST /scripts/{id}/publish。需 scripts.publish 权限。
public class PublishScriptEndpoint(IMediator mediator)
: Endpoint
{
public override void Configure()
{
Post("/scripts/{id}/publish");
Permissions("scripts.publish");
}
public override async Task HandleAsync(PublishScriptRequest req, CancellationToken ct)
{
var result = await mediator.Send(new PublishScriptCommand(req.Id), ct);
await Send.OkAsync(result, ct);
}
}