81.2 Correct URL for default and custom profile image (#9)
This commit is contained in:
@ -102,6 +102,13 @@ public class UserServiceImpl implements UserService {
|
|||||||
return addNewUser(newUserDto);
|
return addNewUser(newUserDto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String generateDefaultProfileImageUrl(String userId) {
|
||||||
|
return ServletUriComponentsBuilder.fromCurrentContextPath()
|
||||||
|
.path(DEFAULT_USER_IMAGE_PATH)
|
||||||
|
.pathSegment(userId)
|
||||||
|
.toUriString();
|
||||||
|
}
|
||||||
|
|
||||||
private String generateProfileImageUrl(String userId) {
|
private String generateProfileImageUrl(String userId) {
|
||||||
return ServletUriComponentsBuilder.fromCurrentContextPath()
|
return ServletUriComponentsBuilder.fromCurrentContextPath()
|
||||||
.path(DEFAULT_USER_IMAGE_PATH)
|
.path(DEFAULT_USER_IMAGE_PATH)
|
||||||
@ -152,7 +159,7 @@ public class UserServiceImpl implements UserService {
|
|||||||
|
|
||||||
newUser.setPassword(encodedPassword);
|
newUser.setPassword(encodedPassword);
|
||||||
newUser.setUserId(generateUserId());
|
newUser.setUserId(generateUserId());
|
||||||
newUser.setProfileImageUrl(generateProfileImageUrl(newUser.getUserId()));
|
newUser.setProfileImageUrl(generateDefaultProfileImageUrl(newUser.getUserId()));
|
||||||
|
|
||||||
userRepository.save(newUser);
|
userRepository.save(newUser);
|
||||||
saveProfileImage(newUser, userDto.getProfileImage());
|
saveProfileImage(newUser, userDto.getProfileImage());
|
||||||
@ -178,6 +185,9 @@ public class UserServiceImpl implements UserService {
|
|||||||
}
|
}
|
||||||
profileImage.transferTo(userFolder.resolve(USER_IMAGE_FILENAME));
|
profileImage.transferTo(userFolder.resolve(USER_IMAGE_FILENAME));
|
||||||
log.debug(FILE_SAVED_IN_FILE_SYSTEM + profileImage.getOriginalFilename());
|
log.debug(FILE_SAVED_IN_FILE_SYSTEM + profileImage.getOriginalFilename());
|
||||||
|
user.setProfileImageUrl(generateProfileImageUrl(user.getUserId()));
|
||||||
|
userRepository.save(user);
|
||||||
|
|
||||||
} catch (IOException exception) {
|
} catch (IOException exception) {
|
||||||
log.error("Can't save to file", exception);
|
log.error("Can't save to file", exception);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -610,7 +610,8 @@ class UserResourceUnSecureTest extends BaseUserTest {
|
|||||||
.hasFieldOrPropertyWithValue("lastName", user.getLastName())
|
.hasFieldOrPropertyWithValue("lastName", user.getLastName())
|
||||||
.hasFieldOrPropertyWithValue("isActive", user.isActive())
|
.hasFieldOrPropertyWithValue("isActive", user.isActive())
|
||||||
.hasFieldOrPropertyWithValue("isNotLocked", user.isNotLocked())
|
.hasFieldOrPropertyWithValue("isNotLocked", user.isNotLocked())
|
||||||
.hasFieldOrPropertyWithValue("role", user.getRole());
|
.hasFieldOrPropertyWithValue("role", user.getRole())
|
||||||
|
.satisfies(u -> assertThat(u.getProfileImageUrl()).endsWith(String.format("/user/image/profile/%s/avatar.jpg", user.getUserId())));
|
||||||
|
|
||||||
Path path = Path.of(FileConstant.USER_FOLDER, user.getUserId(), FileConstant.USER_IMAGE_FILENAME);
|
Path path = Path.of(FileConstant.USER_FOLDER, user.getUserId(), FileConstant.USER_IMAGE_FILENAME);
|
||||||
log.debug("Path of created file: {}", path);
|
log.debug("Path of created file: {}", path);
|
||||||
@ -760,7 +761,7 @@ class UserResourceUnSecureTest extends BaseUserTest {
|
|||||||
String userId = user.getUserId();
|
String userId = user.getUserId();
|
||||||
|
|
||||||
//when
|
//when
|
||||||
RequestEntity<Void> requestEntity = RequestEntity.get("/user/image/profile/{userId}",userId)
|
RequestEntity<Void> requestEntity = RequestEntity.get("/user/image/profile/{userId}", userId)
|
||||||
.accept(MediaType.IMAGE_JPEG)
|
.accept(MediaType.IMAGE_JPEG)
|
||||||
.build();
|
.build();
|
||||||
var responseEntity = restTemplate.exchange(requestEntity, new ParameterizedTypeReference<byte[]>() {
|
var responseEntity = restTemplate.exchange(requestEntity, new ParameterizedTypeReference<byte[]>() {
|
||||||
@ -800,7 +801,8 @@ class UserResourceUnSecureTest extends BaseUserTest {
|
|||||||
.hasFieldOrPropertyWithValue("lastName", user.getLastName())
|
.hasFieldOrPropertyWithValue("lastName", user.getLastName())
|
||||||
.hasFieldOrPropertyWithValue("isActive", user.isActive())
|
.hasFieldOrPropertyWithValue("isActive", user.isActive())
|
||||||
.hasFieldOrPropertyWithValue("isNotLocked", user.isNotLocked())
|
.hasFieldOrPropertyWithValue("isNotLocked", user.isNotLocked())
|
||||||
.hasFieldOrPropertyWithValue("role", user.getRole());
|
.hasFieldOrPropertyWithValue("role", user.getRole())
|
||||||
|
.satisfies(u -> assertThat(u.getProfileImageUrl()).endsWith(String.format("/user/image/profile/%s/avatar.jpg", user.getUserId())));
|
||||||
|
|
||||||
Path path = Path.of(FileConstant.USER_FOLDER, user.getUserId(), FileConstant.USER_IMAGE_FILENAME);
|
Path path = Path.of(FileConstant.USER_FOLDER, user.getUserId(), FileConstant.USER_IMAGE_FILENAME);
|
||||||
log.debug("Path of created file: {}", path);
|
log.debug("Path of created file: {}", path);
|
||||||
|
|||||||
Reference in New Issue
Block a user