package Ġno . nav . sy fo . nar me ste le der Ċ Ċ import Ġio . ktor . util . K tor Experimental API Ċ import Ġjava . time . Offset DateTime Ċ import Ġjava . time . Zone Offset Ċ import Ġno . nav . sy fo . log Ċ import Ġno . nav . sy fo . nar me ste le der . k af k amodel . L eder Ċ import Ġno . nav . sy fo . nar me ste le der . k af k amodel . Nl Response Ċ import Ġno . nav . sy fo . nar me ste le der . k af k amodel . Sy k meld t Ċ import Ġno . nav . sy fo . p dl . service . P dl Person Service Ċ Ċ @ K tor Experimental API Ċ class ĠN ar me ste L eder Mapping Service ( private Ġval Ġp dl Person Service : ĠP dl Person Service ) Ġ{ ĊĠĠĠ Ġsuspend Ġfun Ġmap Sy fo Service N ar me ste L eder Til Nl Response ( sy fo Service N ar me ste L eder : ĠSy fo Service N ar me ste L eder ): ĠN l Response Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfn rs Ġ= Ġp dl Person Service . get Fn rs ( listOf ( sy fo Service N ar me ste L eder . ak tor Id , Ġsy fo Service N ar me ste L eder . nl A ktor Id ), Ġsy fo Service N ar me ste L eder . id . toString ()) ĊĠĠĠĠĠĠĠ Ġval Ġsy k meld t Fn r Ġ= Ġfn rs [ sy fo Service N ar me ste L eder . ak tor Id ] ĊĠĠĠĠĠĠĠ Ġval Ġle der Fn r Ġ= Ġfn rs [ sy fo Service N ar me ste L eder . nl A ktor Id ] ĊĠĠĠĠĠĠĠ Ġif Ġ( sy k meld t Fn r Ġ== Ġnull Ġ&& Ġle der Fn r Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . error (" M ang ler Ġfn r Ġfor Ġsy k meld t Ġog Ġle der ! ĠNL - id : Ġ${ sy fo Service N ar me ste L eder . id }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" M ang ler Ġfn r Ġfor Ġsy k meld t Ġog Ġle der ! ĠNL - id : Ġ${ sy fo Service N ar me ste L eder . id }") ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( sy k meld t Fn r Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . error (" M ang ler Ġfn r Ġfor Ġsy k meld t ! ĠNL - id : Ġ${ sy fo Service N ar me ste L eder . id }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" M ang ler Ġfn r Ġfor Ġsy k meld t ! ĠNL - id : Ġ${ sy fo Service N ar me ste L eder . id }") ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( le der Fn r Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . error (" M ang ler Ġfn r Ġfor Ġle der ! ĠNL - id : Ġ${ sy fo Service N ar me ste L eder . id }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" M ang ler Ġfn r Ġfor Ġle der ! ĠNL - id : Ġ${ sy fo Service N ar me ste L eder . id }") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠN l Response ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġorg nummer Ġ= Ġsy fo Service N ar me ste L eder . org nummer , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġut bet ales Lon n Ġ= Ġsy fo Service N ar me ste L eder . ag For sk utter er , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġle der Ġ= ĠL eder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn r Ġ= Ġle der Fn r , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmob il Ġ= Ġsy fo Service N ar me ste L eder . nl Tele fon nummer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe post Ġ= Ġsy fo Service N ar me ste L eder . nl E post , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor nav n Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet tern av n Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsy k meld t Ġ= ĠS yk meld t ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn r Ġ= Ġsy k meld t Fn r , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav n Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaktiv F om Ġ= ĠOffset DateTime . of ( sy fo Service N ar me ste L eder . aktiv F om . at Start OfDay (), ĠZone Offset . UTC ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaktiv Tom Ġ= Ġsy fo Service N ar me ste L eder . aktiv Tom ?. let Ġ{ ĠOffset DateTime . of ( sy fo Service N ar me ste L eder . aktiv Tom . at Start OfDay (), ĠZone Offset . UTC ) Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ