package Ġno . nav . hel se . g ren sek omp . db Ċ Ċ import Ġcom . zaxxer . hikari . HikariConfig Ċ import Ġcom . zaxxer . hikari . metrics . prometheus . Pro metheus Metrics Tracker Factory Ċ Ċ fun Ġcreate HikariConfig ( jdbc Url : ĠString , Ġusername : ĠString ? Ġ= Ġnull , Ġpassword : ĠString ? Ġ= Ġnull , Ġprometheus Metrics Tracker Factory : ĠPrometheus Metrics Tracker Factory ? Ġ= Ġnull ) Ġ= ĊĠĠĠĠĠĠĠ ĠH ikariConfig (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . jdbc Url Ġ= Ġjdbc Url ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmaximum PoolSize Ġ= Ġ 3 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġminimum Idle Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġidle Timeout Ġ= Ġ 1 0 0 0 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconnection Timeout Ġ= Ġ 2 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmax Lifetime Ġ= Ġ 3 0 0 0 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdriver ClassName Ġ= Ġ" org . postgresql . Driver " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġusername ?. let Ġ{ Ġthis . username Ġ= Ġit Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpassword ?. let Ġ{ Ġthis . password Ġ= Ġit Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpool Name Ġ= Ġ" default Pool " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprometheus Metrics Tracker Factory ?. let Ġ{ Ġmetrics Tracker Factory Ġ= Ġprometheus Metrics Tracker Factory Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ċ Ċ enum Ġclass ĠRole Ġ{ ĊĠĠĠ Ġadmin , Ġuser , Ġreadonly ; ĊĊĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= Ġname . toLowerCase () Ċ } Ċ Ċ fun Ġcreate Test HikariConfig () Ġ= ĊĠĠĠĠĠĠĠ Ġcreate HikariConfig (" jdbc : postgresql :// localhost : 5 4 3 2 / g ren sek omp _ db ", Ġ" g ren sek omp ", Ġ" g ren sek omp ", Ġnull )