Skip to content

Commit 9ff2f67

Browse files
committed
feat :: volunteers token 조회 로직 추가
1 parent a15e509 commit 9ff2f67

File tree

1 file changed

+24
-10
lines changed

1 file changed

+24
-10
lines changed
Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,49 @@
11
package team.aliens.dms.android.feature.volunteers
22

3+
import androidx.compose.runtime.Immutable
34
import dagger.hilt.android.lifecycle.HiltViewModel
5+
import team.aliens.dms.android.core.jwt.AccessToken
6+
import team.aliens.dms.android.core.jwt.RefreshToken
7+
import team.aliens.dms.android.core.jwt.datastore.JwtDataStoreDataSource
48
import team.aliens.dms.android.core.ui.mvi.BaseMviViewModel
59
import team.aliens.dms.android.core.ui.mvi.Intent
610
import team.aliens.dms.android.core.ui.mvi.SideEffect
711
import team.aliens.dms.android.core.ui.mvi.UiState
8-
import team.aliens.dms.android.core.ui.viewmodel.BaseViewModel
912
import javax.inject.Inject
1013

1114
@HiltViewModel
1215
class VolunteersViewModel @Inject constructor(
13-
16+
private val jwtDataStoreDataSource: JwtDataStoreDataSource
1417
) : BaseMviViewModel<VolunteersState, VolunteersIntent, VolunteersSideEffect>(
1518
initialState = VolunteersState.initial()
1619
) {
20+
init {
21+
loadToken()
22+
}
23+
24+
private fun loadToken() {
25+
reduce(
26+
newState = stateFlow.value.copy(
27+
accessToken = jwtDataStoreDataSource.loadTokens().accessToken,
28+
refreshToken = jwtDataStoreDataSource.loadTokens().refreshToken,
29+
)
30+
)
31+
}
1732
}
1833

34+
@Immutable
1935
data class VolunteersState(
20-
val value: String,
36+
val accessToken: AccessToken?,
37+
val refreshToken: RefreshToken?,
2138
) : UiState() {
2239
companion object {
2340
fun initial() = VolunteersState(
24-
value = "",
41+
accessToken = null,
42+
refreshToken = null,
2543
)
2644
}
2745
}
2846

29-
sealed class VolunteersIntent : Intent() {
30-
data object Vol
31-
}
47+
sealed class VolunteersIntent : Intent()
3248

33-
sealed class VolunteersSideEffect : SideEffect() {
34-
data object VolunteersSideEffectn : VolunteersSideEffect()
35-
}
49+
sealed class VolunteersSideEffect : SideEffect()

0 commit comments

Comments
 (0)