Fix confirmation and pg enums
continuous-integration/drone/push Build is passing Details

pull/10/head
Arthur VALIN 1 year ago
parent 9e1fcee33b
commit 4a7f695d10

@ -38,10 +38,10 @@ class PostgresDataSource : AllInDataSource() {
database.Execute(
"""
CREATE TYPE betstatus AS ENUM
CREATE TYPE IF not exists betstatus AS ENUM
('InProgress', 'Waiting', 'Closing', 'Finished', 'Cancelled');
CREATE TYPE bettype AS ENUM
CREATE TYPE IF not exists bettype AS ENUM
('Match', 'Binary', 'Custom');
CREATE TABLE IF not exists bet (

@ -1,10 +0,0 @@
package allin.model
import kotlinx.serialization.Serializable
@Serializable
data class AllInResponse<T : Any>(
val value: T,
val toConfirm: List<Bet>,
val won: List<BetResult>
)

@ -3,10 +3,7 @@ package allin.routing
import allin.dataSource
import allin.ext.hasToken
import allin.ext.verifyUserFromToken
import allin.model.AllInResponse
import allin.model.ApiMessage
import allin.model.Bet
import allin.model.UpdatedBetData
import allin.model.*
import allin.utils.AppConfig
import io.ktor.http.*
import io.ktor.server.application.*
@ -49,11 +46,25 @@ fun Application.BetRouter() {
get("/bets/gets") {
hasToken { principal ->
verifyUserFromToken(userDataSource, principal) { user, _ ->
val response = AllInResponse(
value = betDataSource.getAllBets(),
won = emptyList(),
toConfirm = betDataSource.getToConfirm(user.username)
)
call.respond(HttpStatusCode.Accepted, betDataSource.getAllBets())
}
}
}
}
authenticate {
get("/bets/toConfirm") {
hasToken { principal ->
verifyUserFromToken(userDataSource, principal) { user, _ ->
val response = betDataSource.getToConfirm(user.username).map {
val participations = participationDataSource.getParticipationFromBetId(it.id)
BetDetail(
it,
getBetAnswerDetail(it, participations),
participations.toList(),
participationDataSource.getParticipationFromUserId(user.username, it.id).lastOrNull()
)
}
call.respond(HttpStatusCode.Accepted, response)
}
}

Loading…
Cancel
Save