Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save virendersran01/2a12ac9de6916afe7a1ec66b90953836 to your computer and use it in GitHub Desktop.
Save virendersran01/2a12ac9de6916afe7a1ec66b90953836 to your computer and use it in GitHub Desktop.
CandidateAssessment - use cases
interface DisplayCandidates {
fun all()
fun withName(name: String)
data class Candidate(val id: String, val name: String, val phoneNumbers: Collection<String>) {
internal companion object {
fun from(candidate: CandidateEntity) = Candidate(candidate.id, candidate.fullName, candidate.contactNumbers.map { it.phoneNumber })
}
}
interface Presenter {
fun present(candidates: Collection<Candidate>)
}
interface Repository {
fun findByName(name: String) : Collection<CandidateEntity>
}
}
interface OpenDetailsScreen {
fun go(candidateId: String)
interface Presenter {
fun present(candidateId: String)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment