File tree 3 files changed +25
-12
lines changed
apps/bekreftelse-api/src/main/resources/nais
lib/database/src/main/kotlin/no/nav/paw/database
3 files changed +25
-12
lines changed Original file line number Diff line number Diff line change 1
- host = " ${NAIS_DATABASE_PAW_ARBEIDSSOEKERREGISTERET_API_BEKREFTELSE_BEKREFTELSER_HOST}"
2
- port = " ${NAIS_DATABASE_PAW_ARBEIDSSOEKERREGISTERET_API_BEKREFTELSE_BEKREFTELSER_PORT}"
3
- username = " ${NAIS_DATABASE_PAW_ARBEIDSSOEKERREGISTERET_API_BEKREFTELSE_BEKREFTELSER_USERNAME}"
4
- password = " ${NAIS_DATABASE_PAW_ARBEIDSSOEKERREGISTERET_API_BEKREFTELSE_BEKREFTELSER_PASSWORD}"
5
- database = " ${NAIS_DATABASE_PAW_ARBEIDSSOEKERREGISTERET_API_BEKREFTELSE_BEKREFTELSER_DATABASE}"
1
+ jdbcUrl = " ${NAIS_DATABASE_PAW_ARBEIDSSOEKERREGISTERET_API_BEKREFTELSE_BEKREFTELSER_JDBC_URL}"
Original file line number Diff line number Diff line change @@ -5,16 +5,33 @@ import java.time.Duration
5
5
const val DATABASE_CONFIG = " database_config.toml"
6
6
7
7
data class DatabaseConfig (
8
- val host : String ,
9
- val port : Int ,
10
- val username : String ,
11
- val password : String ,
12
- val database : String ,
8
+ val jdbcUrl : String? ,
9
+ val url : String? ,
10
+ val host : String? ,
11
+ val port : Int? ,
12
+ val username : String? ,
13
+ val password : String? ,
14
+ val database : String? ,
13
15
val autoCommit : Boolean = true ,
14
16
val maximumPoolSize : Int = 3 ,
15
17
val connectionTimeout : Duration = Duration .ofSeconds(30),
16
18
val idleTimeout : Duration = Duration .ofMinutes(10),
17
19
val maxLifetime : Duration = Duration .ofMinutes(30)
18
20
) {
19
- val url get() = " jdbc:postgresql://$host :$port /$database ?user=$username &password=$password "
21
+ fun buildJdbcUrl (): String {
22
+ return if (jdbcUrl != null ) {
23
+ require(jdbcUrl.isBlank()) { " JDBC URL er tom" }
24
+ jdbcUrl
25
+ } else if (url != null ) {
26
+ require(url.isBlank()) { " URL er tom" }
27
+ " jdbc:$url "
28
+ } else {
29
+ require(! host.isNullOrBlank()) { " Host er ikke satt" }
30
+ requireNotNull(port) { " Port er ikke satt" }
31
+ require(! username.isNullOrBlank()) { " Username er ikke satt" }
32
+ require(! password.isNullOrBlank()) { " Password er ikke satt" }
33
+ require(! database.isNullOrBlank()) { " Database er ikke satt" }
34
+ " jdbc:postgresql://$host :$port /$database ?user=$username &password=$password "
35
+ }
36
+ }
20
37
}
Original file line number Diff line number Diff line change @@ -7,7 +7,7 @@ import no.nav.paw.database.config.DatabaseConfig
7
7
fun createHikariDataSource (databaseConfig : DatabaseConfig ): HikariDataSource =
8
8
HikariDataSource (
9
9
HikariConfig ().apply {
10
- jdbcUrl = databaseConfig.url
10
+ jdbcUrl = databaseConfig.buildJdbcUrl()
11
11
maximumPoolSize = databaseConfig.maximumPoolSize
12
12
isAutoCommit = databaseConfig.autoCommit
13
13
connectionTimeout = databaseConfig.connectionTimeout.toMillis()
You can’t perform that action at this time.
0 commit comments