package Ġio . github . wy kop mob il ny . ui . fragments . link Ċ Ċ import Ġio . github . wy kop mob il ny . api . links . Links Api Ċ import Ġio . github . wy kop mob il ny . models . dataclass . Link Ċ import Ġio . reactivex . Single Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠLink Interactor Ġ@ Inject Ġconstructor ( val Ġlinks Api : ĠLinks Api ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠB UR Y _ REASON _ DUPLIC ATE Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠB UR Y _ REASON _ SP AM Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠB UR Y _ REASON _ FA KE _ INFO Ġ= Ġ 3 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠB UR Y _ REASON _ WRONG _ CONTENT Ġ= Ġ 4 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠB UR Y _ REASON _ UN SU IT ABLE _ CONTENT Ġ= Ġ 5 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdig Link ( link : ĠLink ): ĠSingle < Link > Ġ= ĊĠĠĠĠĠĠĠ Ġlinks Api . vote Up ( link . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink . vote Count Ġ= Ġit . dig gs ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink . bur y Count Ġ= Ġit . bur ies ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink . user Vote Ġ= Ġ" dig " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġb ury Link ( link : ĠLink , Ġreason : ĠInt ): ĠSingle < Link > Ġ= ĊĠĠĠĠĠĠĠ Ġlinks Api . vote Down ( link . id , Ġreason ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink . vote Count Ġ= Ġit . dig gs ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink . bur y Count Ġ= Ġit . bur ies ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink . user Vote Ġ= Ġ" bur y " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġremove Vote ( link : ĠLink ): ĠSingle < Link > Ġ= ĊĠĠĠĠĠĠĠ Ġlinks Api . vote Remove ( link . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink . vote Count Ġ= Ġit . dig gs ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink . bur y Count Ġ= Ġit . bur ies ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink . user Vote Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġmark Favorite ( link : ĠLink ): ĠSingle < Link > Ġ= ĊĠĠĠĠĠĠĠ Ġlinks Api . mark Favorite ( link . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink . user Favorite Ġ= Ġ! link . user Favorite ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ } Ċ