public async Task <ActionResult <IEnumerable <byte[]> > > GetImages( Guid galleryId, [FromQuery] Pagination pagination, [FromQuery, BindRequired] bool thumb, [FromQuery, Range(1, 4096)] int?thumbWidth, [FromQuery, Range(1, 2160)] int?thumbHeight, [FromQuery] bool?keepAspectRatio) { // TODO: Very bad conditional validation, when fix this maybe take a look at fluent validation. if (thumb) { IList <string> conditionalValidationErrors = new List <string>(); if (thumbWidth == null) { conditionalValidationErrors.Add("You set 'thumb' to true, please also provide 'thumbWidth'"); } if (thumbHeight == null) { conditionalValidationErrors.Add("You set 'thumb' to true, please also provide 'thumbHeight'"); } if (keepAspectRatio == null) { conditionalValidationErrors.Add("You set 'thumb' to true, please also provide 'keepAspectRatio'"); } if (conditionalValidationErrors.Count > 0) { return(BadRequest(conditionalValidationErrors)); } } Guid userId = new Guid(HttpContext.User.Identity.Name); if (await _galleryService.DoesGalleryExistAsync(galleryId) == false) { return(NotFound()); } if (await _galleryService.IsGalleryOwnedByUserAsync(galleryId, userId) == false) { return(Unauthorized()); } IEnumerable <byte[]> images = await _imageService.GetImagesInGalleryAsync(galleryId, pagination, thumb, thumbWidth, thumbHeight, keepAspectRatio); return(Ok(images)); }
public async Task <ActionResult <GalleryDTO> > GetGallery(Guid id) { Guid userId = new Guid(HttpContext.User.Identity.Name); if (await _galleryService.DoesGalleryExistAsync(id) == false) { return(NotFound()); } if (await _galleryService.IsGalleryOwnedByUserAsync(id, userId) == false) { return(Unauthorized()); } GalleryDTO dto = await _galleryService.GetGalleryAsync(id); return(Ok(dto)); }