package Ġmb . lib . report . db Ċ Ċ import Ġio . v ulp ine . lib . query . util . basic . Basic Prepared Read Query Ċ import Ġmb . lib . model . Hash ID Ċ import Ġmb . lib . model . JobStatus Ċ import Ġmb . lib . report . model . User Report Row Ċ import Ġmb . lib . util . convert Report Config Ċ import Ġjava . sql . Connection Ċ import Ġjava . sql . PreparedStatement Ċ import Ġjava . sql . ResultSet Ċ import Ġjava . time . Offset DateTime Ċ import Ġjava . util .* Ċ Ċ data Ġclass ĠSelect User Report Row ( val Ġcon : ĠConnection , Ġval Ġreport ID : ĠHash ID , Ġval ĠuserID : ĠLong ) Ġ{ ĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġprivate Ġconst Ġval ĠQuery Ġ= ĊĠĠĠ Ġ""" ĊĠĠĠĠĠ ĠSELECT ĊĠĠĠĠĠĠĠ Ġa .* ĊĠĠĠĠĠ Ġ, Ġb . user _ id ĊĠĠĠĠĠ Ġ, Ġb . description ĊĠĠĠĠĠ ĠFROM ĊĠĠĠĠĠĠĠ Ġuser log ins 5 . mult ib last _ fmt _ jobs Ġa ĊĠĠĠĠĠĠĠ ĠINNER ĠJOIN Ġuser log ins 5 . mult ib last _ users _ to _ fmt _ jobs Ġb ĊĠĠĠĠĠĠĠĠĠ ĠON Ġa . report _ digest Ġ= Ġb . report _ digest ĊĠĠĠĠĠ ĠWHERE ĊĠĠĠĠĠĠĠ Ġa . report _ digest Ġ= Ġ? ĊĠĠĠĠĠĠĠ ĠAND Ġuser _ id Ġ= Ġ? ĊĠĠĠĠĠ Ġ""" ĊĠ Ġ} ĊĠ Ġfun Ġrun () Ġ= ĠBasic Prepared Read Query ( Query , Ġcon , Ġthis :: parse , Ġthis :: prepare ). execute (). value !! ĊĊĠ Ġfun Ġparse ( rs : ĠResultSet ): ĠOptional < User Report Row > Ġ{ ĊĠĠĠ Ġif Ġ(! rs . next ()) ĊĠĠĠĠĠ Ġreturn ĠOptional . empty () ĊĊĠĠĠ Ġreturn ĠOptional . of ( User Report Row ( ĊĠĠĠĠĠ Ġreport ID , ĊĠĠĠĠĠ ĠHash ID ( rs . getBytes ( Column . Format Job . Job ID )), ĊĠĠĠĠĠ ĠJob Status . unsafe FromString ( rs . getString ( Column . Format Job . Status )), ĊĠĠĠĠĠ Ġconvert Report Config ( rs . getString ( Column . Format Job . Config )), ĊĠĠĠĠĠ Ġrs . getInt ( Column . Format Job . Queue ID ), ĊĠĠĠĠĠ Ġrs . getObject ( Column . Format Job . Created On , ĠOffset DateTime :: class . java ), ĊĠĠĠĠĠ Ġrs . getLong ( Column . User Link . UserID ), ĊĠĠĠĠĠ Ġrs . getString ( Column . User Link . Description ) ĊĠĠĠ Ġ)) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġprepare ( ps : ĠPreparedStatement ) Ġ{ ĊĠĠĠ Ġps . set Bytes ( 1 , Ġreport ID . bytes ) ĊĠĠĠ Ġps . set Long ( 2 , ĠuserID ) ĊĠ Ġ} Ċ } Ċ