diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/member/MemberService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/member/MemberService.kt index 4ed6090..f972dbd 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/member/MemberService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/member/MemberService.kt @@ -389,12 +389,8 @@ class MemberService( lock.write { tokenRepository.deleteById(memberId) } } - private fun getOrCreateLock(memberId: Long): ReentrantReadWriteLock { - return tokenLocks.computeIfAbsent(memberId) { ReentrantReadWriteLock() } - } - @Transactional - fun signOut(signOutRequest: SignOutRequest, user: User) { + fun signOut(signOutRequest: SignOutRequest, token: String, user: User) { val member = repository.findByEmail(user.username) ?: throw SodaException("로그인 정보를 확인해주세요.") if (!passwordEncoder.matches(signOutRequest.password, member.password)) { throw SodaException("비밀번호가 일치하지 않습니다.") @@ -404,10 +400,15 @@ class MemberService( throw SodaException("탈퇴하려는 이유를 입력해 주세요.") } + logoutAll(memberId = member.id!!) member.isActive = false val signOut = SignOut(reason = signOutRequest.reason) signOut.member = member signOutRepository.save(signOut) } + + private fun getOrCreateLock(memberId: Long): ReentrantReadWriteLock { + return tokenLocks.computeIfAbsent(memberId) { ReentrantReadWriteLock() } + } }