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

35 lines
1.4 KiB
C#

using API.DTO.Classification.Request;
using API.DTO.Classification.Response;
using FastEndpoints;
namespace PyroFetes.Endpoints.Classification;
public class CreateClassificationEndpoint(PyroFetesDbContext pyrofetesdbcontext) : Endpoint<CreateClassificationDto, GetClassificationDto> //Instanciation d'une connexion à la bdd dans un endpoint, utilise l'élément de requête CreateClassificationDto et l'élement de réponse GetClassificationDto
{
public override void Configure() //Configuration de l'endpoint
{
Post("/api/classifications"); //Créer une classification
AllowAnonymous(); //Autorise l'accès sans authentification
}
public override async Task HandleAsync(CreateClassificationDto req, CancellationToken ct)
{
Models.Classification classification = new () //Création d'un label rentré par l'utilisateur
{
Label = req.Label
};
pyrofetesdbcontext.Classifications.Add(classification); //Ajout de la classification à la bdd
await pyrofetesdbcontext.SaveChangesAsync(ct); //Sauvegarde de la classification dans la bdd
Console.WriteLine("Classification créée avec succès !");
GetClassificationDto responseDto = new () //Renvoie le label de la classification
{
Label = req.Label
};
await Send.OkAsync(responseDto, ct); //Réponse au client
}
}