using Vegasco.WebApi.Persistence; namespace Vegasco.WebApi.Consumptions; public static class DeleteConsumption { public static RouteHandlerBuilder MapEndpoint(IEndpointRouteBuilder builder) { return builder .MapDelete("consumptions/{id:guid}", Endpoint) .WithTags("Consumptions"); } private static async Task Endpoint( ApplicationDbContext dbContext, Guid id, CancellationToken cancellationToken) { Consumption? consumption = await dbContext.Consumptions.FindAsync([new ConsumptionId(id)], cancellationToken); if (consumption is null) { return TypedResults.NotFound(); } dbContext.Consumptions.Remove(consumption); await dbContext.SaveChangesAsync(cancellationToken); return TypedResults.NoContent(); } }