package Ġcom . bit love . f et life . model . resource . post Ċ Ċ import Ġcom . bit love . f et life . model . db . F et Life Content Database Ċ import Ġcom . bit love . f et life . model . resource . Base Resource Ċ import Ġcom . bit love . f et life . model . resource . Resource Result Ċ import Ġorg . jetbrains . ank o . coroutines . experimental . bg Ċ Ċ abstract Ġclass ĠPost Resource < ResourceType >( val Ġresource : ĠResource Type , ĠuserId : ĠString ?) Ġ: ĠBase Resource < ResourceType >( userId ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġexecute () Ġ: ĠResource Result < ResourceType > Ġ{ ĊĠĠĠĠĠĠĠ Ġput In Background ( resource ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . execute () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġput In Background ( resource : ĠResource Type ) Ġ{ ĊĠĠĠĠĠĠĠ ĠgetContent Database Wrapper (). safe Run ( userId , Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Db Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsave To Db ( content Db , Ġresource ) ĊĠĠĠĠĠĠĠ Ġ}, false ) ĊĠĠĠĠĠĠĠ Ġbg Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( should Sync ( resource )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsync With Network ( resource ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun Ġsave To Db ( content Db : ĠF et Life Content Database , Ġresource : ĠResource Type ) ĊĊĠĠĠ Ġabstract Ġfun Ġshould Sync ( data : ĠResource Type ): ĠBoolean ĊĊĠĠĠ Ġabstract Ġfun Ġsync With Network ( data : ĠResource Type ) Ċ Ċ }