package allin.data import allin.model.* import java.time.ZonedDateTime interface BetDataSource { fun getAllBets(filters: List): List fun getBetById(id: String): Bet? fun getBetDetailById(id: String, username: String): BetDetail? fun getBetsNotFinished(): List fun addBet(bet: Bet) fun removeBet(id: String): Boolean fun updateBet(data: UpdatedBetData): Boolean fun updateBetStatuses(date: ZonedDateTime) fun getToConfirm(username: String): List fun confirmBet(betId: String, result: String) fun getWonNotifications(username: String): List fun getHistory(username: String): List fun getCurrent(username: String): List fun getMostPopularBet(): Bet? fun updatePopularityScore(betId: String) }