admin viewmodel and fragment
This commit is contained in:
		
							parent
							
								
									3fe72d546f
								
							
						
					
					
						commit
						d80a99ade0
					
				| @ -11,5 +11,5 @@ public class BlockUseCase ( | ||||
|     private fun getUserFromStorage() : UserDto? { | ||||
|         return authStorageDataSource.userInfo | ||||
|     } | ||||
|     suspend operator fun invoke(value : String) = repo.block(getUserFromStorage()?.login!!) | ||||
|     suspend operator fun invoke() = repo.block(getUserFromStorage()?.login!!) | ||||
| } | ||||
|  | ||||
| @ -11,5 +11,5 @@ public class UnBlockUseCase ( | ||||
|     private fun getUserFromStorage() : UserDto? { | ||||
|         return authStorageDataSource.userInfo | ||||
|     } | ||||
|     suspend operator fun invoke(value : String) = repo.unblock(getUserFromStorage()?.login!!) | ||||
|     suspend operator fun invoke() = repo.unblock(getUserFromStorage()?.login!!) | ||||
| } | ||||
|  | ||||
| @ -16,7 +16,6 @@ import ru.myitschool.work.utils.collectWithLifecycle | ||||
| class AdminFragment : Fragment(R.layout.fragment_admin) { | ||||
|     private var _viewBinding: FragmentAdminBinding? = null | ||||
|     private val viewBinding: FragmentAdminBinding get() = _viewBinding!! | ||||
| 
 | ||||
|     private val viewModel by viewModels<AdminViewModel> { AdminViewModel.Factory } | ||||
| 
 | ||||
| 
 | ||||
| @ -24,23 +23,23 @@ class AdminFragment : Fragment(R.layout.fragment_admin) { | ||||
|         _viewBinding = FragmentAdminBinding.bind(view) | ||||
|         super.onViewCreated(view, savedInstanceState) | ||||
| 
 | ||||
| 
 | ||||
|     /*viewModel.state.collectWithLifecycle(this) { state -> | ||||
| 
 | ||||
|         viewBinding.error.visibility = if (state is AdminViewModel.State.Error) View.VISIBLE else View.GONE | ||||
| 
 | ||||
| 
 | ||||
|         when(state) { | ||||
|             is AdminViewModel.State.Loading -> Unit | ||||
|             is AdminViewModel.State.GoToInfo -> { | ||||
|                 findNavController().navigate() | ||||
|             } | ||||
|             is ProfileViewModel.State.Error -> { | ||||
|                 viewBinding.errorText.text = state.text | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|     }*/ | ||||
| // | ||||
| //    viewModel.state.collectWithLifecycle(this) { state -> | ||||
| // | ||||
| //        viewBinding.error.visibility = if (state is AdminViewModel.State.Error) View.VISIBLE else View.GONE | ||||
| // | ||||
| // | ||||
| //        when(state) { | ||||
| //            is AdminViewModel.State.Loading -> Unit | ||||
| //            is AdminViewModel.State.GoToInfo -> { | ||||
| //                findNavController().navigate() | ||||
| //            } | ||||
| //            is ProfileViewModel.State.Error -> { | ||||
| //                viewBinding.errorText.text = state.text | ||||
| //            } | ||||
| //        } | ||||
| // | ||||
| //    } | ||||
| } | ||||
| 
 | ||||
| override fun onDestroyView() { | ||||
|  | ||||
| @ -10,12 +10,16 @@ import kotlinx.coroutines.launch | ||||
| import ru.myitschool.work.data.auth.AuthStorageDataSource | ||||
| import ru.myitschool.work.data.user.UserNetworkDataSource | ||||
| import ru.myitschool.work.data.user.UserRepoImpl | ||||
| import ru.myitschool.work.domain.user.BlockUseCase | ||||
| import ru.myitschool.work.domain.user.EntranceEntity | ||||
| import ru.myitschool.work.domain.user.GetUserUseCase | ||||
| import ru.myitschool.work.domain.user.UnBlockUseCase | ||||
| import ru.myitschool.work.domain.user.UserEntity | ||||
| 
 | ||||
| class AdminViewModel( | ||||
|     private val getUserUseCase: GetUserUseCase | ||||
|     private val getUserUseCase: GetUserUseCase, | ||||
|     private val blockUseCase: BlockUseCase, | ||||
|     private val unBlockUseCase: UnBlockUseCase | ||||
| ) : ViewModel() { | ||||
|     private val _state = MutableStateFlow<State>(State.Loading) | ||||
|     val state = _state.asStateFlow() | ||||
| @ -52,11 +56,33 @@ class AdminViewModel( | ||||
|                     } | ||||
|                 ) | ||||
|             ) | ||||
|             //_state.emit(State.Error("о нет ошибка ошибка помогите")) | ||||
|             _state.emit(State.Error("о нет ошибка ошибка помогите")) | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     suspend fun blockUser() { | ||||
|         blockUseCase.invoke().fold( | ||||
|             onSuccess = { data -> | ||||
|                 Log.d("uraa", "успех успех ${data.toString()}") | ||||
|             }, | ||||
|             onFailure = { error -> | ||||
|                 Log.d("kaput", error.message.toString()) | ||||
|                 State.Error(error.message.toString()) | ||||
|             } | ||||
|         ) | ||||
|     } | ||||
| 
 | ||||
|     suspend fun unblockUser() { | ||||
|         unBlockUseCase.invoke().fold( | ||||
|             onSuccess = { data -> | ||||
|                 Log.d("uraa", "успех успех ${data.toString()}") | ||||
|             }, | ||||
|             onFailure = { error -> | ||||
|                 Log.d("kaput", error.message.toString()) | ||||
|                 State.Error(error.message.toString()) | ||||
|             } | ||||
|         ) | ||||
|     } | ||||
| 
 | ||||
|     sealed interface State { | ||||
|         data object Loading: State | ||||
| @ -78,6 +104,16 @@ class AdminViewModel( | ||||
|                             userNetworkDataSource = UserNetworkDataSource() | ||||
|                         ), | ||||
|                         authStorageDataSource = AuthStorageDataSource | ||||
|                     ), | ||||
|                     blockUseCase = BlockUseCase(repo = UserRepoImpl( | ||||
|                         userNetworkDataSource = UserNetworkDataSource() | ||||
|                     ), | ||||
|                         authStorageDataSource = AuthStorageDataSource | ||||
|                     ), | ||||
|                     unBlockUseCase = UnBlockUseCase(repo = UserRepoImpl( | ||||
|                         userNetworkDataSource = UserNetworkDataSource() | ||||
|                     ), | ||||
|                         authStorageDataSource = AuthStorageDataSource | ||||
|                     ) | ||||
|                 ) as T | ||||
|             } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user