package Ġorg . w ats i . device . db . models Ċ Ċ import Ġandroid . arch . persistence . room . Entity Ċ import Ġandroid . arch . persistence . room . Index Ċ import Ġandroid . arch . persistence . room . PrimaryKey Ċ import Ġorg . th reet en . bp . Clock Ċ import Ġorg . th reet en . bp . Instant Ċ import Ġorg . w ats i . domain . entities . Delta Ċ import Ġjava . util . UUID Ċ Ċ @ Entity ( ĊĠĠĠ ĠtableName Ġ= Ġ" delt as ", ĊĠĠĠ Ġindices Ġ= Ġ[ ĊĠĠĠĠĠĠĠ ĠIndex (" model Id ") ĊĠĠĠ Ġ] Ċ ) Ċ data Ġclass ĠDelta Model (@ PrimaryKey ( auto Generate Ġ= Ġtrue ) Ġval Ġid : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaction : ĠDelta . Action , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmodel Name : ĠDelta . ModelName , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmodel Id : ĠUUID , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfield : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsynced : ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠcreatedAt : ĠInstant , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠupdatedAt : ĠInstant ) Ġ{ ĊĊĠĠĠ Ġfun Ġto Delta (): ĠDelta Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠDelta ( id Ġ= Ġid , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction Ġ= Ġaction , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodel Name Ġ= Ġmodel Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodel Id Ġ= Ġmodel Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġfield , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsynced Ġ= Ġsynced ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġfrom Delta ( delta : ĠDelta , Ġclock : ĠClock Ġ= ĠClock . system UTC ()): ĠDelta Model Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnow Ġ= Ġclock . instant () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠDelta Model ( id Ġ= Ġdelta . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction Ġ= Ġdelta . action , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodel Name Ġ= Ġdelta . model Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodel Id Ġ= Ġdelta . model Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġdelta . field , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsynced Ġ= Ġdelta . sync ed , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠcreatedAt Ġ= Ġnow , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠupdatedAt Ġ= Ġnow ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ