Add databaseUtil for add table manually

pull/3/head
luevard 1 year ago committed by luevard
parent 6a591a2816
commit b318671285

@ -1,5 +1,7 @@
package allin package allin
import allin.entities.UserEntity
import allin.entities.UsersEntity
import allin.routing.BasicRouting import allin.routing.BasicRouting
import allin.routing.BetRouter import allin.routing.BetRouter
import allin.routing.ParticipationRouter import allin.routing.ParticipationRouter
@ -19,22 +21,14 @@ import org.ktorm.database.Database
val db_database=System.getenv().get("POSTGRES_DB") val db_database=System.getenv().get("POSTGRES_DB")
val db_user=System.getenv().get("POSTGRES_USER") val db_user=System.getenv().get("POSTGRES_USER")
val db_password=System.getenv().get("POSTGRES_PASSWORD") val db_password=System.getenv().get("POSTGRES_PASSWORD")
var database : Database = instanceBD() val database = Database.connect("jdbc:postgresql://$db_database", user = db_user, password = db_password)
fun main() { fun main() {
embeddedServer(Netty, port = 8080, host = "0.0.0.0") { embeddedServer(Netty, port = 8080, host = "0.0.0.0") {
extracted() extracted()
}.start(wait = true) }.start(wait = true)
} }
fun instanceBD(): Database{
try{
database = Database.connect("jdbc:postgresql://$db_database", user = db_user, password = db_password)
}catch (e:Exception){
//println("jdbc:postgresql://$db_database$db_user$db_password")
}
return database
}
private fun Application.extracted() { private fun Application.extracted() {
val config = HoconApplicationConfig(ConfigFactory.load()) val config = HoconApplicationConfig(ConfigFactory.load())
val tokenManager = TokenManager.getInstance(config) val tokenManager = TokenManager.getInstance(config)
@ -56,4 +50,5 @@ private fun Application.extracted() {
UserRouter() UserRouter()
BetRouter() BetRouter()
ParticipationRouter() ParticipationRouter()
UsersEntity.createUserTable()
} }

@ -3,8 +3,10 @@ package allin.entities
import allin.database import allin.database
import allin.dto.UserDTO import allin.dto.UserDTO
import allin.model.User import allin.model.User
import allin.utils.Execute
import org.ktorm.dsl.* import org.ktorm.dsl.*
import org.ktorm.entity.* import org.ktorm.entity.*
import org.ktorm.expression.SqlExpression
import org.ktorm.schema.Table import org.ktorm.schema.Table
import org.ktorm.schema.double import org.ktorm.schema.double
import org.ktorm.schema.int import org.ktorm.schema.int
@ -20,7 +22,7 @@ object UsersEntity : Table<UserEntity>("utilisateur") {
val id = int("id").primaryKey() val id = int("id").primaryKey()
val username = varchar("username") val username = varchar("username")
val password = varchar("password") val password = varchar("password")
val nbCoins = double("nbCoins") val nbCoins = double("coins")
val email = varchar("email") val email = varchar("email")
fun getUserToUserDTO(): MutableList<UserDTO> { fun getUserToUserDTO(): MutableList<UserDTO> {
@ -34,6 +36,12 @@ object UsersEntity : Table<UserEntity>("utilisateur") {
}.toMutableList() }.toMutableList()
} }
fun createUserTable(){
val request="CREATE TABLE IF not exists utilisateur ( id SERIAL PRIMARY KEY, username VARCHAR(255), password VARCHAR(255),coins double precision,email VARCHAR(255))"
database.Execute(request)
}
fun getUserByUsernameAndPassword(login: String): Pair<UserDTO?, String?> { fun getUserByUsernameAndPassword(login: String): Pair<UserDTO?, String?> {
return database.from(UsersEntity) return database.from(UsersEntity)
.select() .select()

@ -0,0 +1,12 @@
package allin.utils
import allin.database
import org.ktorm.database.Database
fun Database.Execute(request: String){
database.useTransaction {
val connection = it.connection
connection.prepareStatement(request).execute()
connection.commit()
}
}
Loading…
Cancel
Save