회원토큰 처리
- Redis -> Valkey로 이전되도록 수정
This commit is contained in:
@@ -35,9 +35,11 @@ import kr.co.vividnext.sodalive.member.stipulation.StipulationIds
|
||||
import kr.co.vividnext.sodalive.member.stipulation.StipulationRepository
|
||||
import kr.co.vividnext.sodalive.member.tag.MemberCreatorTag
|
||||
import kr.co.vividnext.sodalive.member.tag.MemberTagRepository
|
||||
import kr.co.vividnext.sodalive.member.token.MemberToken
|
||||
import kr.co.vividnext.sodalive.member.token.MemberTokenRepository
|
||||
import kr.co.vividnext.sodalive.utils.generateFileName
|
||||
import kr.co.vividnext.sodalive.utils.generatePassword
|
||||
import kr.co.vividnext.sodalive.v2.MemberTokenRepositoryV2
|
||||
import org.springframework.beans.factory.annotation.Value
|
||||
import org.springframework.data.repository.findByIdOrNull
|
||||
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken
|
||||
@@ -62,6 +64,7 @@ import kotlin.concurrent.write
|
||||
class MemberService(
|
||||
private val repository: MemberRepository,
|
||||
private val tokenRepository: MemberTokenRepository,
|
||||
private val tokenRepositoryV2: MemberTokenRepositoryV2,
|
||||
private val stipulationRepository: StipulationRepository,
|
||||
private val stipulationAgreeRepository: StipulationAgreeRepository,
|
||||
private val creatorFollowingRepository: CreatorFollowingRepository,
|
||||
@@ -435,11 +438,12 @@ class MemberService(
|
||||
|
||||
val lock = getOrCreateLock(memberId = memberId)
|
||||
lock.write {
|
||||
val memberToken = tokenRepository.findByIdOrNull(memberId)
|
||||
?: throw SodaException("로그인 정보를 확인해주세요.")
|
||||
val memberToken = saveAndGetTokenById(memberId)
|
||||
|
||||
memberToken.tokenSet.remove(token)
|
||||
tokenRepository.save(memberToken)
|
||||
if (memberToken != null) {
|
||||
memberToken.tokenSet.remove(token)
|
||||
tokenRepositoryV2.save(memberToken)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -451,7 +455,25 @@ class MemberService(
|
||||
member.pushToken = null
|
||||
|
||||
val lock = getOrCreateLock(memberId = memberId)
|
||||
lock.write { tokenRepository.deleteById(memberId) }
|
||||
lock.write {
|
||||
tokenRepository.deleteById(memberId)
|
||||
tokenRepositoryV2.deleteById(memberId)
|
||||
}
|
||||
}
|
||||
|
||||
private fun saveAndGetTokenById(id: Long): MemberToken? {
|
||||
var memberToken = tokenRepositoryV2.findByIdOrNull(id = id)
|
||||
|
||||
if (memberToken == null) {
|
||||
memberToken = tokenRepository.findByIdOrNull(id = id)
|
||||
|
||||
if (memberToken != null) {
|
||||
tokenRepositoryV2.save(memberToken)
|
||||
tokenRepository.delete(memberToken)
|
||||
}
|
||||
}
|
||||
|
||||
return memberToken
|
||||
}
|
||||
|
||||
@Transactional
|
||||
|
Reference in New Issue
Block a user