using FastEndpoints;

namespace __MODULE__.Features.__SLICE__;

public sealed class Endpoint(Handler handler) : Endpoint<Request, Response>
{
    public override void Configure()
    {
        __HTTP_METHOD__("/__ROUTE__");
        Roles("__ROLE__");
        Description(x => x.WithTags("__MODULE__"));
    }

    public override async Task HandleAsync(Request req, CancellationToken ct)
    {
        var result = await handler.HandleAsync(req, HttpContext.TraceIdentifier, ct);
        await Send.OkAsync(result, ct);
    }
}
