Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions src/main/java/org/websoso/WSSServer/controller/UserController.java
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ public ResponseEntity<ProfileGetResponse> getProfileInfo(@AuthenticationPrincipa
.body(userService.getProfileInfo(user, userId));
}

@Deprecated
@GetMapping("/my-profile")
@PreAuthorize("isAuthenticated()")
public ResponseEntity<MyProfileResponse> getMyProfileInfo(@AuthenticationPrincipal User user) {
Expand All @@ -114,6 +115,16 @@ public ResponseEntity<MyProfileResponse> getMyProfileInfo(@AuthenticationPrincip
.body(userService.getMyProfileInfo(user));
}

@GetMapping("/profile")
@PreAuthorize("isAuthenticated()")
public ResponseEntity<MyProfileResponse> getProfileInfo(@AuthenticationPrincipal User user) {
return ResponseEntity
.status(OK)
.body(userService.getMyProfileInfo(user));
}


@Deprecated
@PatchMapping("/my-profile")
@PreAuthorize("isAuthenticated()")
public ResponseEntity<Void> updateMyProfileInfo(@AuthenticationPrincipal User user,
Expand All @@ -124,6 +135,17 @@ public ResponseEntity<Void> updateMyProfileInfo(@AuthenticationPrincipal User us
.build();
}

@PatchMapping("/profile")
@PreAuthorize("isAuthenticated()")
@Deprecated
public ResponseEntity<Void> updateProfileInfo(@AuthenticationPrincipal User user,
@RequestBody @Valid UpdateMyProfileRequest updateMyProfileRequest) {
userService.updateProfileInfo(user, updateMyProfileRequest);
return ResponseEntity
.status(NO_CONTENT)
.build();
}

@GetMapping("/profile-status")
@PreAuthorize("isAuthenticated()")
public ResponseEntity<ProfileStatusResponse> getProfileStatus(@AuthenticationPrincipal User user) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,18 @@ public record UpdateMyProfileRequest(
@NotNull(message = "선호 장르는 null일 수 없습니다.")
List<String> genrePreferences
) {
@Deprecated
public Long getMappedAvatarId() {
if (this.avatarId == null) {
return null;
}

return switch (this.avatarId.intValue()) {
case 1 -> 1L;
case 2 -> 4L;
case 3 -> 5L;

default -> null;
};
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ public AvatarsGetResponse getAvatarList(User user) {
Byte representativeAvatarId = user.getAvatarId();
List<Avatar> avatars = avatarRepository.findAll();
List<AvatarGetResponse> avatarGetResponses = avatars.stream()
.filter(avatar -> avatar.getAvatarId() >= 0)
.filter(avatar -> 0 <= avatar.getAvatarId() && avatar.getAvatarId() <= 3)
.map(avatar -> {
List<AvatarLine> avatarLines = avatar.getAvatarLines();
return AvatarGetResponse.of(avatar, getRandomAvatarLine(avatarLines), representativeAvatarId);
Expand Down
17 changes: 16 additions & 1 deletion src/main/java/org/websoso/WSSServer/user/domain/User.java
Original file line number Diff line number Diff line change
Expand Up @@ -122,9 +122,12 @@ public void updateProfileStatus(Boolean profileStatus) {
this.isProfilePublic = profileStatus;
}

// TODO: DTO에 의존적인 DDD 로직 (기중)
@Deprecated
public void updateUserProfile(UpdateMyProfileRequest updateMyProfileRequest) {
if (updateMyProfileRequest.avatarId() != null) {
this.avatarProfileId = updateMyProfileRequest.avatarId();
this.avatarId = updateMyProfileRequest.avatarId().byteValue();
this.avatarProfileId = updateMyProfileRequest.getMappedAvatarId();
}
if (updateMyProfileRequest.nickname() != null) {
this.nickname = updateMyProfileRequest.nickname();
Expand All @@ -134,6 +137,18 @@ public void updateUserProfile(UpdateMyProfileRequest updateMyProfileRequest) {
}
}

public void updateUserProfile(Long avatarProfileId, String nickname, String intro) {
if (avatarProfileId != null) {
this.avatarProfileId = avatarProfileId;
}
if (nickname != null) {
this.nickname = nickname;
}
if (intro != null) {
this.intro = intro;
}
}

public void updateUserInfo(RegisterUserInfoRequest registerUserInfoRequest) {
this.nickname = registerUserInfoRequest.nickname();
this.gender = Gender.valueOf(registerUserInfoRequest.gender());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,8 +109,9 @@ public MyProfileResponse getMyProfileInfo(User user) {
}

// TODO: 멱등성을 보장하는데, Exception이 발생하는게 맞나? (기중)
@Deprecated
public void updateMyProfileInfo(User user, UpdateMyProfileRequest updateMyProfileRequest) {
checkIfAlreadySetOrThrow(user.getAvatarProfileId(), updateMyProfileRequest.avatarId(),
checkIfAlreadySetOrThrow(user.getAvatarId(), updateMyProfileRequest.avatarId(),
ALREADY_SET_AVATAR, "avatarId with given is already set");

checkIfAlreadySetOrThrow(user.getNickname(), updateMyProfileRequest.nickname(),
Expand All @@ -129,6 +130,26 @@ public void updateMyProfileInfo(User user, UpdateMyProfileRequest updateMyProfil
user.updateUserProfile(updateMyProfileRequest);
}

public void updateProfileInfo(User user, UpdateMyProfileRequest updateMyProfileRequest) {
checkIfAlreadySetOrThrow(user.getAvatarProfileId(), updateMyProfileRequest.avatarId(),
ALREADY_SET_AVATAR, "avatarId with given is already set");

checkIfAlreadySetOrThrow(user.getNickname(), updateMyProfileRequest.nickname(),
ALREADY_SET_NICKNAME, "nickname with given is already set");
checkNicknameIfAlreadyExist(updateMyProfileRequest.nickname());

checkIfAlreadySetOrThrow(user.getIntro(), updateMyProfileRequest.intro(),
ALREADY_SET_INTRO, "intro with given is already set");

genrePreferenceRepository.deleteAllByUser(user);

List<GenrePreference> newPreferGenres = createGenrePreferences(user, updateMyProfileRequest.genrePreferences());
genrePreferenceRepository.saveAll(newPreferGenres);

user.updateUserProfile(updateMyProfileRequest.avatarId(), updateMyProfileRequest.nickname(),
updateMyProfileRequest.intro());
}

public void registerUserInfo(User user, RegisterUserInfoRequest registerUserInfoRequest) {
checkNicknameIfAlreadyExist(registerUserInfoRequest.nickname());
user.updateUserInfo(registerUserInfoRequest);
Expand Down
Loading