81.2 Correct URL for default and custom profile image (#9)

This commit is contained in:
Art
2021-09-10 17:57:54 +03:00
parent d411f0f1a5
commit 199b96f654
2 changed files with 16 additions and 4 deletions

View File

@ -102,6 +102,13 @@ public class UserServiceImpl implements UserService {
return addNewUser(newUserDto);
}
private String generateDefaultProfileImageUrl(String userId) {
return ServletUriComponentsBuilder.fromCurrentContextPath()
.path(DEFAULT_USER_IMAGE_PATH)
.pathSegment(userId)
.toUriString();
}
private String generateProfileImageUrl(String userId) {
return ServletUriComponentsBuilder.fromCurrentContextPath()
.path(DEFAULT_USER_IMAGE_PATH)
@ -152,7 +159,7 @@ public class UserServiceImpl implements UserService {
newUser.setPassword(encodedPassword);
newUser.setUserId(generateUserId());
newUser.setProfileImageUrl(generateProfileImageUrl(newUser.getUserId()));
newUser.setProfileImageUrl(generateDefaultProfileImageUrl(newUser.getUserId()));
userRepository.save(newUser);
saveProfileImage(newUser, userDto.getProfileImage());
@ -178,6 +185,9 @@ public class UserServiceImpl implements UserService {
}
profileImage.transferTo(userFolder.resolve(USER_IMAGE_FILENAME));
log.debug(FILE_SAVED_IN_FILE_SYSTEM + profileImage.getOriginalFilename());
user.setProfileImageUrl(generateProfileImageUrl(user.getUserId()));
userRepository.save(user);
} catch (IOException exception) {
log.error("Can't save to file", exception);
}

View File

@ -610,7 +610,8 @@ class UserResourceUnSecureTest extends BaseUserTest {
.hasFieldOrPropertyWithValue("lastName", user.getLastName())
.hasFieldOrPropertyWithValue("isActive", user.isActive())
.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);
log.debug("Path of created file: {}", path);
@ -760,7 +761,7 @@ class UserResourceUnSecureTest extends BaseUserTest {
String userId = user.getUserId();
//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)
.build();
var responseEntity = restTemplate.exchange(requestEntity, new ParameterizedTypeReference<byte[]>() {
@ -800,7 +801,8 @@ class UserResourceUnSecureTest extends BaseUserTest {
.hasFieldOrPropertyWithValue("lastName", user.getLastName())
.hasFieldOrPropertyWithValue("isActive", user.isActive())
.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);
log.debug("Path of created file: {}", path);