wip
This commit is contained in:
@@ -28,6 +28,9 @@ class AuthViewModel : ViewModel() {
|
||||
private val _verifyEmailState = MutableStateFlow<ApiResult<VerifyEmailResponse>>(ApiResult.Idle)
|
||||
val verifyEmailState: StateFlow<ApiResult<VerifyEmailResponse>> = _verifyEmailState
|
||||
|
||||
private val _updateProfileState = MutableStateFlow<ApiResult<User>>(ApiResult.Idle)
|
||||
val updateProfileState: StateFlow<ApiResult<User>> = _updateProfileState
|
||||
|
||||
fun login(username: String, password: String) {
|
||||
viewModelScope.launch {
|
||||
_loginState.value = ApiResult.Loading
|
||||
@@ -94,6 +97,34 @@ class AuthViewModel : ViewModel() {
|
||||
_verifyEmailState.value = ApiResult.Idle
|
||||
}
|
||||
|
||||
fun updateProfile(firstName: String?, lastName: String?, email: String?) {
|
||||
viewModelScope.launch {
|
||||
_updateProfileState.value = ApiResult.Loading
|
||||
val token = TokenStorage.getToken()
|
||||
if (token != null) {
|
||||
val result = authApi.updateProfile(
|
||||
token = token,
|
||||
request = com.mycrib.shared.models.UpdateProfileRequest(
|
||||
firstName = firstName,
|
||||
lastName = lastName,
|
||||
email = email
|
||||
)
|
||||
)
|
||||
_updateProfileState.value = when (result) {
|
||||
is ApiResult.Success -> ApiResult.Success(result.data)
|
||||
is ApiResult.Error -> result
|
||||
else -> ApiResult.Error("Unknown error")
|
||||
}
|
||||
} else {
|
||||
_updateProfileState.value = ApiResult.Error("Not authenticated")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun resetUpdateProfileState() {
|
||||
_updateProfileState.value = ApiResult.Idle
|
||||
}
|
||||
|
||||
fun logout() {
|
||||
viewModelScope.launch {
|
||||
val token = TokenStorage.getToken()
|
||||
|
||||
Reference in New Issue
Block a user