package Ġchat . rocket . core . internal . rest Ċ Ċ import Ġchat . rocket . common . model . Base Result Ċ import Ġchat . rocket . common . model . Room Type Ċ import Ġchat . rocket . common . model . User Ċ import Ġchat . rocket . core . Rocket Chat Client Ċ import Ġchat . rocket . core . internal . Rest Result Ċ import Ġchat . rocket . core . internal . model . Chat Room Anno uncement Payload Ċ import Ġchat . rocket . core . internal . model . Chat Room Description Payload Ċ import Ġchat . rocket . core . internal . model . Chat Room Favorite Payload Ċ import Ġchat . rocket . core . internal . model . Chat Room Invite Payload Ċ import Ġchat . rocket . core . internal . model . Chat Room Join Code Payload Ċ import Ġchat . rocket . core . internal . model . Chat Room Kick Payload Ċ import Ġchat . rocket . core . internal . model . Chat Room Name Payload Ċ import Ġchat . rocket . core . internal . model . Chat Room Payload Ċ import Ġchat . rocket . core . internal . model . Chat Room ReadOnly Payload Ċ import Ġchat . rocket . core . internal . model . Chat Room Topic Payload Ċ import Ġchat . rocket . core . internal . model . Chat Room Type Payload Ċ import Ġchat . rocket . core . internal . model . Chat Room Un read Payload Ċ import Ġchat . rocket . core . internal . model . Chat Room User Ignore Payload Ċ import Ġchat . rocket . core . internal . model . Room Id Payload Ċ import Ġchat . rocket . core . model . Chat Room Role Ċ import Ġchat . rocket . core . model . Message Ċ import Ġchat . rocket . core . model . Paged Result Ċ import Ġchat . rocket . core . model . Room Ċ import Ġchat . rocket . core . model . attachment . Generic Attachment Ċ import Ġcom . squareup . mos hi . Types Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . with Context Ċ import Ġokhttp 3 . RequestBody Ċ Ċ /** Ċ Ġ* ĠReturns Ġthe Ġchat Ġroom Ġmembers Ġlist . Ċ Ġ* Ċ Ġ* Ġ@ param Ġroom Id ĠThe Ġid Ġof Ġthe Ġroom . Ċ Ġ* Ġ@ param Ġroom Type ĠThe Ġtype Ġof Ġthe Ġroom . Ċ Ġ* Ġ@ param Ġoffset ĠThe Ġoffset Ġto Ġpaging Ġwhich Ġspecifies Ġthe Ġfirst Ġentry Ġto Ġreturn Ġfrom Ġa Ġcollection . Ċ Ġ* Ġ@ param Ġcount ĠThe Ġamount Ġof Ġitem Ġto Ġreturn Ġfrom Ġa Ġcollection . Ċ Ġ* Ċ Ġ* Ġ@ return ĠThe Ġlist Ġof Ġchat Ġroom Ġmembers . Ċ Ġ*/ Ċ suspend Ġfun ĠRocket Chat Client . get Members ( ĊĠĠĠ Ġroom Id : ĠString , ĊĠĠĠ Ġroom Type : ĠRoom Type , ĊĠĠĠ Ġoffset : ĠLong , ĊĠĠĠ Ġcount : ĠLong Ċ ): ĠP aged Result < List < User >> Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġval Ġhttp Url Ġ= Ġrequest Url ( rest Url , Ġget RestApi MethodName By Room Type ( room Type , Ġ" members ")) ĊĠĠĠĠĠĠĠ Ġ. add QueryParameter (" roomId ", Ġroom Id ) ĊĠĠĠĠĠĠĠ Ġ. add QueryParameter (" offset ", Ġoffset . toString ()) ĊĠĠĠĠĠĠĠ Ġ. add QueryParameter (" count ", Ġcount . toString ()) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder For Authenticated Methods ( http Url ). get (). build () ĊĊĠĠĠ Ġval Ġtype Ġ= ĠTypes . new Parameterized Type ( ĊĠĠĠĠĠĠĠ ĠRest Result :: class . java , ĊĠĠĠĠĠĠĠ ĠTypes . new Parameterized Type ( List :: class . java , ĠUser :: class . java ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval Ġresult Ġ= Ġhandle Rest Call < Rest Result < List < User >> >( request , Ġtype ) ĊĠĠĠ Ġreturn @ with Context ĠP aged Result < List < User >>( result . result (), Ġresult . total () Ġ?: Ġ 0 , Ġresult . offset () Ġ?: Ġ 0 ) Ċ } Ċ Ċ /** Ċ Ġ* ĠReturns Ġthe Ġchat Ġroom Ġmentions Ġlist . Ċ Ġ* Ċ Ġ* Ġ@ param Ġroom Id ĠThe Ġid Ġof Ġthe Ġroom . Ċ Ġ* Ġ@ param Ġoffset ĠThe Ġoffset Ġto Ġpaging Ġwhich Ġspecifies Ġthe Ġfirst Ġentry Ġto Ġreturn Ġfrom Ġa Ġcollection . Ċ Ġ* Ġ@ param Ġcount ĠThe Ġamount Ġof Ġitem Ġto Ġreturn Ġfrom Ġa Ġcollection . Ċ Ġ* Ċ Ġ* Ġ@ return ĠThe Ġlist Ġof Ġchat Ġroom Ġmembers . Ċ Ġ*/ Ċ suspend Ġfun ĠRocket Chat Client . getM ent ions ( ĊĠĠĠ Ġroom Id : ĠString , ĊĠĠĠ Ġoffset : ĠLong , ĊĠĠĠ Ġcount : ĠLong Ċ ): ĠP aged Result < List < Message >> Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġval Ġhttp Url Ġ= Ġrequest Url ( rest Url , Ġ" channels . getAll User Ment ions By Channel ") ĊĠĠĠĠĠĠĠ Ġ. add QueryParameter (" roomId ", Ġroom Id ) ĊĠĠĠĠĠĠĠ Ġ. add QueryParameter (" offset ", Ġoffset . toString ()) ĊĠĠĠĠĠĠĠ Ġ. add QueryParameter (" count ", Ġcount . toString ()) ĊĠĠĠĠĠĠĠ Ġ. add QueryParameter (" sort ", Ġ"{\" ts \": - 1 }") ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder For Authenticated Methods ( http Url ). get (). build () ĊĊĠĠĠ Ġval Ġtype Ġ= ĠTypes . new Parameterized Type ( ĊĠĠĠĠĠĠĠ ĠRest Result :: class . java , ĊĠĠĠĠĠĠĠ ĠTypes . new Parameterized Type ( List :: class . java , ĠMessage :: class . java ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval Ġresult Ġ= Ġhandle Rest Call < Rest Result < List < Message >> >( request , Ġtype ) ĊĠĠĠ Ġreturn @ with Context ĠP aged Result < List < Message >>( result . result (), Ġresult . total () Ġ?: Ġ 0 , Ġresult . offset () Ġ?: Ġ 0 ) Ċ } Ċ Ċ /** Ċ Ġ* ĠReturns Ġthe Ġlist Ġof Ġfavor ites Ġmessages Ġof Ġa Ġchat Ġroom . Ċ Ġ* Ċ Ġ* Ġ@ param Ġroom Id ĠThe ĠID Ġof Ġthe Ġroom . Ċ Ġ* Ġ@ param Ġroom Type ĠThe Ġtype Ġof Ġthe Ġroom . Ċ Ġ* Ġ@ param Ġoffset ĠThe Ġoffset Ġto Ġpaging Ġwhich Ġspecifies Ġthe Ġfirst Ġentry Ġto Ġreturn Ġfrom Ġa Ġcollection . Ċ Ġ* Ċ Ġ* Ġ@ return ĠThe Ġlist Ġof Ġfavor ites Ġmessages Ġof Ġa Ġchat Ġroom . Ċ Ġ*/ Ċ suspend Ġfun ĠRocket Chat Client . get Favorite Messages ( ĊĠĠĠ Ġroom Id : ĠString , ĊĠĠĠ Ġroom Type : ĠRoom Type , ĊĠĠĠ Ġoffset : ĠInt Ċ ): ĠP aged Result < List < Message >> Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġval ĠuserId Ġ= Ġtoken Repository . get ( url )?. userId ĊĊĠĠĠ Ġval Ġhttp Url Ġ= Ġrequest Url ( rest Url , Ġget RestApi MethodName By Room Type ( room Type , Ġ" messages ")) ĊĠĠĠĠĠĠĠ Ġ. add QueryParameter (" roomId ", Ġroom Id ) ĊĠĠĠĠĠĠĠ Ġ. add QueryParameter (" offset ", Ġoffset . toString ()) ĊĠĠĠĠĠĠĠ Ġ. add QueryParameter (" query ", Ġ"{\" star red ._ id \": { \"\ $ in \":[\" $ userId \"] }} ") ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder For Authenticated Methods ( http Url ). get (). build () ĊĊĠĠĠ Ġval Ġtype Ġ= ĠTypes . new Parameterized Type ( ĊĠĠĠĠĠĠĠ ĠRest Result :: class . java , ĊĠĠĠĠĠĠĠ ĠTypes . new Parameterized Type ( List :: class . java , ĠMessage :: class . java ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval Ġresult Ġ= Ġhandle Rest Call < Rest Result < List < Message >> >( request , Ġtype ) ĊĠĠĠ Ġreturn @ with Context ĠP aged Result < List < Message >>( result . result (), Ġresult . total () Ġ?: Ġ 0 , Ġresult . offset () Ġ?: Ġ 0 ) Ċ } Ċ Ċ /** Ċ Ġ* ĠReturns Ġthe Ġlist Ġof Ġpinned Ġmessages Ġof Ġa Ġchat Ġroom . Ċ Ġ* Ċ Ġ* Ġ@ param Ġroom Id ĠThe ĠID Ġof Ġthe Ġroom . Ċ Ġ* Ġ@ param Ġroom Type ĠThe Ġtype Ġof Ġthe Ġroom . Ċ Ġ* Ġ@ param Ġoffset ĠThe Ġoffset Ġto Ġpaging Ġwhich Ġspecifies Ġthe Ġfirst Ġentry Ġto Ġreturn Ġfrom Ġa Ġcollection . Ċ Ġ* Ġ@ return ĠThe Ġlist Ġof Ġpinned Ġmessages Ġof Ġa Ġchat Ġroom . Ċ Ġ*/ Ċ suspend Ġfun ĠRocket Chat Client . get Pin ned Messages ( ĊĠĠĠ Ġroom Id : ĠString , ĊĠĠĠ Ġroom Type : ĠRoom Type , ĊĠĠĠ Ġoffset : ĠInt ? Ġ= Ġ 0 Ċ ): ĠP aged Result < List < Message >> Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġval Ġhttp Url Ġ= Ġrequest Url ( ĊĠĠĠĠĠĠĠ Ġrest Url , ĊĠĠĠĠĠĠĠ Ġget RestApi MethodName By Room Type ( room Type , Ġ" messages ") ĊĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ. add QueryParameter (" roomId ", Ġroom Id ) ĊĠĠĠĠĠĠĠ Ġ. add QueryParameter (" offset ", Ġoffset . toString ()) ĊĠĠĠĠĠĠĠ Ġ. add QueryParameter (" query ", Ġ"{\" pinned \": true }") ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder For Authenticated Methods ( http Url ). get (). build () ĊĊĠĠĠ Ġval Ġtype Ġ= ĠTypes . new Parameterized Type ( ĊĠĠĠĠĠĠĠ ĠRest Result :: class . java , ĊĠĠĠĠĠĠĠ ĠTypes . new Parameterized Type ( List :: class . java , ĠMessage :: class . java ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval Ġresult Ġ= Ġhandle Rest Call < Rest Result < List < Message >> >( request , Ġtype ) ĊĠĠĠ Ġreturn @ with Context ĠP aged Result < List < Message >>( result . result (), Ġresult . total () Ġ?: Ġ 0 , Ġresult . offset () Ġ?: Ġ 0 ) Ċ } Ċ Ċ /** Ċ Ġ* ĠReturns Ġthe Ġlist Ġof Ġfiles Ġof Ġa Ġchat Ġroom . Ċ Ġ* Ċ Ġ* Ġ@ param Ġroom Id ĠThe ĠID Ġof Ġthe Ġroom . Ċ Ġ* Ġ@ param Ġroom Type ĠThe Ġtype Ġof Ġthe Ġroom . Ċ Ġ* Ġ@ param Ġoffset ĠThe Ġoffset Ġto Ġpaging Ġwhich Ġspecifies Ġthe Ġfirst Ġentry Ġto Ġreturn Ġfrom Ġa Ġcollection . Ċ Ġ* Ċ Ġ* Ġ@ return ĠThe Ġlist Ġof Ġfiles Ġof Ġa Ġchat Ġroom . Ċ Ġ*/ Ċ suspend Ġfun ĠRocket Chat Client . get Files ( ĊĠĠĠ Ġroom Id : ĠString , ĊĠĠĠ Ġroom Type : ĠRoom Type , ĊĠĠĠ Ġoffset : ĠInt ? Ġ= Ġ 0 Ċ ): ĠP aged Result < List < Generic Attachment >> Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġval Ġhttp Url Ġ= Ġrequest Url ( ĊĠĠĠĠĠĠĠ Ġrest Url , ĊĠĠĠĠĠĠĠ Ġget RestApi MethodName By Room Type ( room Type , Ġ" files ") ĊĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ. add QueryParameter (" roomId ", Ġroom Id ) ĊĠĠĠĠĠĠĠ Ġ. add QueryParameter (" offset ", Ġoffset . toString ()) ĊĠĠĠĠĠĠĠ Ġ. add QueryParameter (" sort ", Ġ"{\" uploaded At \": - 1 }") ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder For Authenticated Methods ( http Url ). get (). build () ĊĊĠĠĠ Ġval Ġtype Ġ= ĠTypes . new Parameterized Type ( ĊĠĠĠĠĠĠĠ ĠRest Result :: class . java , ĊĠĠĠĠĠĠĠ ĠTypes . new Parameterized Type ( List :: class . java , ĠGeneric Attachment :: class . java ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval Ġresult Ġ= Ġhandle Rest Call < Rest Result < List < Generic Attachment >> >( request , Ġtype ) ĊĠĠĠ Ġreturn @ with Context ĠP aged Result < List < Generic Attachment >>( result . result (), Ġresult . total () Ġ?: Ġ 0 , Ġresult . offset () Ġ?: Ġ 0 ) Ċ } Ċ Ċ /** Ċ Ġ* ĠReturns Ġthe Ġinformation Ġof Ġa Ġchat Ġroom Ċ Ġ* Ċ Ġ* Ġ@ param Ġroom Id ĠThe ĠID Ġof Ġthe Ġroom . Ċ Ġ* Ġ@ param Ġroom Name ĠThe Ġname Ġof Ġthe Ġroom . Ċ Ġ* Ġ@ param Ġroom Type ĠThe Ġtype Ġof Ġthe Ġroom . Ċ Ġ* Ċ Ġ* Ġ@ return ĠA Ġ[ Room ] Ġobject Ċ Ġ*/ Ċ suspend Ġfun ĠRocket Chat Client . getInfo ( ĊĠĠĠ Ġroom Id : ĠString , ĊĠĠĠ Ġroom Name : ĠString ?, ĊĠĠĠ Ġroom Type : ĠRoom Type Ċ ): ĠRoom Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġval Ġurl Ġ= Ġrequest Url ( rest Url , Ġget RestApi MethodName By Room Type ( room Type , Ġ" info ")) ĊĠĠĠĠĠĠĠ Ġ. add QueryParameter (" roomId ", Ġroom Id ) ĊĠĠĠĠĠĠĠ Ġ. add QueryParameter (" room Name ", Ġroom Name ) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder For Authenticated Methods ( url ). get (). build () ĊĊĠĠĠ Ġval Ġtype Ġ= ĠTypes . new Parameterized Type ( Rest Result :: class . java , ĠRoom :: class . java ) ĊĠĠĠ Ġreturn @ with Context Ġhandle Rest Call < Rest Result < Room >>( request , Ġtype ). result () Ċ } Ċ Ċ /** Ċ Ġ* ĠMark s Ġa Ġroom Ġas Ġread . Ċ Ġ* Ċ Ġ* Ġ@ param Ġroom Id ĠThe ĠID Ġof Ġthe Ġroom . Ċ Ġ*/ Ċ suspend Ġfun ĠRocket Chat Client . mark As Read ( roomId : ĠString ) Ġ{ ĊĠĠĠ Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpayload Ġ= ĠChat Room Payload ( roomId ) ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= Ġm oshi . adapter ( Chat Room Payload :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġpayload Body Ġ= Ġadapter . toJson ( payload ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbody Ġ= ĠRequest Body . create ( MEDIA _ TYPE _ JSON , Ġpayload Body ) ĊĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġrequest Url ( rest Url , Ġ" subscriptions . read "). build () ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder For Authenticated Methods ( url ). post ( body ). build () ĊĊĠĠĠĠĠĠĠ Ġhandle Rest Call < Any >( request , ĠAny :: class . java ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠMark s Ġa Ġroom Ġas Ġunread . Ċ Ġ* Ċ Ġ* Ġ@ param Ġroom Id ĠThe ĠID Ġof Ġthe Ġroom . Ċ Ġ*/ Ċ suspend Ġfun ĠRocket Chat Client . mark As Un read ( roomId : ĠString ) Ġ{ ĊĠĠĠ Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpayload Ġ= ĠChat Room Un read Payload ( roomId ) ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= Ġm oshi . adapter ( Chat Room Un read Payload :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġpayload Body Ġ= Ġadapter . toJson ( payload ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbody Ġ= ĠRequest Body . create ( MEDIA _ TYPE _ JSON , Ġpayload Body ) ĊĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġrequest Url ( rest Url , Ġ" subscriptions . unread "). build () ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder For Authenticated Methods ( url ). post ( body ). build () ĊĊĠĠĠĠĠĠĠ Ġhandle Rest Call < Any >( request , ĠAny :: class . java ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠTODO : ĠAdd Ġdoc . Ċ suspend Ġfun ĠRocket Chat Client . join Chat ( roomId : ĠString ): ĠBoolean Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġval Ġpayload Ġ= ĠRoom Id Payload ( roomId ) ĊĠĠĠ Ġval Ġadapter Ġ= Ġm oshi . adapter ( Room Id Payload :: class . java ) ĊĠĠĠ Ġval Ġpayload Body Ġ= Ġadapter . toJson ( payload ) ĊĊĠĠĠ Ġval Ġbody Ġ= ĠRequest Body . create ( MEDIA _ TYPE _ JSON , Ġpayload Body ) ĊĊĠĠĠ Ġval Ġurl Ġ= Ġrequest Url ( rest Url , Ġ" channels . join "). build () ĊĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder For Authenticated Methods ( url ). post ( body ). build () ĊĊĠĠĠ Ġreturn @ with Context Ġhandle Rest Call < Base Result >( request , ĠBase Result :: class . java ). success Ċ } Ċ Ċ /** Ċ Ġ* ĠAdds Ġa Ġuser Ġto Ġthe Ġchat Ġroom . Ċ Ġ* Ċ Ġ* Ġ@ param Ġroom Id ĠThe Ġroom Ġid . Ċ Ġ* Ġ@ param Ġroom Type ĠThe Ġroom Ġtype . Ċ Ġ* Ġ@ param ĠuserId ĠThe Ġuser Ġid . Ċ Ġ*/ Ċ suspend Ġfun ĠRocket Chat Client . invite ( ĊĠĠĠ Ġroom Id : ĠString , ĊĠĠĠ Ġroom Type : ĠRoom Type , ĊĠĠĠ ĠuserId : ĠString Ċ ): ĠBoolean Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġval Ġpayload Ġ= ĠChat Room Invite Payload ( roomId , ĠuserId ) ĊĠĠĠ Ġval Ġadapter Ġ= Ġm oshi . adapter ( Chat Room Invite Payload :: class . java ) ĊĠĠĠ Ġval Ġpayload Body Ġ= Ġadapter . toJson ( payload ) ĊĊĠĠĠ Ġval Ġbody Ġ= ĠRequest Body . create ( MEDIA _ TYPE _ JSON , Ġpayload Body ) ĊĊĠĠĠ Ġval Ġurl Ġ= Ġrequest Url ( rest Url , Ġget RestApi MethodName By Room Type ( room Type , Ġ" invite ")). build () ĊĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder For Authenticated Methods ( url ). post ( body ). build () ĊĊĠĠĠ Ġreturn @ with Context Ġhandle Rest Call < Base Result >( request , ĠBase Result :: class . java ). success Ċ } Ċ Ċ /** Ċ Ġ* ĠRemoves Ġa Ġuser Ġfrom Ġthe Ġchat Ġroom . Ċ Ġ* Ċ Ġ* Ġ@ param Ġroom Id ĠThe Ġroom Ġid . Ċ Ġ* Ġ@ param Ġroom Type ĠThe Ġroom Ġtype . Ċ Ġ* Ġ@ param ĠuserId ĠThe Ġuser Ġid . Ċ Ġ*/ Ċ suspend Ġfun ĠRocket Chat Client . kick ( ĊĠĠĠ Ġroom Id : ĠString , ĊĠĠĠ Ġroom Type : ĠRoom Type , ĊĠĠĠ ĠuserId : ĠString Ċ ): ĠBoolean Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġval Ġpayload Ġ= ĠChat Room Kick Payload ( roomId , ĠuserId ) ĊĠĠĠ Ġval Ġadapter Ġ= Ġm oshi . adapter ( Chat Room Kick Payload :: class . java ) ĊĠĠĠ Ġval Ġpayload Body Ġ= Ġadapter . toJson ( payload ) ĊĊĠĠĠ Ġval Ġbody Ġ= ĠRequest Body . create ( MEDIA _ TYPE _ JSON , Ġpayload Body ) ĊĊĠĠĠ Ġval Ġurl Ġ= Ġrequest Url ( rest Url , Ġget RestApi MethodName By Room Type ( room Type , Ġ" kick ")). build () ĊĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder For Authenticated Methods ( url ). post ( body ). build () ĊĊĠĠĠ Ġreturn @ with Context Ġhandle Rest Call < Base Result >( request , ĠBase Result :: class . java ). success Ċ } Ċ Ċ /** Ċ Ġ* ĠLe aves Ġa Ġchat Ġroom . Ċ Ġ* Ċ Ġ* Ġ@ param Ġroom Id ĠThe Ġroom Ġid . Ċ Ġ* Ġ@ param Ġroom Type ĠThe Ġroom Ġtype . Ċ Ġ*/ Ċ suspend Ġfun ĠRocket Chat Client . leave Chat ( ĊĠĠĠ Ġroom Id : ĠString , ĊĠĠĠ Ġroom Type : ĠRoom Type Ċ ): ĠBoolean Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġval Ġpayload Ġ= ĠRoom Id Payload ( roomId ) ĊĠĠĠ Ġval Ġadapter Ġ= Ġm oshi . adapter ( Room Id Payload :: class . java ) ĊĠĠĠ Ġval Ġpayload Body Ġ= Ġadapter . toJson ( payload ) ĊĊĠĠĠ Ġval Ġbody Ġ= ĠRequest Body . create ( MEDIA _ TYPE _ JSON , Ġpayload Body ) ĊĊĠĠĠ Ġval Ġurl Ġ= Ġrequest Url ( rest Url , Ġget RestApi MethodName By Room Type ( room Type , Ġ" leave ")). build () ĊĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder For Authenticated Methods ( url ). post ( body ). build () ĊĊĠĠĠ Ġreturn @ with Context Ġhandle Rest Call < Base Result >( request , ĠBase Result :: class . java ). success Ċ } Ċ Ċ /** Ċ Ġ* ĠRename s Ġa Ġchat Ġroom Ċ Ġ* Ċ Ġ* Ġ@ param Ġroom Id ĠThe Ġroom Ġid . Ċ Ġ* Ġ@ param Ġroom Type ĠThe Ġroom Ġtype . Ċ Ġ* Ġ@ param ĠnewName ĠThe Ġnew Ġname Ġof Ġthe Ġroom . Ċ Ġ*/ Ċ suspend Ġfun ĠRocket Chat Client . rename ( ĊĠĠĠ Ġroom Id : ĠString , ĊĠĠĠ Ġroom Type : ĠRoom Type , ĊĠĠĠ ĠnewName : ĠString Ċ ): ĠBoolean Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġval Ġpayload Ġ= ĠChat Room Name Payload ( roomId , ĠnewName ) ĊĠĠĠ Ġval Ġadapter Ġ= Ġm oshi . adapter ( Chat Room Name Payload :: class . java ) ĊĠĠĠ Ġval Ġpayload Body Ġ= Ġadapter . toJson ( payload ) ĊĊĠĠĠ Ġval Ġbody Ġ= ĠRequest Body . create ( MEDIA _ TYPE _ JSON , Ġpayload Body ) ĊĊĠĠĠ Ġval Ġurl Ġ= Ġrequest Url ( rest Url , Ġget RestApi MethodName By Room Type ( room Type , Ġ" rename ")). build () ĊĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder For Authenticated Methods ( url ). post ( body ). build () ĊĊĠĠĠ Ġreturn @ with Context Ġhandle Rest Call < Base Result >( request , ĠBase Result :: class . java ). success Ċ } Ċ Ċ /** Ċ Ġ* ĠSets Ġthe Ġchat Ġroom Ġto Ġcollabor ative Ġor Ġread - only . Ċ Ġ* Ċ Ġ* Ġ@ param Ġroom Id ĠThe Ġroom Ġid . Ċ Ġ* Ġ@ param Ġroom Type ĠThe Ġroom Ġtype . Ċ Ġ* Ġ@ param ĠreadOnly ĠTrue Ġif Ġthe Ġchat Ġroom Ġis Ġread - only , Ġfalse Ġotherwise . Ċ Ġ*/ Ċ suspend Ġfun ĠRocket Chat Client . set ReadOnly ( ĊĠĠĠ Ġroom Id : ĠString , ĊĠĠĠ Ġroom Type : ĠRoom Type , ĊĠĠĠ ĠreadOnly : ĠBoolean Ċ ) Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġval Ġpayload Ġ= ĠChat Room ReadOnly Payload ( roomId , ĠreadOnly ) ĊĠĠĠ Ġval Ġadapter Ġ= Ġm oshi . adapter ( Chat Room ReadOnly Payload :: class . java ) ĊĠĠĠ Ġval Ġpayload Body Ġ= Ġadapter . toJson ( payload ) ĊĊĠĠĠ Ġval Ġbody Ġ= ĠRequest Body . create ( MEDIA _ TYPE _ JSON , Ġpayload Body ) ĊĊĠĠĠ Ġval Ġurl Ġ= Ġrequest Url ( rest Url , Ġget RestApi MethodName By Room Type ( room Type , Ġ" set ReadOnly ")). build () ĊĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder For Authenticated Methods ( url ). post ( body ). build () ĊĊĠĠĠ Ġreturn @ with Context Ġhandle Rest Call < Base Result >( request , ĠBase Result :: class . java ). success Ċ } Ċ Ċ /** Ċ Ġ* ĠSets Ġthe Ġtype Ġof Ġthe Ġroom . Ċ Ġ* Ċ Ġ* Ġ@ param Ġroom Id ĠThe Ġroom Ġid . Ċ Ġ* Ġ@ param Ġroom Type ĠThe Ġroom Ġtype . Ċ Ġ* Ġ@ param Ġtype ĠThe Ġnew Ġtype Ġof Ġthe Ġroom . Ċ Ġ*/ Ċ suspend Ġfun ĠRocket Chat Client . setType ( ĊĠĠĠ Ġroom Id : ĠString , ĊĠĠĠ Ġroom Type : ĠRoom Type , ĊĠĠĠ Ġtype : ĠString Ċ ) Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġval Ġpayload Ġ= ĠChat Room Type Payload ( roomId , Ġtype ) ĊĠĠĠ Ġval Ġadapter Ġ= Ġm oshi . adapter ( Chat Room Type Payload :: class . java ) ĊĠĠĠ Ġval Ġpayload Body Ġ= Ġadapter . toJson ( payload ) ĊĊĠĠĠ Ġval Ġbody Ġ= ĠRequest Body . create ( MEDIA _ TYPE _ JSON , Ġpayload Body ) ĊĊĠĠĠ Ġval Ġurl Ġ= Ġrequest Url ( rest Url , Ġget RestApi MethodName By Room Type ( room Type , Ġ" setType ")). build () ĊĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder For Authenticated Methods ( url ). post ( body ). build () ĊĊĠĠĠ Ġreturn @ with Context Ġhandle Rest Call < Base Result >( request , ĠBase Result :: class . java ). success Ċ } Ċ Ċ /** Ċ Ġ* ĠSets Ġthe Ġjoin Ġcode Ġfor Ġa Ġchat Ġroom . Ċ Ġ* Ċ Ġ* Ġ@ param Ġroom Id ĠThe Ġroom Ġid . Ċ Ġ* Ġ@ param Ġroom Type ĠThe Ġroom Ġtype . Ċ Ġ* Ġ@ param Ġjoin Code ĠThe Ġnew Ġjoin Ġcode Ġof Ġthe Ġroom . Ċ Ġ*/ Ċ suspend Ġfun ĠRocket Chat Client . set Join Code ( ĊĠĠĠ Ġroom Id : ĠString , ĊĠĠĠ Ġroom Type : ĠRoom Type , ĊĠĠĠ Ġjoin Code : ĠString Ċ ) Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġval Ġpayload Ġ= ĠChat Room Join Code Payload ( roomId , Ġjoin Code ) ĊĠĠĠ Ġval Ġadapter Ġ= Ġm oshi . adapter ( Chat Room Join Code Payload :: class . java ) ĊĠĠĠ Ġval Ġpayload Body Ġ= Ġadapter . toJson ( payload ) ĊĊĠĠĠ Ġval Ġbody Ġ= ĠRequest Body . create ( MEDIA _ TYPE _ JSON , Ġpayload Body ) ĊĊĠĠĠ Ġval Ġurl Ġ= Ġrequest Url ( rest Url , Ġget RestApi MethodName By Room Type ( room Type , Ġ" set Join Code ")). build () ĊĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder For Authenticated Methods ( url ). post ( body ). build () ĊĊĠĠĠ Ġreturn @ with Context Ġhandle Rest Call < Base Result >( request , ĠBase Result :: class . java ). success Ċ } Ċ Ċ /** Ċ Ġ* ĠSets Ġa Ġnew Ġtopic Ġfor Ġa Ġchat Ġroom . Ċ Ġ* Ċ Ġ* Ġ@ param Ġroom Id ĠThe Ġroom Ġid . Ċ Ġ* Ġ@ param Ġroom Type ĠThe Ġroom Ġtype . Ċ Ġ* Ġ@ param Ġtopic ĠThe Ġnew Ġtopic Ġof Ġthe Ġroom . Ċ Ġ*/ Ċ suspend Ġfun ĠRocket Chat Client . set Topic ( ĊĠĠĠ Ġroom Id : ĠString , ĊĠĠĠ Ġroom Type : ĠRoom Type , ĊĠĠĠ Ġtopic : ĠString ? Ċ ): ĠBoolean Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġval Ġpayload Ġ= ĠChat Room Topic Payload ( roomId , Ġtopic ) ĊĠĠĠ Ġval Ġadapter Ġ= Ġm oshi . adapter ( Chat Room Topic Payload :: class . java ) ĊĠĠĠ Ġval Ġpayload Body Ġ= Ġadapter . toJson ( payload ) ĊĊĠĠĠ Ġval Ġbody Ġ= ĠRequest Body . create ( MEDIA _ TYPE _ JSON , Ġpayload Body ) ĊĊĠĠĠ Ġval Ġurl Ġ= Ġrequest Url ( rest Url , Ġget RestApi MethodName By Room Type ( room Type , Ġ" set Topic ")). build () ĊĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder For Authenticated Methods ( url ). post ( body ). build () ĊĊĠĠĠ Ġreturn @ with Context Ġhandle Rest Call < Base Result >( request , ĠBase Result :: class . java ). success Ċ } Ċ Ċ /** Ċ Ġ* ĠSets Ġa Ġdescription Ġfor Ġa Ġchat Ġroom Ċ Ġ* Ċ Ġ* Ġ@ param Ġroom Id ĠThe Ġroom Ġid . Ċ Ġ* Ġ@ param Ġroom Type ĠThe Ġroom Ġtype . Ċ Ġ* Ġ@ param Ġdescription ĠThe Ġnew Ġdescription Ġof Ġthe Ġroom . Ċ Ġ*/ Ċ suspend Ġfun ĠRocket Chat Client . setDescription ( ĊĠĠĠ Ġroom Id : ĠString , ĊĠĠĠ Ġroom Type : ĠRoom Type , ĊĠĠĠ Ġdescription : ĠString ? Ċ ): ĠBoolean Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġval Ġpayload Ġ= ĠChat Room Description Payload ( roomId , Ġdescription ) ĊĠĠĠ Ġval Ġadapter Ġ= Ġm oshi . adapter ( Chat Room Description Payload :: class . java ) ĊĠĠĠ Ġval Ġpayload Body Ġ= Ġadapter . toJson ( payload ) ĊĊĠĠĠ Ġval Ġbody Ġ= ĠRequest Body . create ( MEDIA _ TYPE _ JSON , Ġpayload Body ) ĊĊĠĠĠ Ġval Ġurl Ġ= Ġrequest Url ( rest Url , Ġget RestApi MethodName By Room Type ( room Type , Ġ" setDescription ")). build () ĊĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder For Authenticated Methods ( url ). post ( body ). build () ĊĊĠĠĠ Ġreturn @ with Context Ġhandle Rest Call < Base Result >( request , ĠBase Result :: class . java ). success Ċ } Ċ Ċ /** Ċ Ġ* ĠSets Ġan Ġanno uncement Ġfor Ġa Ġchat Ġroom . Ċ Ġ* Ċ Ġ* Ġ@ param Ġroom Id ĠThe Ġroom Ġid . Ċ Ġ* Ġ@ param Ġroom Type ĠThe Ġroom Ġtype . Ċ Ġ* Ġ@ param Ġanno uncement ĠThe Ġnew Ġanno uncement Ġof Ġthe Ġroom . Ċ Ġ*/ Ċ suspend Ġfun ĠRocket Chat Client . set Anno uncement ( ĊĠĠĠ Ġroom Id : ĠString , ĊĠĠĠ Ġroom Type : ĠRoom Type , ĊĠĠĠ Ġanno uncement : ĠString ? Ċ ): ĠBoolean Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġval Ġpayload Ġ= ĠChat Room Anno uncement Payload ( roomId , Ġanno uncement ) ĊĠĠĠ Ġval Ġadapter Ġ= Ġm oshi . adapter ( Chat Room Anno uncement Payload :: class . java ) ĊĠĠĠ Ġval Ġpayload Body Ġ= Ġadapter . toJson ( payload ) ĊĊĠĠĠ Ġval Ġbody Ġ= ĠRequest Body . create ( MEDIA _ TYPE _ JSON , Ġpayload Body ) ĊĊĠĠĠ Ġval Ġurl Ġ= Ġrequest Url ( rest Url , Ġget RestApi MethodName By Room Type ( room Type , Ġ" set Anno uncement ")). build () ĊĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder For Authenticated Methods ( url ). post ( body ). build () ĊĊĠĠĠ Ġreturn @ with Context Ġhandle Rest Call < Base Result >( request , ĠBase Result :: class . java ). success Ċ } Ċ Ċ /** Ċ Ġ* ĠArch ives Ġa Ġchat Ġroom . Ċ Ġ* Ċ Ġ* Ġ@ param Ġroom Id ĠThe Ġroom Ġid . Ċ Ġ* Ġ@ param Ġroom Type ĠThe Ġroom Ġtype . Ċ Ġ* Ġ@ param Ġarchive Room ĠThe Ġarchived Ġstatus Ġof Ġthe Ġroom . Ċ Ġ*/ Ċ suspend Ġfun ĠRocket Chat Client . archive ( ĊĠĠĠ Ġroom Id : ĠString , ĊĠĠĠ Ġroom Type : ĠRoom Type , ĊĠĠĠ Ġarchive Room : ĠBoolean Ċ ) Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġval Ġpayload Ġ= ĠRoom Id Payload ( roomId ) ĊĠĠĠ Ġval Ġadapter Ġ= Ġm oshi . adapter ( Room Id Payload :: class . java ) ĊĠĠĠ Ġval Ġpayload Body Ġ= Ġadapter . toJson ( payload ) ĊĊĠĠĠ Ġval Ġbody Ġ= ĠRequest Body . create ( MEDIA _ TYPE _ JSON , Ġpayload Body ) ĊĊĠĠĠ Ġval Ġmethod : ĠString Ġ= Ġif Ġ( archive Room ) Ġ" archive " Ġelse Ġ" un archive " ĊĠĠĠ Ġval Ġurl Ġ= Ġrequest Url ( rest Url , Ġget RestApi MethodName By Room Type ( room Type , Ġmethod )). build () ĊĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder For Authenticated Methods ( url ). post ( body ). build () ĊĊĠĠĠ Ġreturn @ with Context Ġhandle Rest Call < Base Result >( request , ĠBase Result :: class . java ). success Ċ } Ċ Ċ /** Ċ Ġ* ĠShows Ġor Ġhide s Ġa Ġchat Ġroom . Ċ Ġ* Ċ Ġ* Ġ@ param Ġroom Id ĠThe Ġroom Ġid . Ċ Ġ* Ġ@ param Ġroom Type ĠThe Ġroom Ġtype . Ċ Ġ* Ġ@ param Ġhide Room ĠThe Ġhidden Ġstatus Ġof Ġthe Ġroom Ġ( default : Ġtrue ). Ċ Ġ*/ Ċ suspend Ġfun ĠRocket Chat Client . hide ( ĊĠĠĠ Ġroom Id : ĠString , ĊĠĠĠ Ġroom Type : ĠRoom Type , ĊĠĠĠ Ġhide Room : ĠBoolean Ġ= Ġtrue Ċ ) Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġval Ġpayload Ġ= ĠRoom Id Payload ( roomId ) ĊĠĠĠ Ġval Ġadapter Ġ= Ġm oshi . adapter ( Room Id Payload :: class . java ) ĊĠĠĠ Ġval Ġpayload Body Ġ= Ġadapter . toJson ( payload ) ĊĊĠĠĠ Ġval Ġbody Ġ= ĠRequest Body . create ( MEDIA _ TYPE _ JSON , Ġpayload Body ) ĊĊĠĠĠ Ġval Ġmethod : ĠString Ġ= Ġif Ġ( hide Room ) Ġ" close " Ġelse Ġ" open " ĊĠĠĠ Ġval Ġurl Ġ= Ġrequest Url ( rest Url , Ġget RestApi MethodName By Room Type ( room Type , Ġmethod )). build () ĊĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder For Authenticated Methods ( url ). post ( body ). build () ĊĊĠĠĠ Ġreturn @ with Context Ġhandle Rest Call < Base Result >( request , ĠBase Result :: class . java ). success Ċ } Ċ Ċ /** Ċ Ġ* ĠShows Ġa Ġchat Ġroom . Ċ Ġ* Ċ Ġ* Ġ@ param Ġroom Id ĠThe Ġroom Ġid . Ċ Ġ* Ġ@ param Ġroom Type ĠThe Ġroom Ġtype . Ċ Ġ*/ Ċ suspend Ġfun ĠRocket Chat Client . show ( ĊĠĠĠ Ġroom Id : ĠString , ĊĠĠĠ Ġroom Type : ĠRoom Type Ċ ): ĠBoolean Ġ= Ġhide ( roomId , Ġroom Type , Ġfalse ) Ċ Ċ /** Ċ Ġ* ĠF avorites Ġor Ġun favorites Ġa Ġchat Ġroom . Ċ Ġ* Ċ Ġ* Ġ@ param Ġroom Id ĠThe Ġroom Ġid . Ċ Ġ* Ġ@ param Ġfavorite ĠThe Ġvalue Ġto Ġfavorite ( true )/ un favorite ( false ) Ġthe Ġchat Ġroom . Ċ Ġ*/ Ċ suspend Ġfun ĠRocket Chat Client . favorite ( ĊĠĠĠ Ġroom Id : ĠString , ĊĠĠĠ Ġfavorite : ĠBoolean Ċ ) Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġval Ġpayload Ġ= ĠChat Room Favorite Payload ( roomId , Ġfavorite ) ĊĠĠĠ Ġval Ġadapter Ġ= Ġm oshi . adapter ( Chat Room Favorite Payload :: class . java ) ĊĠĠĠ Ġval Ġpayload Body Ġ= Ġadapter . toJson ( payload ) ĊĠĠĠ Ġval Ġbody Ġ= ĠRequest Body . create ( MEDIA _ TYPE _ JSON , Ġpayload Body ) ĊĊĠĠĠ Ġval Ġurl Ġ= Ġrequest Url ( rest Url , Ġ" rooms . favorite "). build () ĊĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder For Authenticated Methods ( url ). post ( body ). build () ĊĊĠĠĠ Ġreturn @ with Context Ġhandle Rest Call < Base Result >( request , ĠBase Result :: class . java ). success Ċ } Ċ Ċ /** Ċ Ġ* ĠSearch Ġfor Ġmessages Ġin Ġa Ġchannel Ġby Ġid Ġand Ġtext Ġmessage . Ċ Ġ* Ċ Ġ* Ġ@ param Ġroom Id ĠThe Ġroom Ġid . Ċ Ġ* Ġ@ param Ġsearch Text ĠThe Ġtext Ġmessage Ġto Ġsearch Ġin Ġmessages . Ċ Ġ* Ġ@ return ĠThe Ġlist Ġof Ġmessages Ġthat Ġsatisfy Ġthe Ġ[ search Text ] Ġterm . Ċ Ġ*/ Ċ suspend Ġfun ĠRocket Chat Client . search Messages ( ĊĠĠĠ Ġroom Id : ĠString , ĊĠĠĠ Ġsearch Text : ĠString Ċ ): ĠP aged Result < List < Message >> Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġval Ġhttp Url Ġ= Ġrequest Url ( rest Url , Ġ" chat . search ") ĊĠĠĠĠĠĠĠ Ġ. add QueryParameter (" roomId ", Ġroom Id ) ĊĠĠĠĠĠĠĠ Ġ. add QueryParameter (" search Text ", Ġsearch Text ) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder For Authenticated Methods ( http Url ). get (). build () ĊĊĠĠĠ Ġval Ġtype Ġ= ĠTypes . new Parameterized Type ( ĊĠĠĠĠĠĠĠ ĠRest Result :: class . java , ĊĠĠĠĠĠĠĠ ĠTypes . new Parameterized Type ( List :: class . java , ĠMessage :: class . java ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval Ġresult Ġ= Ġhandle Rest Call < Rest Result < List < Message >> >( request , Ġtype ) ĊĠĠĠ Ġreturn @ with Context ĠP aged Result < List < Message >>( result . result (), Ġresult . total () Ġ?: Ġ 0 , Ġresult . offset () Ġ?: Ġ 0 ) Ċ } Ċ Ċ /** Ċ Ġ* ĠReturn Ġa Ġlist Ġof Ġusers Ġin Ġa Ġchannel Ġ[ room Name ] Ġthat Ġhave Ġroles Ġother Ġthan Ġ' user ' Ġon Ġit . Ċ Ġ* Ċ Ġ* Ġ@ param Ġroom Type ĠType Ġof Ġthe Ġroom Ġ( DIRECT , ĠGROUP , ĠCHAN NEL , Ġetc ) Ċ Ġ* Ġ@ param Ġroom Name ĠName Ġof Ġthe Ġroom Ġto Ġquery Ġuser 's Ġroles . Ċ Ġ* Ċ Ġ* Ġ@ return ĠList Ġof Ġ[ Chat Room Role ] Ġobjects . Ċ Ġ*/ Ċ suspend Ġfun ĠRocket Chat Client . chat Room Roles ( ĊĠĠĠ Ġroom Type : ĠRoom Type , ĊĠĠĠ Ġroom Name : ĠString Ċ ): ĠList < Chat Room Role > Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĊĠĠĠ Ġval Ġhttp Url Ġ= Ġrequest Url ( rest Url , Ġget RestApi MethodName By Room Type ( room Type , Ġ" roles ")) ĊĠĠĠĠĠĠĠ Ġ. add QueryParameter (" room Name ", Ġroom Name ) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder For Authenticated Methods ( http Url ). get (). build () ĊĊĠĠĠ Ġval Ġtype Ġ= ĠTypes . new Parameterized Type ( ĊĠĠĠĠĠĠĠ ĠRest Result :: class . java , ĊĠĠĠĠĠĠĠ ĠTypes . new Parameterized Type ( List :: class . java , ĠChat Room Role :: class . java ) ĊĠĠĠ Ġ) ĊĠĠĠ Ġreturn @ with Context Ġhandle Rest Call < Rest Result < List < Chat Room Role >> >( request , Ġtype ). result () Ċ } Ċ Ċ /** Ċ Ġ* ĠI g no res Ġan Ġ Ġuser . Ċ Ġ* Ċ Ġ* Ġ@ param Ġroom Id ĠThe Ġroom Ġid . Ċ Ġ* Ġ@ param ĠuserId ĠThe Ġuser Ġid . Ċ Ġ* Ġ@ param Ġignore ĠTrue Ġto Ġignore Ġthe Ġuser , Ġfalse Ġotherwise . Ċ Ġ*/ Ċ suspend Ġfun ĠRocket Chat Client . ignore User ( ĊĠĠĠ Ġroom Id : ĠString , ĊĠĠĠ ĠuserId : ĠString , ĊĠĠĠ Ġignore : ĠBoolean Ġ= Ġtrue Ċ ) Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġval Ġpayload Ġ= ĠChat Room User Ignore Payload ( roomId , ĠuserId , Ġignore ) ĊĠĠĠ Ġval Ġadapter Ġ= Ġm oshi . adapter ( Chat Room User Ignore Payload :: class . java ) ĊĠĠĠ Ġval Ġpayload Body Ġ= Ġadapter . toJson ( payload ) ĊĠĠĠ Ġval Ġbody Ġ= ĠRequest Body . create ( MEDIA _ TYPE _ JSON , Ġpayload Body ) ĊĊĠĠĠ Ġval Ġurl Ġ= Ġrequest Url ( rest Url , Ġ" chat . ignore User "). build () ĊĊĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder For Authenticated Methods ( url ). post ( body ). build () ĊĊĠĠĠ Ġreturn @ with Context Ġhandle Rest Call < Base Result >( request , ĠBase Result :: class . java ). success Ċ }