using Vegasco.Server.Api.Persistence; namespace Vegasco.Server.Api.Consumptions; public static class DeleteConsumption { public static RouteHandlerBuilder MapEndpoint(IEndpointRouteBuilder builder) { return builder .MapDelete("consumptions/{id:guid}", Endpoint) .WithTags("Consumptions") .WithDescription("Deletes a consumption entry by ID") .Produces(204) .Produces(404); } 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(); } }