/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠW illiam ĠSmith Ċ Ġ* Ġ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 Ċ Ġ* Ċ Ġ* Ġhttps :// 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 Ġpro . w smi . room map . lib . api Ċ Ċ import Ġkotlinx . serialization . Serial Name Ċ import Ġkotlinx . serialization . Serializable Ċ Ċ @ Serializable Ċ @ Suppress (" unused ") Ċ data Ġclass ĠAPI Room List Req Ġ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" filtering _ guest _ can _ join ") ĊĠĠĠĠĠĠĠ Ġval Ġfiltering Guest Can Join : ĠMatrix Room Guest Can Join Filter Ġ= ĠMatrix Room Guest Can Join Filter . NO _ FILTER , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" filtering _ world _ readable ") ĊĠĠĠĠĠĠĠ Ġval Ġfiltering World Readable : ĠMatrix Room World Readable Filter Ġ= ĠMatrix Room World Readable Filter . NO _ FILTER , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" filtering _ num _ joined _ members _ is _ greater _ than _ or _ equal _ to ") ĊĠĠĠĠĠĠĠ Ġval Ġfiltering Num Joined Members G TE : ĠInt ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" filtering _ num _ joined _ members _ is _ lower _ than _ or _ equal _ to ") ĊĠĠĠĠĠĠĠ Ġval Ġfiltering Num Joined Members LTE : ĠInt ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" sorting _ element ") ĊĠĠĠĠĠĠĠ Ġval Ġsorting Element : ĠMatrix Room List Sorting Element Ġ= ĠMatrix Room List Sorting Element . NUM _ JOIN ED _ MEMBER S , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" desc ending _ sort ") ĊĠĠĠĠĠĠĠ Ġval Ġdescending Sort : ĠBoolean Ġ= Ġtrue , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" start ") ĊĠĠĠĠĠĠĠ Ġval Ġstart : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" end ") ĊĠĠĠĠĠĠĠ Ġval Ġend : ĠInt ? Ġ= Ġnull Ċ ) Ġ: ĠAPI Request With Parameters Ċ { ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠREQ _ PATH Ġ= ĠAPI Request . API _ PATH Ġ+ Ġ"/ rooms " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠHTTP _ METHOD Ġ= Ġ" POST " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġreq Path : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠREQ _ PATH ĊĠĠĠ Ġoverride Ġval Ġhttp Method : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠHTTP _ METHOD Ċ }