From 1da01855f9e5ac54ff561780facf575b5940e02f Mon Sep 17 00:00:00 2001 From: superjekk Date: Tue, 20 Oct 2026 15:12:59 -0400 Subject: [PATCH 1/4] Ajout de try-catch dans l'action d'ajout de publication MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pour permettre de ne pas lancer un 500 alors que ça devrait être un 400 --- core/Controllers/OrganizerEventsController.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/core/Controllers/OrganizerEventsController.cs b/core/Controllers/OrganizerEventsController.cs index 1010934..ce0bc3d 100644 --- a/core/Controllers/OrganizerEventsController.cs +++ b/core/Controllers/OrganizerEventsController.cs @@ -8,6 +8,8 @@ using Microsoft.AspNetCore.Mvc; using api.core.Data.Requests; using api.core.Data.Enums; +using api.core.Data.Exceptions; +using api.core.data.entities; namespace api.core.Controllers; @@ -73,13 +75,23 @@ public IActionResult AddEvent([FromForm] EventCreationRequestDTO dto) logger.LogInformation($"Adding new event"); var userId = jwtUtils.GetUserIdFromAuthHeader(HttpContext.Request.Headers["Authorization"]!); - var evnt = eventService.AddEvent(userId, dto); + try + { + var evnt = eventService.AddEvent(userId, dto); return new OkObjectResult( new Response { Data = evnt, }); + } catch (BadParameterException e) + { + return BadRequest(e.Message); + } + catch (BadParameterException e) + { + return BadRequest(e.Message); + } } [HttpDelete("{id}")] From b3f99ef1e4b8b2479db9cdbd6e7f52592a4d1b30 Mon Sep 17 00:00:00 2001 From: superjekk Date: Wed, 21 Oct 2026 13:44:18 -0400 Subject: [PATCH 2/4] Retour d'erreur Le retour d'erreur utilise maintenant le type Data/Error --- core/Controllers/OrganizerEventsController.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/core/Controllers/OrganizerEventsController.cs b/core/Controllers/OrganizerEventsController.cs index ce0bc3d..f3d129b 100644 --- a/core/Controllers/OrganizerEventsController.cs +++ b/core/Controllers/OrganizerEventsController.cs @@ -86,11 +86,17 @@ public IActionResult AddEvent([FromForm] EventCreationRequestDTO dto) }); } catch (BadParameterException e) { - return BadRequest(e.Message); + return Ok(new Response + { + Error = e.ErrorCode, + }); } catch (BadParameterException e) { - return BadRequest(e.Message); + return Ok(new Response + { + Error = e.ErrorCode, + }); } } From ca4f3f69cce5d8e67ca8fb1581fffb6194d1abb9 Mon Sep 17 00:00:00 2001 From: superjekk Date: Sun, 25 Oct 2026 14:55:07 -0400 Subject: [PATCH 3/4] Petit hack pour trouver l'identifiant d'un utilisateur MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Puisque l'algorithme de chiffrement utilisé pour le jeton a changé, la manière d'accéder aux données a changé aussi. Donc, si ça ne respecte pas l'ancienne structure, je donne l'identifiant tel quel. À vérifier si ça restera toujours de la nouvelle manière ou pas. --- core/Misc/JwtUtils.cs | 4 ++++ core/Policies/OrganizerIsActive.cs | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/core/Misc/JwtUtils.cs b/core/Misc/JwtUtils.cs index b4ebe5c..0a7bcea 100644 --- a/core/Misc/JwtUtils.cs +++ b/core/Misc/JwtUtils.cs @@ -6,6 +6,10 @@ public class JwtUtils : IJwtUtils { public string GetUserIdFromAuthHeader(string authHeader) { + if (!authHeader.Contains("Bearer ")) + { + return authHeader; + } var token = authHeader.Replace("Bearer ", ""); var handler = new JwtSecurityTokenHandler(); var jsonToken = handler.ReadToken(token) as JwtSecurityToken; diff --git a/core/Policies/OrganizerIsActive.cs b/core/Policies/OrganizerIsActive.cs index 39e618b..154cfef 100644 --- a/core/Policies/OrganizerIsActive.cs +++ b/core/Policies/OrganizerIsActive.cs @@ -17,7 +17,7 @@ protected override Task HandleRequirementAsync(AuthorizationHandlerContext conte //var userId = Guid.Parse(identifierClaim ?? throw new UnauthorizedException()); var user = userService.GetUser(identifierClaim); - if (user.Type != "Organizer" || !user.IsActive) + if (!user.Type.Contains("Organizer") || !user.IsActive) throw new UnauthorizedException(); else context.Succeed(requirement); From a664e940f6321b18c64a1761498e2a0d9065d6a2 Mon Sep 17 00:00:00 2001 From: superjekk Date: Sun, 25 Oct 2026 15:58:03 -0400 Subject: [PATCH 4/4] Changement de type pour les ratios MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La hauteur et la longueur deviennent des doubles au lieu d'être des entiers --- core/Services/ImageService.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/Services/ImageService.cs b/core/Services/ImageService.cs index e5f26be..3067fef 100644 --- a/core/Services/ImageService.cs +++ b/core/Services/ImageService.cs @@ -45,8 +45,8 @@ public void EnsureImageSizeAndStore(string directory, IFormFile imageFile, Image try { using var image = Image.Load(imageFile.OpenReadStream()); - int width = image.Size.Width; - int height = image.Size.Height; + double width = image.Size.Width; + double height = image.Size.Height; if (Math.Abs((width / height) - _imageRatioAcceptance[type]) > TOLERANCE_ACCEPTABILITY) throw new BadParameterException(nameof(image), $"Invalid image aspect ratio {width}/{height}");