diff --git a/Sources/src/main/kotlin/allin/Application.kt b/Sources/src/main/kotlin/allin/Application.kt index e45ff32..e745555 100644 --- a/Sources/src/main/kotlin/allin/Application.kt +++ b/Sources/src/main/kotlin/allin/Application.kt @@ -1,5 +1,7 @@ package allin +import allin.entities.UserEntity +import allin.entities.UsersEntity import allin.routing.BasicRouting import allin.routing.BetRouter import allin.routing.ParticipationRouter @@ -19,22 +21,14 @@ import org.ktorm.database.Database val db_database=System.getenv().get("POSTGRES_DB") val db_user=System.getenv().get("POSTGRES_USER") 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() { embeddedServer(Netty, port = 8080, host = "0.0.0.0") { extracted() }.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() { val config = HoconApplicationConfig(ConfigFactory.load()) val tokenManager = TokenManager.getInstance(config) @@ -56,4 +50,5 @@ private fun Application.extracted() { UserRouter() BetRouter() ParticipationRouter() + UsersEntity.createUserTable() } diff --git a/Sources/src/main/kotlin/allin/entities/UserEntity.kt b/Sources/src/main/kotlin/allin/entities/UserEntity.kt index 0a54305..765c0a3 100644 --- a/Sources/src/main/kotlin/allin/entities/UserEntity.kt +++ b/Sources/src/main/kotlin/allin/entities/UserEntity.kt @@ -3,8 +3,10 @@ package allin.entities import allin.database import allin.dto.UserDTO import allin.model.User +import allin.utils.Execute import org.ktorm.dsl.* import org.ktorm.entity.* +import org.ktorm.expression.SqlExpression import org.ktorm.schema.Table import org.ktorm.schema.double import org.ktorm.schema.int @@ -20,7 +22,7 @@ object UsersEntity : Table("utilisateur") { val id = int("id").primaryKey() val username = varchar("username") val password = varchar("password") - val nbCoins = double("nbCoins") + val nbCoins = double("coins") val email = varchar("email") fun getUserToUserDTO(): MutableList { @@ -34,6 +36,12 @@ object UsersEntity : Table("utilisateur") { }.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 { return database.from(UsersEntity) .select() diff --git a/Sources/src/main/kotlin/allin/utils/DatabaseUtil.kt b/Sources/src/main/kotlin/allin/utils/DatabaseUtil.kt new file mode 100644 index 0000000..5130ce3 --- /dev/null +++ b/Sources/src/main/kotlin/allin/utils/DatabaseUtil.kt @@ -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() + } +} \ No newline at end of file