Skip to content

Commit cf3776d

Browse files
committed
feat/OPS-329: 추가로 프론트 요구 사항 반영.
1 parent e74a7da commit cf3776d

File tree

3 files changed

+13
-0
lines changed

3 files changed

+13
-0
lines changed

src/main/java/org/tuna/zoopzoop/backend/domain/auth/repository/RefreshTokenRepository.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@
55
import org.tuna.zoopzoop.backend.domain.auth.entity.RefreshToken;
66
import org.tuna.zoopzoop.backend.domain.member.entity.Member;
77

8+
import java.util.List;
89
import java.util.Optional;
910

1011
@Repository
1112
public interface RefreshTokenRepository extends JpaRepository<RefreshToken, Integer> {
1213
Optional<RefreshToken> findBySessionId(String sessionId);
1314
Optional<RefreshToken> findByMember(Member member);
15+
List<RefreshToken> findAllByMember(Member member);
1416
}

src/main/java/org/tuna/zoopzoop/backend/domain/auth/service/RefreshTokenService.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import java.time.LocalDateTime;
1212
import java.time.ZoneId;
1313
import java.util.Date;
14+
import java.util.List;
1415
import java.util.UUID;
1516

1617
@Service
@@ -51,4 +52,11 @@ public void deleteBySessionId(String sessionId) {
5152
refreshTokenRepository.findBySessionId(sessionId)
5253
.orElseThrow(() -> new BadCredentialsException("잘못된 요청입니다."));
5354
}
55+
56+
public void deleteByMember(Member member) {
57+
List<RefreshToken> tokens = refreshTokenRepository.findAllByMember(member);
58+
if (!tokens.isEmpty()) {
59+
refreshTokenRepository.deleteAll(tokens);
60+
}
61+
}
5462
}

src/main/java/org/tuna/zoopzoop/backend/domain/member/controller/ApiV1MemberController.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import org.springframework.http.ResponseEntity;
99
import org.springframework.security.core.annotation.AuthenticationPrincipal;
1010
import org.springframework.web.bind.annotation.*;
11+
import org.tuna.zoopzoop.backend.domain.auth.service.RefreshTokenService;
1112
import org.tuna.zoopzoop.backend.domain.member.dto.req.ReqBodyForEditMember;
1213
import org.tuna.zoopzoop.backend.domain.member.dto.req.ReqBodyForEditMemberName;
1314
import org.tuna.zoopzoop.backend.domain.member.dto.req.ReqBodyForEditMemberProfileImage;
@@ -25,6 +26,7 @@
2526
@Tag(name = "ApiV1MemberController", description = "사용자 REST API 컨트롤러")
2627
public class ApiV1MemberController {
2728
private final MemberService memberService;
29+
private final RefreshTokenService refreshTokenService;
2830
/// api/v1/member/me : 사용자 정보 조회 (GET)
2931
/// api/v1/member/edit : 사용자 닉네임 수정 (PUT)
3032
/// api/v1/member : 사용자 탈퇴 (DELETE)
@@ -145,6 +147,7 @@ public ResponseEntity<RsData<Void>> deleteMember(
145147
@AuthenticationPrincipal CustomUserDetails userDetails
146148
) {
147149
Member member = userDetails.getMember();
150+
refreshTokenService.deleteByMember(member);
148151
memberService.hardDeleteMember(member);
149152
return ResponseEntity
150153
.status(HttpStatus.OK)

0 commit comments

Comments
 (0)