MME-30 Fix null pointer exception when getUser returns null; better querying of Images.
This commit is contained in:
parent
96a7807ab5
commit
517ff1ad41
@ -60,8 +60,7 @@ public class ImageController {
|
||||
@PathVariable String username,
|
||||
@PathVariable String filename
|
||||
) throws IOException {
|
||||
final User owner = this.userService.getUser(username);
|
||||
final Image image = this.imageService.getByOwnerAndFilename(owner, filename, principal);
|
||||
final Image image = this.imageService.getByUsernameAndFilename(username, filename, principal);
|
||||
final InputStream imageInputStream = this.imageService.getImageContent(image, principal);
|
||||
return ResponseEntity.status(200)
|
||||
.contentType(MediaType.parseMediaType(image.getMimeType()))
|
||||
@ -74,8 +73,7 @@ public class ImageController {
|
||||
@PathVariable String username,
|
||||
@PathVariable String filename
|
||||
) {
|
||||
final User owner = this.userService.getUser(username);
|
||||
final Image image = this.imageService.getByOwnerAndFilename(owner, filename, principal);
|
||||
final Image image = this.imageService.getByUsernameAndFilename(username, filename, principal);
|
||||
return ResponseEntity.ok(
|
||||
this.imageToViewConverter.convert(image, principal, false)
|
||||
);
|
||||
@ -116,8 +114,7 @@ public class ImageController {
|
||||
@PathVariable String filename,
|
||||
@RequestBody ImageUpdateBody body
|
||||
) {
|
||||
final User owner = this.userService.getUser(username);
|
||||
final Image image = this.imageService.getByOwnerAndFilename(owner, filename, principal);
|
||||
final Image image = this.imageService.getByUsernameAndFilename(username, filename, principal);
|
||||
final Image updated = this.imageService.update(
|
||||
image,
|
||||
principal,
|
||||
@ -142,8 +139,7 @@ public class ImageController {
|
||||
@PathVariable String username,
|
||||
@PathVariable String filename
|
||||
) throws IOException {
|
||||
final User owner = this.userService.getUser(username);
|
||||
final Image image = this.imageService.getByOwnerAndFilename(owner, filename, principal);
|
||||
final Image image = this.imageService.getByUsernameAndFilename(username, filename, principal);
|
||||
this.imageService.deleteImage(image, principal);
|
||||
return ResponseEntity.noContent().build();
|
||||
}
|
||||
|
||||
@ -17,7 +17,7 @@ public interface ImageService {
|
||||
throws IOException, ImageException;
|
||||
|
||||
Image getById(Integer id, @Nullable User viewer);
|
||||
Image getByOwnerAndFilename(User owner, String filename, User viewer);
|
||||
|
||||
Image getByUsernameAndFilename(String username, String filename, User viewer);
|
||||
|
||||
InputStream getImageContent(Image image, @Nullable User viewer) throws IOException;
|
||||
|
||||
@ -231,17 +231,6 @@ public class S3ImageService implements ImageService {
|
||||
return this.imageRepository.findById(id).orElseThrow(() -> new NoSuchEntityWithIdException(Image.class, id));
|
||||
}
|
||||
|
||||
@Override
|
||||
@PostAuthorize("@imageSecurity.isViewableBy(returnObject, #viewer)")
|
||||
public Image getByOwnerAndFilename(User owner, String filename, User viewer) {
|
||||
return this.imageRepository.findByOwnerAndUserFilename(owner, filename)
|
||||
.orElseThrow(() -> new NoSuchEntityWithUsernameAndFilenameException(
|
||||
Image.class,
|
||||
owner.getUsername(),
|
||||
filename
|
||||
));
|
||||
}
|
||||
|
||||
@Override
|
||||
@PostAuthorize("@imageSecurity.isViewableBy(returnObject, #viewer)")
|
||||
public Image getByUsernameAndFilename(String username, String filename, User viewer) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user