Adding User Use cases
This commit is contained in:
+29
@@ -0,0 +1,29 @@
|
|||||||
|
package com.ericampire.android.androidstudycase.domain.usecase
|
||||||
|
|
||||||
|
import com.ericampire.android.androidstudycase.domain.entity.User
|
||||||
|
import com.ericampire.android.androidstudycase.domain.repository.UserRepository
|
||||||
|
import com.ericampire.android.androidstudycase.util.IoDispatcher
|
||||||
|
import com.ericampire.android.androidstudycase.util.Result
|
||||||
|
import com.ericampire.android.androidstudycase.util.usecase.CoroutineUseCase
|
||||||
|
import com.ericampire.android.androidstudycase.util.usecase.FlowUseCase
|
||||||
|
import kotlinx.coroutines.CoroutineDispatcher
|
||||||
|
import kotlinx.coroutines.flow.Flow
|
||||||
|
import javax.inject.Inject
|
||||||
|
|
||||||
|
class SaveUserUseCase @Inject constructor(
|
||||||
|
private val repository: UserRepository,
|
||||||
|
@IoDispatcher dispatcher: CoroutineDispatcher
|
||||||
|
) : CoroutineUseCase<User, Unit>(dispatcher) {
|
||||||
|
override suspend fun execute(parameters: User) {
|
||||||
|
return repository.save(parameters)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class FindUsersUseCase @Inject constructor(
|
||||||
|
private val repository: UserRepository,
|
||||||
|
@IoDispatcher dispatcher: CoroutineDispatcher
|
||||||
|
) : FlowUseCase<Unit, List<User>>(dispatcher) {
|
||||||
|
override fun execute(parameters: Unit): Flow<Result<List<User>>> {
|
||||||
|
return repository.findAll()
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user