diff --git a/core/Controllers/OrganizerEventsController.cs b/core/Controllers/OrganizerEventsController.cs index 1010934..f3d129b 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,29 @@ 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 Ok(new Response + { + Error = e.ErrorCode, + }); + } + catch (BadParameterException e) + { + return Ok(new Response + { + Error = e.ErrorCode, + }); + } } [HttpDelete("{id}")] 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); 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}");