From abe508bd7ce0b0432e0f81c0653d4fc3d814b5e9 Mon Sep 17 00:00:00 2001 From: kieva Date: Wed, 8 Oct 2025 16:39:29 +0200 Subject: [PATCH] Ajouter PyroFetes/Endpoints/Effect/DeleteEffectEndpoint --- .../Endpoints/Effect/DeleteEffectEndpoint | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 PyroFetes/Endpoints/Effect/DeleteEffectEndpoint diff --git a/PyroFetes/Endpoints/Effect/DeleteEffectEndpoint b/PyroFetes/Endpoints/Effect/DeleteEffectEndpoint new file mode 100644 index 0000000..6a79b77 --- /dev/null +++ b/PyroFetes/Endpoints/Effect/DeleteEffectEndpoint @@ -0,0 +1,36 @@ +using FastEndpoints; +using Microsoft.EntityFrameworkCore; + +namespace API.Endpoints.Effect; + +public class DeleteEffectRequest +{ + public int Id { get; set; } +} +public class DeleteEffectEndpoint(AppDbContext appDbContext) : Endpoint +{ + public override void Configure() + { + Delete("/effects/{@id}", x => new { x.Id }); + AllowAnonymous(); + } + + public override async Task HandleAsync(DeleteEffectRequest req, CancellationToken ct) + { + Models.Effect? effectToDelete = await appDbContext + .Effects + .SingleOrDefaultAsync(a => a.Id == req.Id, cancellationToken: ct); + + if (effectToDelete == null) + { + Console.WriteLine($"Aucun effet avec l'ID {req.Id} trouvé."); + await Send.NotFoundAsync(ct); + return; + } + + appDbContext.Effects.Remove(effectToDelete); + await appDbContext.SaveChangesAsync(ct); + + await Send.NoContentAsync(ct); + } +} \ No newline at end of file