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( database.Execute(
""" """
CREATE TYPE betstatus AS ENUM CREATE TYPE IF not exists betstatus AS ENUM
('InProgress', 'Waiting', 'Closing', 'Finished', 'Cancelled'); ('InProgress', 'Waiting', 'Closing', 'Finished', 'Cancelled');
CREATE TYPE bettype AS ENUM CREATE TYPE IF not exists bettype AS ENUM
('Match', 'Binary', 'Custom'); ('Match', 'Binary', 'Custom');
CREATE TABLE IF not exists bet ( 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.dataSource
import allin.ext.hasToken import allin.ext.hasToken
import allin.ext.verifyUserFromToken import allin.ext.verifyUserFromToken
import allin.model.AllInResponse import allin.model.*
import allin.model.ApiMessage
import allin.model.Bet
import allin.model.UpdatedBetData
import allin.utils.AppConfig import allin.utils.AppConfig
import io.ktor.http.* import io.ktor.http.*
import io.ktor.server.application.* import io.ktor.server.application.*
@ -49,11 +46,25 @@ fun Application.BetRouter() {
get("/bets/gets") { get("/bets/gets") {
hasToken { principal -> hasToken { principal ->
verifyUserFromToken(userDataSource, principal) { user, _ -> verifyUserFromToken(userDataSource, principal) { user, _ ->
val response = AllInResponse( call.respond(HttpStatusCode.Accepted, betDataSource.getAllBets())
value = betDataSource.getAllBets(), }
won = emptyList(), }
toConfirm = betDataSource.getToConfirm(user.username) }
) }
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) call.respond(HttpStatusCode.Accepted, response)
} }
} }

Loading…
Cancel
Save