package Ġxyz . team gravity . post sk tor client . data . repository Ċ Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġkotlinx . coroutines . flow . flow Ċ import Ġxyz . team gravity . post sk tor client . common . Resource Ċ import Ġxyz . team gravity . post sk tor client . data . remote . Posts Api Ċ import Ġxyz . team gravity . post sk tor client . data . remote . dto . Post Dto Ċ import Ġxyz . team gravity . post sk tor client . data . remote . dto . to Post Ċ import Ġxyz . team gravity . post sk tor client . domain . model . Post Model Ċ import Ġxyz . team gravity . post sk tor client . domain . repository . Posts Repository Ċ Ċ class ĠPosts Repository Impl ( private Ġval Ġapi : ĠPosts Api ) Ġ: ĠPosts Repository Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Posts (): ĠFlow < Resource < List < Post Model >>> Ġ= Ġflow Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( Resource . Loading ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġposts Ġ= Ġapi . get Posts (). map Ġ{ Ġit . to Post () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( Resource . Success ( data Ġ= Ġposts )) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( Resource . Error ( message Ġ= Ġe . message Ġ?: Ġ" Error ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpost Post ( post : ĠPost Dto ): ĠFlow < Resource < Post Dto >> Ġ= Ġflow Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( Resource . Loading ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpost Result Ġ= Ġapi . post Post ( post ) !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( Resource . Success ( data Ġ= Ġpost Result )) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( Resource . Error ( e . message Ġ?: Ġ" Error ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }