diff --git a/src/main/java/de/deadlocker8/budgetmaster/images/MediaController.java b/src/main/java/de/deadlocker8/budgetmaster/images/MediaController.java index 46eb79736233e82bf5b0d8dd9bac710e24733005..f54d91105e66371f052e7129de6bdac896e0edfc 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/images/MediaController.java +++ b/src/main/java/de/deadlocker8/budgetmaster/images/MediaController.java @@ -2,8 +2,12 @@ package de.deadlocker8.budgetmaster.images; import com.google.gson.JsonObject; import de.deadlocker8.budgetmaster.controller.BaseController; +import de.deadlocker8.budgetmaster.icon.Icon; +import de.deadlocker8.budgetmaster.icon.IconService; import de.deadlocker8.budgetmaster.utils.Mappings; +import de.deadlocker8.budgetmaster.utils.ResourceNotFoundException; import de.thecodelabs.utils.util.Localization; +import org.apache.commons.lang3.ArrayUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -17,11 +21,13 @@ import java.util.Optional; @RequestMapping(Mappings.MEDIA) public class MediaController extends BaseController { + private final IconService iconService; private final ImageService imageService; @Autowired - public MediaController(ImageService imageService) + public MediaController(IconService iconService, ImageService imageService) { + this.iconService = iconService; this.imageService = imageService; } @@ -98,4 +104,17 @@ public class MediaController extends BaseController return data.toString(); } + + @GetMapping("/getImage/{ID}") + @ResponseBody + public byte[] getImage(@PathVariable("ID") Integer iconID) + { + Optional<Icon> iconOptional = iconService.getRepository().findById(iconID); + if(iconOptional.isEmpty()) + { + throw new ResourceNotFoundException(); + } + + return ArrayUtils.toPrimitive(iconOptional.get().getImage().getImage()); + } }