From 1f10620954efeeccd0e0445206aeb42805559aed Mon Sep 17 00:00:00 2001 From: Maxime Duchene-Savard Date: Tue, 11 Nov 2025 10:06:49 -0500 Subject: [PATCH] =?UTF-8?q?travaux=20int=C3=A9gration=20UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/misc.xml | 2 +- example.env | 5 ++++ pom.xml | 18 ++++++------- src/main/java/dev/mduchene/BoltsDbModule.java | 20 +++++++++++++++ src/main/java/dev/mduchene/Db.java | 25 ++++++++++++++++--- 5 files changed, 55 insertions(+), 15 deletions(-) create mode 100644 example.env create mode 100644 src/main/java/dev/mduchene/BoltsDbModule.java diff --git a/.idea/misc.xml b/.idea/misc.xml index 7ace097..048a301 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,7 +8,7 @@ - + \ No newline at end of file diff --git a/example.env b/example.env new file mode 100644 index 0000000..024e80c --- /dev/null +++ b/example.env @@ -0,0 +1,5 @@ +BOLTS_DB_HOST=127.0.0.1 +BOLTS_DB_PORT=5432 +BOLTS_DB_NAME=bolts +BOLTS_DB_USER=root +BOLTS_DB_PASS=root diff --git a/pom.xml b/pom.xml index 4c42c46..be6404f 100644 --- a/pom.xml +++ b/pom.xml @@ -20,8 +20,8 @@ maven-compiler-plugin 3.14.0 - 21 - 21 + 25 + 25 @@ -57,6 +57,12 @@ + + com.google.inject + guice + 7.0.0 + + io.javalin javalin @@ -127,13 +133,5 @@ 5.13.4 test - - - - com.h2database - h2 - 2.3.230 - test - diff --git a/src/main/java/dev/mduchene/BoltsDbModule.java b/src/main/java/dev/mduchene/BoltsDbModule.java new file mode 100644 index 0000000..ebedd38 --- /dev/null +++ b/src/main/java/dev/mduchene/BoltsDbModule.java @@ -0,0 +1,20 @@ +package dev.mduchene; + +import com.google.inject.AbstractModule; + +public class BoltsDbModule extends AbstractModule { + private final Db db; + + private BoltsDbModule(Db db) { + this.db = db; + } + + public static BoltsDbModule of(Db db) { + return new BoltsDbModule(db); + } + + @Override + protected void configure() { + bind(Db.class).toInstance(db); + } +} diff --git a/src/main/java/dev/mduchene/Db.java b/src/main/java/dev/mduchene/Db.java index 59dbd66..d61574d 100644 --- a/src/main/java/dev/mduchene/Db.java +++ b/src/main/java/dev/mduchene/Db.java @@ -21,18 +21,33 @@ public class Db implements AutoCloseable { } public static class Builder { - - private String url; + private String host; + private Integer port; + private String database; private String user; private String password; private Builder() {} - public Builder url(String url) { - this.url = url; + + public Builder host(String host) { + this.host = host; return this; } + + public Builder port(Integer port) { + this.port = port; + return this; + } + + + public Builder database(String database) { + this.database = database; + return this; + } + + public Builder user(String user) { this.user = user; return this; @@ -47,6 +62,8 @@ public class Db implements AutoCloseable { System.setProperty("org.jooq.no-tips", "true"); System.setProperty("org.jooq.no-logo", "true"); + String url = String.format("jdbc:postgresql://%s:%d/%s", host, port, database); + Db db = new Db(); HikariConfig config = new HikariConfig(); config.setJdbcUrl(url);