Add endpoints to fetch uploaded images.

This commit is contained in:
Florian
2018-05-20 17:51:30 +02:00
parent c2c17f9567
commit cc8a210eb8
3 changed files with 42 additions and 0 deletions

View File

@@ -1,6 +1,7 @@
package org.codiki.account;
import java.io.IOException;
import java.util.List;
import java.util.Optional;
import javax.servlet.http.HttpServletRequest;
@@ -111,4 +112,9 @@ public class AccountController {
.header(HttpHeaders.CONTENT_DISPOSITION, StringUtils.concat("attachment; filename=\"", avatarFile.getFilename(), "\""))
.body(avatarFile);
}
@GetMapping("/myImages")
public List<String> myImages() {
return null;
}
}

View File

@@ -1,6 +1,8 @@
package org.codiki.account;
import java.io.IOException;
import java.util.LinkedList;
import java.util.List;
import java.util.Optional;
import javax.naming.AuthenticationException;
@@ -9,7 +11,9 @@ import javax.servlet.http.HttpServletResponse;
import org.codiki.core.entities.dto.PasswordWrapperDTO;
import org.codiki.core.entities.dto.UserDTO;
import org.codiki.core.entities.persistence.Image;
import org.codiki.core.entities.persistence.User;
import org.codiki.core.repositories.ImageRepository;
import org.codiki.core.repositories.UserRepository;
import org.codiki.core.security.TokenService;
import org.codiki.core.services.FileUploadService;
@@ -31,6 +35,9 @@ public class AccountService {
@Autowired
private FileUploadService fileUploadService;
@Autowired
private ImageRepository imageRepository;
/**
* Check the user credentials and generate him a token if they are correct.
*
@@ -99,4 +106,18 @@ public class AccountService {
public Resource loadAvatar(final String pAvatarFileName) {
return fileUploadService.loadAvatar(pAvatarFileName);
}
public List<Image> getUserImages(final HttpServletRequest pRequest, final HttpServletResponse pResponse) throws IOException {
List<Image> result = new LinkedList<>();
final Optional<User> connectedUser = tokenService.getAuthenticatedUserByToken(pRequest);
if(connectedUser.isPresent()) {
result = imageRepository.getImagesByUserId(connectedUser.get().getId());
// TODO : Transform Images into ImageDTOs
} else {
pResponse.sendError(HttpServletResponse.SC_UNAUTHORIZED);
}
return result;
}
}

View File

@@ -0,0 +1,15 @@
package org.codiki.core.repositories;
import java.util.List;
import org.codiki.core.entities.persistence.Image;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
@Repository
public interface ImageRepository extends CrudRepository<Image, Long> {
@Query(value = "SELECT * FROM image WHERE user_id = :userId", nativeQuery = true)
List<Image> getImagesByUserId(@Param("userId") final Long pUserId);
}