package Ġcom . ba el . d ads . domain . home . inter actor Ċ Ċ import Ġcom . ba el . d ads . domain . common . mapper . Mapper Ċ import Ġcom . ba el . d ads . domain . common . response . Response Ċ import Ġcom . ba el . d ads . domain . common . response . Response . Success Ċ import Ġcom . ba el . d ads . domain . home . model . D ad Jo ke Ċ import Ġcom . ba el . d ads . domain . home . use case . Ob serve D ad Jo ke UseCase Ċ import Ġcom . ba el . d ads . lib . database . repository . D ads Repository Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġkotlinx . coroutines . flow . distinct Until Changed Ċ import Ġkotlinx . coroutines . flow . filter NotNull Ċ import Ġkotlinx . coroutines . flow . map Ċ import Ġjavax . inject . Inject Ċ import Ġcom . ba el . d ads . lib . database . entity . D ad Jo ke Ġas ĠD ad Jo ke DB Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠEr ick Sum argo Ġon Ġ 0 1 / 0 4 / 2 1 . Ċ Ġ*/ Ċ Ċ internal Ġclass ĠOb serve D ad Jo ke Interactor Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġrepository : ĠD ads Repository , ĊĠĠĠ Ġprivate Ġval Ġmapper : ĠMapper < D ad Jo ke DB , ĠD ad Jo ke > Ċ ) Ġ: ĠOb serve D ad Jo ke UseCase Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġinvoke ( dad Jo ke : ĠD ad Jo ke ): ĠFlow < Response < D ad Jo ke >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrepository ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe D ad Jo ke ( id Ġ= Ġd ad Jo ke . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter NotNull () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map ( mapper :: map ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. distinct Until Changed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map (:: Success ) ĊĠĠĠ Ġ} Ċ } Ċ