admin viewmodel and fragment
This commit is contained in:
parent
3fe72d546f
commit
d80a99ade0
@ -11,5 +11,5 @@ public class BlockUseCase (
|
|||||||
private fun getUserFromStorage() : UserDto? {
|
private fun getUserFromStorage() : UserDto? {
|
||||||
return authStorageDataSource.userInfo
|
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? {
|
private fun getUserFromStorage() : UserDto? {
|
||||||
return authStorageDataSource.userInfo
|
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) {
|
class AdminFragment : Fragment(R.layout.fragment_admin) {
|
||||||
private var _viewBinding: FragmentAdminBinding? = null
|
private var _viewBinding: FragmentAdminBinding? = null
|
||||||
private val viewBinding: FragmentAdminBinding get() = _viewBinding!!
|
private val viewBinding: FragmentAdminBinding get() = _viewBinding!!
|
||||||
|
|
||||||
private val viewModel by viewModels<AdminViewModel> { AdminViewModel.Factory }
|
private val viewModel by viewModels<AdminViewModel> { AdminViewModel.Factory }
|
||||||
|
|
||||||
|
|
||||||
@ -24,23 +23,23 @@ class AdminFragment : Fragment(R.layout.fragment_admin) {
|
|||||||
_viewBinding = FragmentAdminBinding.bind(view)
|
_viewBinding = FragmentAdminBinding.bind(view)
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
|
//
|
||||||
/*viewModel.state.collectWithLifecycle(this) { state ->
|
// viewModel.state.collectWithLifecycle(this) { state ->
|
||||||
|
//
|
||||||
viewBinding.error.visibility = if (state is AdminViewModel.State.Error) View.VISIBLE else View.GONE
|
// viewBinding.error.visibility = if (state is AdminViewModel.State.Error) View.VISIBLE else View.GONE
|
||||||
|
//
|
||||||
|
//
|
||||||
when(state) {
|
// when(state) {
|
||||||
is AdminViewModel.State.Loading -> Unit
|
// is AdminViewModel.State.Loading -> Unit
|
||||||
is AdminViewModel.State.GoToInfo -> {
|
// is AdminViewModel.State.GoToInfo -> {
|
||||||
findNavController().navigate()
|
// findNavController().navigate()
|
||||||
}
|
// }
|
||||||
is ProfileViewModel.State.Error -> {
|
// is ProfileViewModel.State.Error -> {
|
||||||
viewBinding.errorText.text = state.text
|
// viewBinding.errorText.text = state.text
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
}*/
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroyView() {
|
override fun onDestroyView() {
|
||||||
|
@ -10,12 +10,16 @@ import kotlinx.coroutines.launch
|
|||||||
import ru.myitschool.work.data.auth.AuthStorageDataSource
|
import ru.myitschool.work.data.auth.AuthStorageDataSource
|
||||||
import ru.myitschool.work.data.user.UserNetworkDataSource
|
import ru.myitschool.work.data.user.UserNetworkDataSource
|
||||||
import ru.myitschool.work.data.user.UserRepoImpl
|
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.EntranceEntity
|
||||||
import ru.myitschool.work.domain.user.GetUserUseCase
|
import ru.myitschool.work.domain.user.GetUserUseCase
|
||||||
|
import ru.myitschool.work.domain.user.UnBlockUseCase
|
||||||
import ru.myitschool.work.domain.user.UserEntity
|
import ru.myitschool.work.domain.user.UserEntity
|
||||||
|
|
||||||
class AdminViewModel(
|
class AdminViewModel(
|
||||||
private val getUserUseCase: GetUserUseCase
|
private val getUserUseCase: GetUserUseCase,
|
||||||
|
private val blockUseCase: BlockUseCase,
|
||||||
|
private val unBlockUseCase: UnBlockUseCase
|
||||||
) : ViewModel() {
|
) : ViewModel() {
|
||||||
private val _state = MutableStateFlow<State>(State.Loading)
|
private val _state = MutableStateFlow<State>(State.Loading)
|
||||||
val state = _state.asStateFlow()
|
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 {
|
sealed interface State {
|
||||||
data object Loading: State
|
data object Loading: State
|
||||||
@ -78,6 +104,16 @@ class AdminViewModel(
|
|||||||
userNetworkDataSource = UserNetworkDataSource()
|
userNetworkDataSource = UserNetworkDataSource()
|
||||||
),
|
),
|
||||||
authStorageDataSource = AuthStorageDataSource
|
authStorageDataSource = AuthStorageDataSource
|
||||||
|
),
|
||||||
|
blockUseCase = BlockUseCase(repo = UserRepoImpl(
|
||||||
|
userNetworkDataSource = UserNetworkDataSource()
|
||||||
|
),
|
||||||
|
authStorageDataSource = AuthStorageDataSource
|
||||||
|
),
|
||||||
|
unBlockUseCase = UnBlockUseCase(repo = UserRepoImpl(
|
||||||
|
userNetworkDataSource = UserNetworkDataSource()
|
||||||
|
),
|
||||||
|
authStorageDataSource = AuthStorageDataSource
|
||||||
)
|
)
|
||||||
) as T
|
) as T
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user