package Ġdev . edu ay uso . cle ans ample s . shared . impl . source . remote Ċ Ċ import Ġdev . edu ay uso . cle ans ample s . shared . data . repository . I Remote Repository Ċ import Ġdev . edu ay uso . cle ans ample s . shared . domain . entities . Post Entity Ċ import Ġdev . edu ay uso . cle ans ample s . shared . domain . entities . Post ListResponse Ċ import Ġdev . edu ay uso . cle ans ample s . shared . domain . entities . User Entity Ċ import Ġdev . edu ay uso . cle ans ample s . shared . domain . entities . User ListResponse Ċ import Ġdev . edu ay uso . cle ans ample s . shared . impl . Data Constants Ċ import Ġdev . edu ay uso . cle ans ample s . shared . impl . source . remote . ktor . impl . ApiClient Ċ import Ġkotlinx . serialization . builtins . List Serializer Ċ import Ġorg . k oin . java . K oin Java Component . inject Ċ Ċ class ĠUsers Remote Repository : ĠI Remote Repository < String , ĠUser Entity > Ġ{ ĊĊĠĠĠ Ġval Ġapi Ġby Ġinject ( ApiClient :: class . java ) ĊĊĠĠĠ Ġprivate Ġvar Ġusers Url Ġ= ĠData Constants . Apis . Dummy Api . users ĊĠĠĠ Ġprivate Ġvar Ġposts Url Ġ= ĠData Constants . Apis . Dummy Api . posts ĊĠĠĠ Ġprivate Ġvar Ġlimit ĠĠĠ Ġ= Ġ" limit = 1 0 " ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGET Ġhttps :// dummy api . io / data / api / user / 0 F 8 JI qi 4 zw vb 7 7 FG z 6 Wt ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget ById ( id : ĠString ) Ġ= ĊĊĠĠĠĠĠĠĠ Ġapi . consume ("$ users Url /$ id "). get (). response ( User Entity . serializer ()) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGET Ġhttps :// dummy api . io / data / api / user ? limit = 1 0 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġsuspend Ġfun ĠgetAll (): ĠList < User Entity > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġ"$ users Url ?$ limit " ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= ĠUser ListResponse . serializer () ĊĊĠĠĠĠĠĠĠ Ġval Ġlist Wrapper Ġ= Ġapi . consume ( url ). get (). response ( type ) ĊĠĠĠĠĠĠĠ Ġreturn Ġlist Wrapper ?. data Ġ?: Ġempty List () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġinsert ( entity : ĠUser Entity ): ĠUser Entity ? Ġ{ ĊĠĠĠĠĠĠĠ ĠTODO (" Not Ġyet Ġimplemented ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġupdate ( entity : ĠUser Entity ): ĠUser Entity ? Ġ{ ĊĠĠĠĠĠĠĠ ĠTODO (" Not Ġyet Ġimplemented ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġdelete ( entity : ĠUser Entity ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ ĠTODO (" Not Ġyet Ġimplemented ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġhttps :// dummy api . io / data / api / user / 0 F 8 JI qi 4 zw vb 7 7 FG z 6 Wt / post ? limit = 1 0 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġsuspend Ġfun Ġget Posts ( id : ĠString ): ĠList < Post Entity > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġ"$ users Url /$ id /$ posts Url /" ĊĠĠĠĠĠĠĠ Ġvar Ġtype Ġ= ĠPost ListResponse . serializer () ĊĊĠĠĠĠĠĠĠ Ġval Ġlist Wrapper Ġ= Ġapi . consume ( url ). get (). response ( type ) ĊĠĠĠĠĠĠĠ Ġreturn Ġlist Wrapper ?. data Ġ?: Ġempty List () ĊĠĠĠ Ġ} Ċ }