package Ġno . nav . fo . ve ilar b var sel . db Ċ Ċ import Ġorg . jetbrains . ex posed . sql . Database Ċ import Ġjava . net . URI Ċ Ċ object ĠDB Ġ{ ĊĠĠĠ Ġprivate Ġval Ġhost : ĠString ĊĠĠĠ Ġprivate Ġval Ġport : ĠInt ĊĠĠĠ Ġprivate Ġval Ġdb Name : ĠString ĊĠĠĠ Ġprivate Ġval Ġdb User : ĠString ĊĠĠĠ Ġprivate Ġval Ġdb Password : ĠString ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdb Url Ġ= ĠSystem . getenv (" DATABASE _ URL ") ĊĠĠĠĠĠĠĠ Ġif Ġ( db Url Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdb Uri Ġ= ĠURI ( db Url ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhost Ġ= Ġdb Uri . host ĊĠĠĠĠĠĠĠĠĠĠĠ Ġport Ġ= Ġdb Uri . port ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdb Name Ġ= Ġdb Uri . path . substring ( 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠuserInfo Ġ= Ġdb Uri . userInfo . split (": ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdb User Ġ= ĠuserInfo [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdb Password Ġ= ĠuserInfo [ 1 ] ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhost Ġ= ĠSystem . getenv (" DB _ HOST ") Ġ?: Ġ" localhost " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġport Ġ= ĠSystem . getenv (" DB _ PORT ") ?. toInt () Ġ?: Ġ 5 1 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdb Name Ġ= ĠSystem . getenv (" DB _ NAME ") Ġ?: Ġ" ve ilar b var sel " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdb User Ġ= ĠSystem . getenv (" DB _ USER ") Ġ?: Ġ" postgres " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdb Password Ġ= ĠSystem . getenv (" DB _ PASSWORD ") Ġ?: Ġ" password " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġconnect (): ĠDatabase Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠDatabase . connect ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" jdbc : postgresql :// $ host :$ port /$ dbName ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdriver Ġ= Ġ" org . postgresql . Driver ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser Ġ= Ġdb User , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Ġ= Ġdb Password ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ} Ċ Ċ }