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

40 lines
1.3 KiB
C#

using API.DTO.Movement.Request;
using API.DTO.Movement.Response;
using FastEndpoints;
namespace PyroFetes.Endpoints.Movement;
public class UpdateMovementEndpoint(PyroFetesDbContext pyrofetesdbcontext) : Endpoint<UpdateMovementDto, GetMovementDto>
{
public override void Configure() //Configuration de l'endpoint
{
Put("/api/movements"); //Création d'un endpoint qui modifie le mouvement grâce à son id
AllowAnonymous(); //Ignorer les requêtes non authentifiées
}
public override async Task HandleAsync(UpdateMovementDto req, CancellationToken ct)
{
Models.Movement movement = new()
{
Date = req.Date,
Start = req.Start,
Arrival = req.Arrival,
Quantity = req.Quantity
};
pyrofetesdbcontext.Add(movement); //Modification du mouvement
await pyrofetesdbcontext.SaveChangesAsync(ct); //Sauvegarde les changements effectués dans la bdd
GetMovementDto response = new() //Constuire l'objet de réponse pour retourner les informations du mouvement
{
Id = req.Id,
Date = req.Date,
Start = req.Start,
Arrival = req.Arrival,
Quantity = req.Quantity
};
await Send.OkAsync(response, ct); //Envoie de la réponse réussite 200 au client
}
}