Files
PyroFetes-Sujet1/PyroFetes/Endpoints/Movement/GetAllMovementsEndpoint.cs
2025-11-05 22:38:55 +01:00

31 lines
1.3 KiB
C#

using API.DTO.Movement.Response;
using FastEndpoints;
using Microsoft.EntityFrameworkCore;
namespace PyroFetes.Endpoints.Movement;
public class GetAllMovementsEndpoint(PyroFetesDbContext pyrofetesdbcontext) : EndpointWithoutRequest<List<GetMovementDto>>
{
public override void Configure() //Configuration de l'endpoint
{
Get("/api/movements"); //Création d'un endpoint pour récupérer tous les mouvements grâce à la liste
AllowAnonymous(); //Ignorer les requêtes non authentifiées
}
public override async Task HandleAsync(CancellationToken ct)
{
List<GetMovementDto> responseDto = await pyrofetesdbcontext.Movements //Création d'une liste qui récupère tous les mouvements de la bdd
.Select(a => new GetMovementDto //Sélectionne dans la liste chaque mouvement
{
Id = a.Id, //Récupère l'id
Date = a.Date, //Récupère la date
Start = a.Start, //Récupère start
Arrival = a.Arrival, //Récupère arrival
Quantity = a.Quantity //Récupère quantity
}
).ToListAsync(ct); //Retourne la liste de mouvement
await Send.OkAsync(responseDto, ct); //Envoie de la réponse réussite 200 au client
}
}