package Ġcom . y at ats u . expires memo . data Ċ Ċ import Ġcom . y at ats u . expires memo . model . Expire Ċ import Ġcom . y at ats u . expires memo . model . Expire Status Ċ import Ġcom . y at ats u . expires memo . model . Expires Repository Ċ import Ġio . reactivex . Back pressure Strategy . LATE ST Ċ import Ġio . reactivex . Flow able Ċ import Ġio . reactivex . Single Ċ import Ġio . realm . Realm Configuration Ċ Ċ class ĠRealm Expires Repository ( private Ġval Ġconfig : ĠRealm Configuration , Ġprivate Ġval Ġdate Provider : ĠDate Provider ) ĊĠ Ġ: ĠExp ires Repository Ġ{ ĊĊĠ Ġoverride Ġfun Ġalive Expires (): ĠFlow able < List < Expire >> Ġ{ ĊĠĠĠ Ġreturn ĠFlow able . create ({ Ġe Ġ-> ĊĠĠĠĠĠ Ġconfig . get Use Ġ{ Ġrealm Ġ-> ĊĠĠĠĠĠĠĠ Ġrealm . where ( Realm Expire :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. equalTo ( Realm Expire :: status Name . name , ĠExp ire Status . AL IVE . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. findAll () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . data () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . onNext ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . onComplete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}, ĠL ATE ST ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġsave Expire ( expire : ĠExp ire ): ĠSingle < Expire > Ġ{ ĊĠĠĠ Ġreturn ĠSingle . create Ġ{ Ġe Ġ-> ĊĠĠĠĠĠ Ġconfig . get Use Ġ{ Ġrealm Ġ-> ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= ĠRealm Expire . from Data ( expire , Ġdate Provider . now ()) ĊĠĠĠĠĠĠĠ Ġrealm . execute Transaction Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġit . copy To Realm OrUpdate ( entity ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġe . on Success ( entity . data ()) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġload Expire ( id : ĠString ): ĠFlow able < Expire ?> Ġ{ ĊĠĠĠ Ġreturn ĠFlow able . create ({ Ġe Ġ-> ĊĠĠĠĠĠ Ġconfig . get Use Ġ{ Ġrealm Ġ-> ĊĠĠĠĠĠĠĠ Ġrealm . where ( Realm Expire :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. equalTo ( Realm Expire :: id . name , Ġid ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. findFirst OrNull ()?. data () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . onNext ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . onComplete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}, ĠL ATE ST ) ĊĠ Ġ} Ċ Ċ }