package Ġon ion soup . loan application Ċ Ċ import Ġarrow . fx . IO Ċ import Ġon ion soup . loan application . persistence . sql . public _. Tables Ċ import Ġon ion soup . loan application . persistence . sql . public _. Tables . LO AN _ APPLICATION _ SCORE Ċ import Ġon ion soup . loan application . persistence . sql . public _. Tables . LO AN _ APPLICATION _ STATE Ċ import Ġon ion soup . loan application . persistence . write Transaction Sync Ċ import Ġorg . jooq . Configuration Ċ Ċ object ĠJ oo q Persist Loan Application S cored Ġ{ ĊĊĠ Ġoperator Ġfun Ġinvoke ( configuration : ĠConfiguration ): ĠPers ist Loan Application S cored Ġ= Ġ{ Ġupdate Ġ-> ĊĠĠĠ Ġconfiguration . write Transaction Sync Ġ{ Ġd sl Ġ-> ĊĠĠĠĠĠ ĠIO Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcomments Ġ= Ġwhen Ġ( val Ġscore Ġ= Ġupdate . score ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġis ĠLo an Application Score . Red Ġ-> Ġscore . re asons . all . to Typed Array () ĊĠĠĠĠĠĠĠĠĠ Ġis ĠLo an Application Score . Green Ġ-> Ġempty Array () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġd sl . insert Into ( LO AN _ APPLICATION _ SCORE , ĊĠĠĠĠĠĠĠĠĠ ĠLO AN _ APPLICATION _ SCORE . LO AN _ APPLICATION _ ID , ĊĠĠĠĠĠĠĠĠĠ ĠLO AN _ APPLICATION _ SCORE . SCORE , ĊĠĠĠĠĠĠĠĠĠ ĠLO AN _ APPLICATION _ SCORE . COMMENTS ) ĊĠĠĠĠĠĠĠĠĠ Ġ. values ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate . aggregate Id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( update . score ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLo an Application Score . Red Ġ-> Ġ" red " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLo an Application Score . Green Ġ-> Ġ" green " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcomments ĊĠĠĠĠĠĠĠĠĠ Ġ). execute () ĊĠĠĠĠĠĠĠ Ġd sl . update ( LO AN _ APPLICATION _ STATE ) ĊĠĠĠĠĠĠĠĠĠ Ġ. set ( LO AN _ APPLICATION _ STATE . CHECK ED _ AT , Ġupdate . occ urred At . to LocalDateTime ()) ĊĠĠĠĠĠĠĠĠĠ Ġ. where ( LO AN _ APPLICATION _ STATE . LO AN _ APPLICATION _ ID . eq ( update . aggregate Id )) ĊĠĠĠĠĠĠĠĠĠ Ġ. execute () ĊĠĠĠĠĠĠĠ ĠUnit ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ