commentaire endpoint

This commit is contained in:
2025-11-05 22:38:55 +01:00
parent 4c0e7df9de
commit 3c32baac57
45 changed files with 475 additions and 479 deletions

View File

@@ -15,7 +15,7 @@ public class CreateColorEndpoint(PyroFetesDbContext pyroFetesDbContext) : Endpoi
public override async Task HandleAsync(CreateColorDto req, CancellationToken ct) //La méthode HandleAsync est appelée lorsqu'une requête est envoyée à l'endpoint
{
PyroFetes.Models.Color color = new()
PyroFetes.Models.Color color = new() //Création d'un label rentré par l'utilisateur
{
Label = req.Label,
};

View File

@@ -3,35 +3,35 @@ using Microsoft.EntityFrameworkCore;
namespace PyroFetes.Endpoints.Color;
public class DeleteColorRequest
public class DeleteColorRequest //Création d'une classe DeleteColorRequest
{
public int Id { get; set; }
public int Id { get; set; } //Création d'un Id
}
public class DeleteColorEndpoint(PyroFetesDbContext pyrofetesdbcontext) : Endpoint<DeleteColorRequest>
public class DeleteColorEndpoint(PyroFetesDbContext pyrofetesdbcontext) : Endpoint<DeleteColorRequest> //Instanciation d'une connexion à la bdd dans un endpoint, utilise l'élément de requête DeleteColorDto.
{
public override void Configure()
public override void Configure() //Configuration de l'endpoint
{
Delete("Api/colors/{@id}", x => new { x.Id });
AllowAnonymous();
Delete("Api/colors/{@id}", x => new { x.Id }); //endpoint qui supprime une couleur grâce à son id
AllowAnonymous(); //Ignorer les requêtes non authentifiées
}
public override async Task HandleAsync(DeleteColorRequest req, CancellationToken ct)
public override async Task HandleAsync(DeleteColorRequest req, CancellationToken ct) //Méthode asynchrone qui traite la suppression de la couleur
{
Models.Color? colorToDelete = await pyrofetesdbcontext
.Colors
.SingleOrDefaultAsync(a => a.Id == req.Id, cancellationToken: ct);
Models.Color? colorToDelete = await pyrofetesdbcontext //Récupère une couleur dans la bdd et le stocke dans colorToDelete
.Colors //Recherche la couleur dans la table Colors
.SingleOrDefaultAsync(a => a.Id == req.Id, cancellationToken: ct); //Recherche une couleur dont l'id correspond à req.Id
if (colorToDelete == null)
if (colorToDelete == null) //Si la couleur n'est pas trouvé
{
Console.WriteLine($"Aucune couleur avec l'ID {req.Id} trouvé.");
await Send.NotFoundAsync(ct);
return;
await Send.NotFoundAsync(ct); //Renvoie une erreur 404
return; //Arrêt de la méthode
}
pyrofetesdbcontext.Colors.Remove(colorToDelete);
await pyrofetesdbcontext.SaveChangesAsync(ct);
pyrofetesdbcontext.Colors.Remove(colorToDelete); //Supprime la couleur dans la bdd
await pyrofetesdbcontext.SaveChangesAsync(ct); //Sauvegarde les changements effectués dans la bdd
await Send.NoContentAsync(ct);
await Send.NoContentAsync(ct); //Renvoie une réponse réussite 204
}
}

View File

@@ -6,21 +6,21 @@ namespace PyroFetes.Endpoints.Color;
public class GetAllColorsEndpoint(PyroFetesDbContext pyrofetesdbcontext) : EndpointWithoutRequest<List<GetColorDto>>
{
public override void Configure()
public override void Configure() //Configuration de l'endpoint
{
Get("Api/colors");
AllowAnonymous();
Get("Api/colors"); //Endpoint qui affiche toutes les couleurs
AllowAnonymous(); //Ignorer les requêtes non authentifiées
}
public override async Task HandleAsync(CancellationToken ct)
{
List<GetColorDto> responseDto = await pyrofetesdbcontext.Colors
.Select(a => new GetColorDto
List<GetColorDto> responseDto = await pyrofetesdbcontext.Colors //Création d'une liste qui récupère toutes les couleurs dans la bdd
.Select(a => new GetColorDto //Sélectionne dans la liste chaque couleur
{
Id = a.Id,
Label = a.Label,
Id = a.Id, //Récupère l'id
Label = a.Label, //Récupère le label
}
).ToListAsync(ct);
await Send.OkAsync(responseDto, ct);
).ToListAsync(ct); //Retourne la liste de couleur
await Send.OkAsync(responseDto, ct); //Envoie de la réponse réussite 200 au client
}
}

View File

@@ -11,31 +11,30 @@ public class GetColorRequest
public class GetColorEndpoint(PyroFetesDbContext pyrofetesdbcontext) : Endpoint<GetColorRequest, GetColorDto>
{
public override void Configure()
public override void Configure()
{
Get("Api/colors/{@id}", x => new { x.Id});
AllowAnonymous();
Get("Api/colors/{@id}", x => new { x.Id}); //endpoint qui récupère une couleur grâce à son id
AllowAnonymous(); //Autorise l'accès sans authentification
}
public override async Task HandleAsync(GetColorRequest req, CancellationToken ct)
public override async Task HandleAsync(GetColorRequest req, CancellationToken ct) //Méthode asynchrone qui traite la récupération de la couleur
{
Models.Color? color = await pyrofetesdbcontext
.Colors
.SingleOrDefaultAsync(x => x.Id == req.Id, cancellationToken: ct);
Models.Color? color = await pyrofetesdbcontext //Récupère une couleur dans la bdd et le stocke dans color
.Colors //Recherche la couleur dans la table Colors
.SingleOrDefaultAsync(x => x.Id == req.Id, cancellationToken: ct); //Recherche une couleur dont l'id correspond à req.Id
if (color == null)
if (color == null) //Si la couleur n'est pas trouvé
{
Console.WriteLine("Aucune couleur avec l'ID {req.Id} trouvé.");
await Send.NotFoundAsync(ct);
return;
Console.WriteLine("Aucune couleur avec l'ID {req.Id} trouvé."); //Affiche aucune couleur avec l'id ... trouvé
await Send.NotFoundAsync(ct); //Renvoie une erreur 404
return; //Arrêt de la méthode
}
GetColorDto responseDto = new()
GetColorDto responseDto = new() //Constuire l'objet de réponse pour retourner les informations à l'utilisateur
{
Id = color.Id,
Label = color.Label,
Id = color.Id, //Affiche l'id lors de la réponse
Label = color.Label, //Affiche le label lors de la réponse
};
await Send.OkAsync(responseDto, ct);
await Send.OkAsync(responseDto, ct); //Envoie de la réponse réussite 200 au client
}
}

View File

@@ -7,34 +7,34 @@ namespace PyroFetes.Endpoints.Color;
public class UpdateColorEndpoint(PyroFetesDbContext pyrofetesdbcontext) : Endpoint<UpdateColorDto, GetColorDto>
{
public override void Configure()
public override void Configure() //Configuration de l'endpoint
{
Put("Api/colors/{@id}", x => new { x.Id });
AllowAnonymous();
Put("Api/colors/{@id}", x => new { x.Id }); //Création d'un endpoint qui modifie la couleur grâce à son id
AllowAnonymous(); //Ignorer les requêtes non authentifiées
}
public override async Task HandleAsync(UpdateColorDto req, CancellationToken ct)
{
Models.Color? colorToEdit = await pyrofetesdbcontext
.Colors
.SingleOrDefaultAsync(x => x.Id == req.Id, cancellationToken: ct);
Models.Color? colorToEdit = await pyrofetesdbcontext //Récupère une couleur dans la bdd et le stocke dans colorToEdit
.Colors //Recherche la couleur dans la table Colors
.SingleOrDefaultAsync(x => x.Id == req.Id, cancellationToken: ct); //Recherche une couleur dont l'id correspond à req.Id
if (colorToEdit == null)
if (colorToEdit == null) //Si la couleur n'est pas trouvé
{
Console.WriteLine("Aucune couleur avec l'id {req.Id} trouvé.");
await Send.NotFoundAsync(ct);
return;
Console.WriteLine("Aucune couleur avec l'id {req.Id} trouvé."); //Afficher aucune couleur avec l'id ... trouvé
await Send.NotFoundAsync(ct); //Renvoie une erreur 404
return; //Arrêt de la méthode
}
colorToEdit.Label = req.Label;
await pyrofetesdbcontext.SaveChangesAsync(ct);
colorToEdit.Label = req.Label; //Modification du label
await pyrofetesdbcontext.SaveChangesAsync(ct); //Sauvegarde les changements effectués dans la bdd
GetColorDto responseDto = new()
GetColorDto responseDto = new() //Constuire l'objet de réponse pour retourner l'id et le label de la nouvelle couleur
{
Id = req.Id,
Label = req.Label,
Id = req.Id, //Affiche l'id
Label = req.Label, //Affiche le label
};
await Send.OkAsync(responseDto, ct);
await Send.OkAsync(responseDto, ct); //Envoie de la réponse réussite 200 au client
}