Add endpoints to fetch uploaded images.
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package org.codiki.account;
|
package org.codiki.account;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
@@ -111,4 +112,9 @@ public class AccountController {
|
|||||||
.header(HttpHeaders.CONTENT_DISPOSITION, StringUtils.concat("attachment; filename=\"", avatarFile.getFilename(), "\""))
|
.header(HttpHeaders.CONTENT_DISPOSITION, StringUtils.concat("attachment; filename=\"", avatarFile.getFilename(), "\""))
|
||||||
.body(avatarFile);
|
.body(avatarFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/myImages")
|
||||||
|
public List<String> myImages() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package org.codiki.account;
|
package org.codiki.account;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
import javax.naming.AuthenticationException;
|
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.PasswordWrapperDTO;
|
||||||
import org.codiki.core.entities.dto.UserDTO;
|
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.entities.persistence.User;
|
||||||
|
import org.codiki.core.repositories.ImageRepository;
|
||||||
import org.codiki.core.repositories.UserRepository;
|
import org.codiki.core.repositories.UserRepository;
|
||||||
import org.codiki.core.security.TokenService;
|
import org.codiki.core.security.TokenService;
|
||||||
import org.codiki.core.services.FileUploadService;
|
import org.codiki.core.services.FileUploadService;
|
||||||
@@ -31,6 +35,9 @@ public class AccountService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private FileUploadService fileUploadService;
|
private FileUploadService fileUploadService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ImageRepository imageRepository;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check the user credentials and generate him a token if they are correct.
|
* 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) {
|
public Resource loadAvatar(final String pAvatarFileName) {
|
||||||
return fileUploadService.loadAvatar(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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user