/* Ċ Ġ* ĠCopyright Ġ 2 0 1 6 ĠRo ss ĠBind en Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . r pk it . chat . bukkit . database . table Ċ Ċ import Ġcom . r pk it . chat . bukkit . RP K Chat Bu kkit Ċ import Ġcom . r pk it . chat . bukkit . chat group . Chat Group Invite Ċ import Ġcom . r pk it . chat . bukkit . chat group . RP K Chat Group Ċ import Ġcom . r pk it . chat . bukkit . chat group . RP K Chat Group Provider Ċ import Ġcom . r pk it . chat . bukkit . database . jooq . r pk it . Tables . CHAT _ GROUP _ INV ITE Ċ import Ġcom . r pk it . core . database . Database Ċ import Ġcom . r pk it . core . database . Table Ċ import Ġcom . r pk it . players . bukkit . profile . RP KM inecraft Profile Ċ import Ġcom . r pk it . players . bukkit . profile . RP KM inecraft Profile Provider Ċ import Ġorg . eh cache . config . builders . Cache Configuration Builder Ċ import Ġorg . eh cache . config . builders . Resource Pools Builder Ċ import Ġorg . jooq . impl . DSL . constraint Ċ import Ġorg . jooq . impl . DSL . field Ċ import Ġorg . jooq . impl . SQL DataType Ċ Ċ /** Ċ Ġ* ĠRepresents Ġchat Ġgroup Ġinvite Ġtable . Ċ Ġ*/ Ċ class ĠChat Group Invite Table ( database : ĠDatabase , Ġprivate Ġval Ġplugin : ĠRP K Chat Bu kkit ): ĠTable < Chat Group Invite >( database , ĠChat Group Invite :: class ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġcache Ġ= Ġif Ġ( plugin . config . getBoolean (" caching . chat _ group _ invite . id . enabled ")) Ġ{ ĊĠĠĠĠĠĠĠ Ġdatabase . cache Manager . create Cache (" r pk - chat - bukkit . chat _ group _ invite . id ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCache Configuration Builder . new Cache Configuration Builder ( Int :: class . java ObjectType , ĠChat Group Invite :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResource Pools Builder . heap ( plugin . config . getLong (" caching . chat _ group _ invite . id . size ")) ). build ()) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġchat Group Cache Ġ= Ġif Ġ( plugin . config . getBoolean (" caching . chat _ group _ invite . chat _ group _ id . enabled ")) Ġ{ ĊĠĠĠĠĠĠĠ Ġdatabase . cache Manager . create Cache (" r pk - chat - bukkit . chat _ group _ invite . chat _ group _ id ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCache Configuration Builder . new Cache Configuration Builder ( Int :: class . java ObjectType , ĠMutable List :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResource Pools Builder . heap ( plugin . config . getLong (" caching . chat _ group _ invite . chat _ group _ id . size ")) ). build ()) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġm inecraft Profile Cache Ġ= Ġif Ġ( plugin . config . getBoolean (" caching . chat _ group _ invite . minecraft _ profile _ id . enabled ")) Ġ{ ĊĠĠĠĠĠĠĠ Ġdatabase . cache Manager . create Cache (" r pk - chat - bukkit . chat _ group _ invite . minecraft _ profile _ id ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCache Configuration Builder . new Cache Configuration Builder ( Int :: class . java ObjectType , ĠMutable List :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResource Pools Builder . heap ( plugin . config . getLong (" caching . chat _ group _ invite . minecraft _ profile _ id . size ")) ). build ()) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate () Ġ{ ĊĠĠĠĠĠĠĠ Ġdatabase . create ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. createTable IfNot Exists ( CHAT _ GROUP _ INV ITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. column ( CHAT _ GROUP _ INV ITE . ID , ĠSQL DataType . INTEGER . identity ( true )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. column ( CHAT _ GROUP _ INV ITE . CHAT _ GROUP _ ID , ĠSQL DataType . INTEGER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. column ( CHAT _ GROUP _ INV ITE . M INE CR AFT _ PROFILE _ ID , ĠSQL DataType . INTEGER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. constraints ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconstraint (" pk _ chat _ group _ invite "). primaryKey ( CHAT _ GROUP _ INV ITE . ID ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. execute () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġapply Migrations () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( database . getTable Version ( this ) Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . set Table Version ( this , Ġ" 1 . 3 . 0 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( database . getTable Version ( this ) Ġ== Ġ" 0 . 4 . 0 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . create ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. truncate ( CHAT _ GROUP _ INV ITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. execute () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . create ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. alter Table ( CHAT _ GROUP _ INV ITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. drop Column ( field (" player _ id ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. execute () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . create ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. alter Table ( CHAT _ GROUP _ INV ITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. addColumn ( CHAT _ GROUP _ INV ITE . M INE CR AFT _ PROFILE _ ID , ĠSQL DataType . INTEGER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. execute () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . set Table Version ( this , Ġ" 1 . 3 . 0 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinsert ( entity : ĠChat Group Invite ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġdatabase . create ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. insert Into ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCH AT _ GROUP _ INV ITE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCH AT _ GROUP _ INV ITE . CHAT _ GROUP _ ID , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCH AT _ GROUP _ INV ITE . M INE CR AFT _ PROFILE _ ID ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. values ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity . chat Group . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity . minecraft Profile . id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. execute () ĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġdatabase . create . last ID (). toInt () ĊĠĠĠĠĠĠĠ Ġentity . id Ġ= Ġid ĊĠĠĠĠĠĠĠ Ġcache ?. put ( id , Ġentity ) ĊĠĠĠĠĠĠĠ Ġval Ġchat Group Inv ites Ġ= Ġchat Group Cache ?. get ( entity . chat Group . id ) Ġas ? ĠMutable List < Int > Ġ?: Ġmutable ListOf () ĊĠĠĠĠĠĠĠ Ġif Ġ(! chat Group Inv ites . contains ( entity . minecraft Profile . id )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchat Group Inv ites . add ( id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġchat Group Cache ?. put ( entity . chat Group . id , Ġchat Group Inv ites ) ĊĠĠĠĠĠĠĠ Ġval Ġm inecraft Profile Inv ites Ġ= Ġm inecraft Profile Cache ?. get ( entity . minecraft Profile . id ) Ġas ? ĠMutable List < Int > Ġ?: Ġmutable ListOf () ĊĠĠĠĠĠĠĠ Ġif Ġ(! minecraft Profile Inv ites . contains ( entity . minecraft Profile . id )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm inecraft Profile Inv ites . add ( id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm inecraft Profile Cache ?. put ( entity . minecraft Profile . id , Ġm inecraft Profile Inv ites ) ĊĠĠĠĠĠĠĠ Ġreturn Ġid ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate ( entity : ĠChat Group Invite ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdatabase . create ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. update ( CHAT _ GROUP _ INV ITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( CHAT _ GROUP _ INV ITE . CHAT _ GROUP _ ID , Ġentity . chat Group . id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( CHAT _ GROUP _ INV ITE . M INE CR AFT _ PROFILE _ ID , Ġentity . minecraft Profile . id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. where ( CHAT _ GROUP _ INV ITE . ID . eq ( entity . id )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. execute () ĊĠĠĠĠĠĠĠ Ġcache ?. put ( entity . id , Ġentity ) ĊĠĠĠĠĠĠĠ Ġval Ġchat Group Inv ites Ġ= Ġchat Group Cache ?. get ( entity . chat Group . id ) Ġas ? ĠMutable List < Int > Ġ?: Ġmutable ListOf () ĊĠĠĠĠĠĠĠ Ġif Ġ(! chat Group Inv ites . contains ( entity . id )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchat Group Inv ites . add ( entity . id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġchat Group Cache ?. put ( entity . chat Group . id , Ġchat Group Inv ites ) ĊĠĠĠĠĠĠĠ Ġval Ġm inecraft Profile Inv ites Ġ= Ġm inecraft Profile Cache ?. get ( entity . minecraft Profile . id ) Ġas ? ĠMutable List < Int > Ġ?: Ġmutable ListOf () ĊĠĠĠĠĠĠĠ Ġif Ġ(! minecraft Profile Inv ites . contains ( entity . minecraft Profile . id )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm inecraft Profile Inv ites . add ( entity . id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm inecraft Profile Cache ?. put ( entity . minecraft Profile . id , Ġm inecraft Profile Inv ites ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget ( id : ĠInt ): ĠChat Group Invite ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( cache ?. containsKey ( id ) Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcache . get ( id ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġdatabase . create ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. select ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCH AT _ GROUP _ INV ITE . CHAT _ GROUP _ ID , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCH AT _ GROUP _ INV ITE . M INE CR AFT _ PROFILE _ ID ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. from ( CHAT _ GROUP _ INV ITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. where ( CHAT _ GROUP _ INV ITE . ID . eq ( id )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fetch One () Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchat Group Provider Ġ= Ġplugin . core . service Manager . get ServiceProvider ( RP K Chat Group Provider :: class ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchat GroupId Ġ= Ġresult . get ( CHAT _ GROUP _ INV ITE . CHAT _ GROUP _ ID ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchat Group Ġ= Ġchat Group Provider . get Chat Group ( chat GroupId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġm inecraft Profile Provider Ġ= Ġplugin . core . service Manager . get ServiceProvider ( RP KM inecraft Profile Provider :: class ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġm inecraft Profile Id Ġ= Ġresult . get ( CHAT _ GROUP _ INV ITE . M INE CR AFT _ PROFILE _ ID ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġm inecraft Profile Ġ= Ġm inecraft Profile Provider . getM inecraft Profile ( minecraft Profile Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( chat Group Ġ!= Ġnull Ġ&& Ġm inecraft Profile Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchat Group Invite Ġ= ĠChat Group Invite ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchat Group , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm inecraft Profile ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcache ?. put ( id , Ġchat Group Invite ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchat Group Inv ites Ġ= Ġchat Group Cache ?. get ( chat Group Invite . chat Group . id ) Ġas ? ĠMutable List < Int > Ġ?: Ġmutable ListOf () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! chat Group Inv ites . contains ( chat Group Invite . id )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchat Group Inv ites . add ( chat Group Invite . id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchat Group Cache ?. put ( chat Group Invite . chat Group . id , Ġchat Group Inv ites ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġm inecraft Profile Inv ites Ġ= Ġm inecraft Profile Cache ?. get ( chat Group Invite . minecraft Profile . id ) Ġas ? ĠMutable List < Int > Ġ?: Ġmutable ListOf () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! minecraft Profile Inv ites . contains ( chat Group Invite . minecraft Profile . id )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm inecraft Profile Inv ites . add ( chat Group Invite . id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm inecraft Profile Cache ?. put ( chat Group Invite . minecraft Profile . id , Ġm inecraft Profile Inv ites ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġchat Group Invite ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . create ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. delete From ( CHAT _ GROUP _ INV ITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. where ( CHAT _ GROUP _ INV ITE . ID . eq ( id )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. execute () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGets Ġa Ġlist Ġof Ġinv ites Ġfor Ġa Ġparticular Ġchat Ġgroup . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġchat Group ĠThe Ġchat Ġgroup ĊĠĠĠĠ Ġ* Ġ@ return ĠA Ġlist Ġof Ġchat Ġgroup Ġinv ites ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget ( chat Group : ĠRP K Chat Group ): ĠList < Chat Group Invite > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( chat Group Cache ?. containsKey ( chat Group . id ) Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( chat Group Cache . get ( chat Group . id ) Ġas ĠList < Int >). map Ġ{ Ġid Ġ-> Ġget ( id ) !! Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresults Ġ= Ġdatabase . create ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. select ( CHAT _ GROUP _ INV ITE . ID ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. from ( CHAT _ GROUP _ INV ITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. where ( CHAT _ GROUP _ INV ITE . CHAT _ GROUP _ ID . eq ( chat Group . id )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fetch () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchat Group Inv ites Ġ= Ġresults . map Ġ{ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget ( result . get ( CHAT _ GROUP _ INV ITE . ID )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. filter NotNull () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchat Group Cache ?. put ( chat Group . id , Ġchat Group Inv ites . map ( Chat Group Invite :: id ). to Mutable List ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchat Group Inv ites ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGets Ġa Ġlist Ġof Ġchat Ġgroup Ġinv ites Ġfor Ġa Ġparticular ĠMinecraft Ġprofile . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġm inecraft Profile ĠThe ĠMinecraft Ġprofile ĊĠĠĠĠ Ġ* Ġ@ return ĠA Ġlist Ġof Ġchat Ġgroup Ġinv ites Ġfor Ġthe ĠMinecraft Ġprofile ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget ( minecraft Profile : ĠRP KM inecraft Profile ): ĠList < Chat Group Invite > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( minecraft Profile Cache ?. containsKey ( minecraft Profile . id ) Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( minecraft Profile Cache . get ( minecraft Profile . id ) Ġas ĠList < Int >). map Ġ{ Ġid Ġ-> Ġget ( id ) !! Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresults Ġ= Ġdatabase . create ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. select ( CHAT _ GROUP _ INV ITE . ID ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. from ( CHAT _ GROUP _ INV ITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. where ( CHAT _ GROUP _ INV ITE . M INE CR AFT _ PROFILE _ ID . eq ( minecraft Profile . id )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fetch () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchat Group Inv ites Ġ= Ġresults . map Ġ{ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget ( result . get ( CHAT _ GROUP _ INV ITE . ID )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. filter NotNull () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm inecraft Profile Cache ?. put ( minecraft Profile . id , Ġchat Group Inv ites . map ( Chat Group Invite :: id ). to Mutable List ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchat Group Inv ites ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdelete ( entity : ĠChat Group Invite ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdatabase . create ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. delete From ( CHAT _ GROUP _ INV ITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. where ( CHAT _ GROUP _ INV ITE . ID . eq ( entity . id )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. execute () ĊĠĠĠĠĠĠĠ Ġcache ?. remove ( entity . id ) ĊĠĠĠĠĠĠĠ Ġval Ġchat Group Members Ġ= Ġchat Group Cache ?. get ( entity . chat Group . id ) Ġas ? ĠMutable List < Int > Ġ?: Ġmutable ListOf () ĊĠĠĠĠĠĠĠ Ġchat Group Members . remove ( entity . id ) ĊĠĠĠĠĠĠĠ Ġchat Group Cache ?. put ( entity . chat Group . id , Ġchat Group Members ) ĊĠĠĠĠĠĠĠ Ġval Ġm inecraft Profile Members Ġ= Ġm inecraft Profile Cache ?. get ( entity . minecraft Profile . id ) Ġas ? ĠMutable List < Int > Ġ?: Ġmutable ListOf () ĊĠĠĠĠĠĠĠ Ġm inecraft Profile Members . remove ( entity . id ) ĊĠĠĠĠĠĠĠ Ġm inecraft Profile Cache ?. put ( entity . minecraft Profile . id , Ġm inecraft Profile Members ) ĊĠĠĠ Ġ} Ċ Ċ }