package Ġio . github . deck . core . state less Ċ Ċ import Ġio . github . deck . common . util . Deck Del icate Api Ċ import Ġio . github . deck . common . util . Generic Id Ċ import Ġio . github . deck . common . util . Int Generic Id Ċ import Ġio . github . deck . core . entity . Server Ban Ċ import Ġio . github . deck . core . util . Blank State less Server Ċ import Ġio . github . deck . rest . util . Gu il ded RequestException Ċ Ċ public Ġinterface ĠStateless Member : ĠStateless Entity Ġ{ ĊĠĠĠ Ġpublic Ġval Ġid : ĠGeneric Id ĊĠĠĠ Ġpublic Ġval Ġserver Id : ĠGeneric Id ĊĊĠĠĠ Ġpublic Ġval Ġserver : ĠStateless Server Ġget () Ġ= ĠBl ank State less Server ( client , Ġserver Id ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSets Ġthe Ġnickname Ġfor Ġthis Ġmember , Ġor Ġremoves Ġit Ġif Ġthe Ġprovided ĊĠĠĠĠ Ġ* Ġ[ nickname ] Ġis Ġnull . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġnickname Ġnew Ġnickname , Ġnull Ġto Ġreset ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthis Ġmember 's Ġnew Ġnickname ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġsuspend Ġfun Ġset Nick name ( nickname : ĠString ?): ĠString ? Ġ= Ġwhen ( nickname ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnull Ġ-> Ġclient . rest . server . remove Member Nick name ( id , Ġserver Id ). let Ġ{ Ġnull Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġclient . rest . server . update Member Nick name ( id , Ġserver Id , Ġnickname ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAssign s Ġthe Ġspecified Ġrole Ġto Ġthis Ġmember ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġrole Id Ġrole Ġto Ġbe Ġassigned Ġto Ġthis Ġmember ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġsuspend Ġfun Ġadd Role ( role Id : ĠInt Generic Id ): ĠUnit Ġ= ĊĠĠĠĠĠĠĠ Ġclient . rest . server . assign Role To Member ( id , Ġserver Id , Ġrole Id ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRetrieves Ġa Ġlist Ġof Ġall Ġthe Ġids Ġof Ġthe Ġroles Ġthis Ġmember Ġis Ġassigned Ġto ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġlist Ġof Ġall Ġthe Ġids Ġof Ġthe Ġroles Ġthis Ġmember Ġis Ġassigned Ġto ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġsuspend Ġfun Ġget Role Ids (): ĠList < Int Generic Id > Ġ= ĊĠĠĠĠĠĠĠ Ġclient . rest . server . get Member Roles ( id , Ġserver Id ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRemoves Ġthe Ġspecified Ġrole Ġfrom Ġthis Ġmember ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġrole Id Ġrole Ġto Ġbe Ġremoved Ġfrom Ġthis Ġmember ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġsuspend Ġfun Ġremove Role ( role Id : ĠInt Generic Id ): ĠUnit Ġ= ĊĠĠĠĠĠĠĠ Ġclient . rest . server . remove Role From Member ( id , Ġserver Id , Ġrole Id ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠK icks Ġthis Ġmember Ġfrom Ġthe Ġserver ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġsuspend Ġfun Ġkick (): ĠUnit Ġ= ĊĠĠĠĠĠĠĠ Ġclient . rest . server . kick Member ( id , Ġserver Id ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠB ans Ġthis Ġmember Ġfrom Ġthe Ġserver ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġsuspend Ġfun Ġban (): ĠUnit Ġ= ĊĠĠĠĠĠĠĠ Ġclient . rest . server . ban Member ( id , Ġserver Id ) ĊĊĠĠĠ Ġ@ Deck Del icate Api ĊĠĠĠ Ġ/** Ġ@ throws Ġ[ Gu il ded RequestException ] Ġif Ġnot Ġfound Ġ*/ ĊĠĠĠ Ġpublic Ġsuspend Ġfun Ġget Ban (): ĠServer Ban Ġ= ĊĠĠĠĠĠĠĠ ĠServer Ban . from ( client , Ġclient . rest . server . get Member Ban ( id , Ġserver Id )) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠU nb ans Ġthis Ġmember Ġfrom Ġthe Ġserver . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġsuspend Ġfun Ġun ban (): ĠUnit Ġ= ĊĠĠĠĠĠĠĠ Ġclient . rest . server . un ban Member ( id , Ġserver Id ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAdds Ġ( not Ġsets ) Ġxp Ġto Ġthis Ġmember . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġamount Ġthe Ġamount Ġof Ġxp Ġto Ġbe Ġadded ĊĠĠĠĠ Ġ* Ġ@ return Ġuser 's Ġnew Ġxp ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġsuspend Ġfun Ġa ward Xp ( amount : ĠInt ): ĠInt Ġ= ĊĠĠĠĠĠĠĠ Ġclient . rest . server . award Xp To Member ( id , Ġserver Id , Ġamount ) Ċ }