using FastEndpoints; using Microsoft.EntityFrameworkCore; using PyroFetes.DTO.Truck.Response; namespace PyroFetes.Endpoints.Truck; public class GetAllTrucksEndpoint(PyroFetesDbContext pyroFetesDbContext) : EndpointWithoutRequest> { public override void Configure() { Get("/api/trucks"); AllowAnonymous(); } public override async Task HandleAsync(CancellationToken ct) { var trucks = await pyroFetesDbContext.Trucks .Include(t => t.ShowTrucks) .Select(t => new ReadTruckDto { Id = t.Id, Type = t.Type, MaxExplosiveCapacity = t.MaxExplosiveCapacity, Sizes = t.Sizes, Statut = t.Status, ShowId = t.ShowTrucks!.FirstOrDefault() != null ? t.ShowTrucks.FirstOrDefault()!.ShowId : null }) .ToListAsync(ct); await Send.OkAsync(trucks, ct); } }