package Ġcom . prototype . exam . data . repository Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġcom . prototype . exam . data . api . Api Helper Ċ import Ġcom . prototype . exam . data . api . Error Manager Helper Impl Ċ import Ġcom . prototype . exam . data . api . Result Wrapper Ċ import Ġcom . prototype . exam . data . db . User Dao Ċ import Ġcom . prototype . exam . data . model . User Ċ import Ġcom . prototype . exam . data . model . Users Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . with Context Ċ import Ġretrofit 2 . Response Ċ import Ġjavax . inject . Inject ĊĊ Ċ class ĠUser Repository Impl Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġapi Helper : ĠApi Helper , ĊĠĠĠ Ġprivate Ġval Ġdao : ĠUser Dao Ċ ) Ġ: ĠUser Repository Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġadd Users ( list : ĠList < User >) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdao . add Users ( list ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Local Users (): ĠLive Data < List < User >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdao . get Users () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd User ( user : ĠUser ) Ġ{ ĊĠĠĠĠĠĠĠ ĠTODO (" Not Ġyet Ġimplemented ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetUser ( id : ĠInt ): ĠUser Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdao . getUser ( id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget Users (): ĠResult Wrapper < Users ?> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġerror Helper Ġ= ĠError Manager Helper Impl () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror Helper . data Call () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapi Helper . get Users (). body () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }