Skip to content

Commit ec19ca3

Browse files
committed
[feat] #36 친구 삭제
1 parent bd31977 commit ec19ca3

File tree

3 files changed

+33
-2
lines changed

3 files changed

+33
-2
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package org.example.pay.global.exception.code;
2+
3+
import org.springframework.http.HttpStatus;
4+
5+
import lombok.AllArgsConstructor;
6+
import lombok.Getter;
7+
8+
@Getter
9+
@AllArgsConstructor
10+
public enum FriendErrorCode implements DefaultErrorCode{
11+
12+
//404 NOT_FOUND
13+
FRIEND_NOT_FOUND(HttpStatus.NOT_FOUND, "해당 친구 관계가 존재하지 않습니다"),
14+
;
15+
16+
private HttpStatus httpStatus;
17+
private String message;
18+
}

src/main/java/org/example/pay/user/controller/UserController.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,11 @@ public ResponseEntity<Void> addFriend(
6060
@ApiResponses(value = {
6161
@ApiResponse(responseCode = "204", description = "친구를 삭제했습니다."),
6262
})
63-
@DeleteMapping("/add")
64-
public ResponseEntity<Object> deleteFriend(@RequestBody DeleteFriendRequest deleteFriendRequest) {
63+
@DeleteMapping()
64+
public ResponseEntity<Object> deleteFriend(
65+
@AuthenticationPrincipal CustomUserDetails customUserDetails,
66+
@RequestBody DeleteFriendRequest deleteFriendRequest) {
67+
userService.deleteFriend(deleteFriendRequest);
6568
return ResponseEntity.status(HttpStatus.NO_CONTENT).body(null);
6669
}
6770
}

src/main/java/org/example/pay/user/service/UserService.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@
55
import org.example.pay.global.dto.CursorPage;
66
import org.example.pay.global.dto.CursorPageRequest;
77
import org.example.pay.global.exception.PayException;
8+
import org.example.pay.global.exception.code.FriendErrorCode;
89
import org.example.pay.global.exception.code.UserErrorCode;
910
import org.example.pay.user.domain.Friend;
1011
import org.example.pay.user.domain.User;
1112
import org.example.pay.user.dto.request.AddFriendRequest;
13+
import org.example.pay.user.dto.request.DeleteFriendRequest;
1214
import org.example.pay.user.dto.response.FriendInfoListResponse;
1315
import org.example.pay.user.dto.response.FriendInfoResponse;
1416
import org.example.pay.user.repository.FriendRepository;
@@ -56,4 +58,12 @@ public void addFriend(Long userId, AddFriendRequest addFriendRequest) {
5658
friendRepository.save(myFriend);
5759
friendRepository.save(yourFriend);
5860
}
61+
62+
@Transactional
63+
public void deleteFriend(DeleteFriendRequest deleteFriendRequest) {
64+
if (!friendRepository.existsById(deleteFriendRequest.friendId())) {
65+
throw new PayException(FriendErrorCode.FRIEND_NOT_FOUND);
66+
}
67+
friendRepository.deleteById(deleteFriendRequest.friendId());
68+
}
5969
}

0 commit comments

Comments
 (0)