MessageViewModel.kt 1018 B

1234567891011121314151617181920212223242526272829303132333435
  1. package io.nexilis.service.data.viewmodels
  2. import androidx.lifecycle.LiveData
  3. import androidx.lifecycle.ViewModel
  4. import androidx.lifecycle.viewModelScope
  5. import dagger.hilt.android.lifecycle.HiltViewModel
  6. import io.nexilis.service.data.entities.Message
  7. import io.nexilis.service.data.repositories.MessageRepository
  8. import kotlinx.coroutines.Dispatchers
  9. import kotlinx.coroutines.launch
  10. import javax.inject.Inject
  11. @HiltViewModel
  12. class MessageViewModel @Inject constructor(private val repository: MessageRepository) :
  13. ViewModel() {
  14. val all: LiveData<List<Message>> = repository.all
  15. fun get(id: String) : LiveData<Message> {
  16. return repository.get(id)
  17. }
  18. fun getOpposite(pin: String) : LiveData<List<Message>> {
  19. return repository.getOpposite(pin)
  20. }
  21. fun insert(entity: Message) = viewModelScope.launch(Dispatchers.IO) {
  22. repository.insert(entity)
  23. }
  24. fun send(entity: Message) = viewModelScope.launch(Dispatchers.IO) {
  25. repository.send(entity)
  26. }
  27. }