Open
Description
In the examples, I see that you are returning the repository result, without implementing any other operation against them. But it is common, that in an use case you have to query a repository and then operate again it result, maybe inserting the result into other repository. How do you handle this scenario?
interface OneRepository {
fun operation(): Either<Error, Boolean>
}
interface OtherRepository {
fun otherOperation() : Either<Error, Int>
}
class UseCase(val repository: OneRepository, val otherRepository: OtherRepository) {
fun run(): Either<Error, String>() {
val result = repository.operation()
// TODO("If the result is success, then call the second repository, and if that result is also success return a success result")
// TODO ("How we can handle the error for both repositories?")
}
}
Metadata
Metadata
Assignees
Labels
No labels