UsersViewModel

class UsersViewModel @Inject constructor(apiService: UsersApiService, dataService: UsersDataService, preferences: UsersPreferences) : ViewModel

ViewModel for module

Author

Vitaliy Zarubin

Constructors

UsersViewModel
Link copied to clipboard
@Inject
fun UsersViewModel(apiService: UsersApiService, dataService: UsersDataService, preferences: UsersPreferences)

Functions

getUser
Link copied to clipboard
fun getUser(userId: String): Flow<UserModel>

Flow room for view page

search
Link copied to clipboard
fun search(search: String?)
updateUser
Link copied to clipboard
fun updateUser(userId: String)

Update view with model UserModel

Properties

_error404
Link copied to clipboard
private val _error404: MutableStateFlow<Boolean>

MutableStateFlow state 404 response

_loading
Link copied to clipboard
private val _loading: MutableStateFlow<Boolean>

MutableStateFlow for loading state

_search
Link copied to clipboard
private val _search: MutableStateFlow<String?>

MutableStateFlow for search query

apiService
Link copied to clipboard
private val apiService: UsersApiService

service http query

dataService
Link copied to clipboard
private val dataService: UsersDataService

service db room

error404
Link copied to clipboard
val error404: StateFlow<Boolean>

StateFlow for _error404

listUsers
Link copied to clipboard
val listUsers: Flow<PagingData<UserModel>>

List with paging RemoteMediator

loading
Link copied to clipboard
val loading: StateFlow<Boolean>

StateFlow for _loading

preferences
Link copied to clipboard
private val preferences: UsersPreferences

service shared preference

search
Link copied to clipboard
val search: StateFlow<String?>

StateFlow for _search

searchListUsers
Link copied to clipboard
val searchListUsers: Flow<PagingData<UserModel>>

List with paging PagingSource