Skip to content

Commit ee97b21

Browse files
committed
refactor: dataStore를 통한 access/refresh Token 저장/삭제 로직 repository 단으로 이동
1 parent 2bfa994 commit ee97b21

File tree

4 files changed

+9
-13
lines changed

4 files changed

+9
-13
lines changed
Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
package com.ninecraft.booket.core.data.api.repository
22

3-
import com.ninecraft.booket.core.model.LoginModel
4-
53
interface AuthRepository {
6-
suspend fun login(accessToken: String): Result<LoginModel>
4+
suspend fun login(accessToken: String): Result<Unit>
75
suspend fun logout(): Result<Unit>
8-
suspend fun saveTokens(accessToken: String, refreshToken: String)
9-
suspend fun clearTokens()
106
}

core/data/impl/src/main/kotlin/com/ninecraft/booket/core/data/impl/repository/DefaultAuthRepository.kt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package com.ninecraft.booket.core.data.impl.repository
22

33
import com.ninecraft.booket.core.common.utils.runSuspendCatching
44
import com.ninecraft.booket.core.data.api.repository.AuthRepository
5-
import com.ninecraft.booket.core.data.impl.mapper.toModel
65
import com.ninecraft.booket.core.datastore.api.datasource.TokenPreferencesDataSource
76
import com.ninecraft.booket.core.network.request.LoginRequest
87
import com.ninecraft.booket.core.network.service.AuthService
@@ -17,26 +16,28 @@ internal class DefaultAuthRepository @Inject constructor(
1716
private val tokenDatasource: TokenPreferencesDataSource,
1817
) : AuthRepository {
1918
override suspend fun login(accessToken: String) = runSuspendCatching {
20-
noAuthService.login(
19+
val response = noAuthService.login(
2120
LoginRequest(
2221
providerType = KAKAO_PROVIDER_TYPE,
2322
oauthToken = accessToken,
2423
),
25-
).toModel()
24+
)
25+
saveTokens(response.accessToken, response.refreshToken)
2626
}
2727

2828
override suspend fun logout() = runSuspendCatching {
2929
authService.logout()
30+
clearTokens()
3031
}
3132

32-
override suspend fun saveTokens(accessToken: String, refreshToken: String) {
33+
private suspend fun saveTokens(accessToken: String, refreshToken: String) {
3334
tokenDatasource.apply {
3435
setAccessToken(accessToken)
3536
setRefreshToken(refreshToken)
3637
}
3738
}
3839

39-
override suspend fun clearTokens() {
40+
private suspend fun clearTokens() {
4041
tokenDatasource.clearTokens()
4142
}
4243
}

feature/library/src/main/kotlin/com/ninecraft/booket/feature/library/LibraryPresenter.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,6 @@ class LibraryPresenter @AssistedInject constructor(
8787
isLoading = true
8888
authRepository.logout()
8989
.onSuccess {
90-
authRepository.clearTokens()
9190
navigator.resetRoot(LoginScreen)
9291
}
9392
.onFailure { exception ->

feature/login/src/main/kotlin/com/ninecraft/booket/feature/login/LoginPresenter.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@ class LoginPresenter @AssistedInject constructor(
4949
is LoginUiEvent.Login -> {
5050
scope.launch {
5151
try {
52+
isLoading = true
5253
repository.login(event.accessToken)
53-
.onSuccess { result ->
54-
repository.saveTokens(result.accessToken, result.refreshToken)
54+
.onSuccess {
5555
navigator.goTo(TermsAgreementScreen)
5656
}.onFailure { exception ->
5757
exception.message?.let { Logger.e(it) }

0 commit comments

Comments
 (0)