package Ġxyz . fab iano . let sync . mongodb Ċ Ċ import Ġcom . mongodb . ConnectionString Ċ import Ġcom . mongodb . Mongo Client Settings Ċ import Ġcom . mongodb . Mongo Credential Ċ import Ġorg . lit ote . km ongo . coroutine . Coroutine Database Ċ import Ġorg . lit ote . km ongo . coroutine . coroutine Ċ import Ġorg . lit ote . km ongo . reactiv est ream s . K Mongo Ċ Ċ class ĠMongo Client ( ĊĠĠĠ Ġprivate Ġval Ġconnection String Ġ: ĠConnection String , ĊĠĠĠ Ġprivate Ġval Ġdatabase Name Ġ: ĠString , ĊĠĠĠ Ġprivate Ġval Ġuser Ġ: ĠString , ĊĠĠĠ Ġprivate Ġval Ġpassword Ġ: ĠString ? Ċ ) Ġ{ ĊĠĠĠ Ġprivate Ġfun Ġclient Settings () Ġ: ĠMongo Client Settings Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreturn ĠMongo Client Settings ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply ConnectionString ( connectionString ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. credential ( credential ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcredential () Ġ: ĠMongo Credential Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpwd Ġ= Ġpassword ?. toCharArray () Ġ?: Ġchar ArrayOf () ĊĠĠĠĠĠĠĠ Ġreturn ĠMongo Credential . create Credential ( user , Ġ" admin ", Ġpwd ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdatabase () Ġ: ĠCor outine Database Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠK Mongo . create Client ( client Settings ()). coroutine . get Database ( database Name ) ĊĠĠĠ Ġ} Ċ }