Skip to content

Commit

Permalink
[feat] #70 modifySubjectName api 연동
Browse files Browse the repository at this point in the history
  • Loading branch information
beom84 committed Jan 24, 2025
1 parent f7d686f commit 8dbb573
Showing 1 changed file with 28 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,22 @@ package org.android.bbangzip.presentation.ui.subject.modify.subjectname

import android.os.Parcelable
import androidx.lifecycle.SavedStateHandle
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.launch
import org.android.bbangzip.data.dto.request.RequestSubjectOptions
import org.android.bbangzip.domain.usecase.PutSubjectOptionsUseCase
import org.android.bbangzip.presentation.model.BbangZipTextFieldInputState
import org.android.bbangzip.presentation.ui.subject.modify.motivationmessage.ModifyMotivationMessageContract
import org.android.bbangzip.presentation.util.base.BaseViewModel
import timber.log.Timber
import javax.inject.Inject

@HiltViewModel
class ModifySubjectNameViewModel
@Inject
constructor(
private val putSubjectOptionsUseCase: PutSubjectOptionsUseCase,
savedStateHandle: SavedStateHandle,
) : BaseViewModel<ModifySubjectNameContract.ModifySubjectNameEvent, ModifySubjectNameContract.ModifySubjectNameState, ModifySubjectNameContract.ModifySubjectNameReduce, ModifySubjectNameContract.ModifySubjectNameSideEffect>(
savedStateHandle = savedStateHandle,
Expand All @@ -31,6 +38,9 @@ class ModifySubjectNameViewModel
updateState(ModifySubjectNameContract.ModifySubjectNameReduce.UpdateSubjectNameInputState)
}
ModifySubjectNameContract.ModifySubjectNameEvent.OnClickBackBtn -> {
viewModelScope.launch {
putMotivationMessage(currentUiState.subjectId, currentUiState.subjectName)
}
}
is ModifySubjectNameContract.ModifySubjectNameEvent.OnClickModifyBtn -> {
setSideEffect(ModifySubjectNameContract.ModifySubjectNameSideEffect.NavigationSubjectDetail(subjectId = event.subjectId, subjectName = event.subjectName))
Expand Down Expand Up @@ -106,4 +116,22 @@ class ModifySubjectNameViewModel
else -> BbangZipTextFieldInputState.Field
}
}

private suspend fun putMotivationMessage(
subjectId:Int,
subjectName:String
) {
putSubjectOptionsUseCase(
subjectId = subjectId,
options = "subjectName",
requestSubjectOptions = RequestSubjectOptions(
value = currentUiState.subjectName
)
).onSuccess {
Timber.tag("motivate").d("각오 한 마디 저장")
setSideEffect(ModifySubjectNameContract.ModifySubjectNameSideEffect.NavigationSubjectDetail(subjectId = subjectId, subjectName = subjectName))
}.onFailure {error->
Timber.tag("motivate").d(error)
}
}
}

0 comments on commit 8dbb573

Please sign in to comment.