package Ġno . nav . ar be id sg iver . toi . ident mapper Ċ Ċ import Ġno . nav . ar be id sg iver . toi . cv . p dl Kafka Consumer Config Ċ import Ġno . nav . hel se . rap ids _ river s . R apid Application Ċ import Ġno . nav . hel se . rap ids _ river s . R ap ids Connection Ċ import Ġno . nav . person . p dl . ak tor . v 2 . A ktor Ċ import Ġorg . apache . kafka . clients . consumer . Consumer Ċ import Ġorg . apache . kafka . clients . consumer . Kafka Consumer Ċ import Ġorg . slf 4 j . Logger Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġjavax . sql . DataSource Ċ Ċ private Ġfun Ġp dl Consumer Config () Ġ= Ġp dl Kafka Consumer Config ( System . getenv ()) Ċ private Ġfun Ġp dl Consumer () Ġ= ĠKafka Consumer < String , ĠA ktor >( p dl Consumer Config ()) Ċ private Ġval Ġenv Ġ= ĠSystem . getenv () Ċ Ċ fun Ġmain () Ġ= Ġstart App ( ĊĠĠĠ Ġenv [" P DL _ URL "] !! , ĊĠĠĠ Ġenv [" NA IS _ CLUSTER _ NAME "] !! , ĊĠĠĠ Ġh ent Database kon figur as jon ( env ), ĊĠĠĠ Ġrap ids Connection (), ĊĠĠĠ Ġp dl Consumer () Ċ ) Ċ Ċ fun Ġstart App ( ĊĠĠĠ Ġp dl Url : ĠString , ĊĠĠĠ Ġcluster : ĠString , ĊĠĠĠ ĠdataSource : ĠDataSource , ĊĠĠĠ Ġrap ids Connection : ĠR ap ids Connection , ĊĠĠĠ Ġp dl Consumer : ĠConsumer < String , ĠA ktor > Ċ ) Ġ{ ĊĠĠĠ Ġrap ids Connection . also Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠaccessToken Client Ġ= ĠAccess Token Client ( env ) ĊĊĠĠĠĠĠĠĠ Ġval Ġp dl K lient Ġ= ĠP dl K lient ( p dl Url , ĠaccessToken Client ) ĊĠĠĠĠĠĠĠ Ġval Ġrepository Ġ= ĠRepository ( dataSource ) ĊĠĠĠĠĠĠĠ Ġval Ġakt Ã¸ r Id Cache Ġ= ĠA ktor Id Cache ( repository , Ġcluster Ġ== Ġ" dev - gcp ", Ġp dl K lient :: h ent A kt Ã¸ r Id ) ĊĊĠĠĠĠĠĠĠ Ġrap ids Connection . register ( object : ĠR ap ids Connection . Status Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Startup ( rap ids Connection : ĠR ap ids Connection ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepository . kj Ã¸ r Fly way Migr ering er () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠlistOf (" fn r ", Ġ" f od se ls nr ", Ġ" f od se ls nummer "). forEach Ġ{ Ġfn r Key Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠL yt ter ( fn r Key , Ġrap ids Connection , Ġcluster , Ġakt Ã¸ r Id Cache :: h ent A kt Ã¸ r Id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠTODO : ĠSk ru ĠpÃ¥ ĠP DL - topic ĊĠĠĠĠĠĠĠ Ġ// Ġrap ids Connection . register ( P dl L yt ter ( p dl Consumer , Ġrepository :: lag re A kt Ã¸ r Id )) ĊĠĠĠ Ġ}. start () Ċ } Ċ Ċ fun Ġrap ids Connection () Ġ= ĠR apid Application . create ( System . getenv ()) Ċ Ċ val ĠAny . log : ĠLogger ĊĠĠĠ Ġget () Ġ= ĠLoggerFactory . getLogger ( this :: class . java ) Ċ