You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
816 B
31 lines
816 B
package allin.data.mock
|
|
|
|
import allin.data.BetDataSource
|
|
import allin.model.Bet
|
|
import allin.model.UpdatedBetData
|
|
import java.time.ZonedDateTime
|
|
|
|
class MockBetDataSource : BetDataSource {
|
|
override fun getAllBets(): List<Bet> = bets
|
|
override fun getBetById(id: String): Bet? =
|
|
bets.find { it.id == id }
|
|
|
|
override fun removeBet(id: String): Boolean =
|
|
bets.removeIf { it.id == id }
|
|
|
|
override fun updateBet(data: UpdatedBetData): Boolean {
|
|
return bets.find { it.id == data.id }?.let {
|
|
it.isPrivate = data.isPrivate
|
|
} != null
|
|
}
|
|
|
|
override fun getBetsNotFinished(): List<Bet> =
|
|
bets.filter { it.endBet >= ZonedDateTime.now() }
|
|
|
|
override fun addBet(bet: Bet) {
|
|
bets += bet
|
|
}
|
|
|
|
private val bets by lazy { mutableListOf<Bet>() }
|
|
|
|
} |