/* Ċ Ġ* Ġ( c ) Ġ 2 0 2 0 - 2 0 2 1 ĠS orrow Blue . Ċ Ġ*/ Ċ Ċ package Ġcom . sor row blue . tw it lin . v 2 . tweets . impl Ċ Ċ import Ġcom . sor row blue . tw it lin . core . Urls Ċ import Ġcom . sor row blue . tw it lin . v 2 . client . Response Ċ import Ġcom . sor row blue . tw it lin . v 2 . client . User Client Ċ import Ġcom . sor row blue . tw it lin . v 2 . field . Expansion Ċ import Ġcom . sor row blue . tw it lin . v 2 . field . Media Field Ċ import Ġcom . sor row blue . tw it lin . v 2 . field . Place Field Ċ import Ġcom . sor row blue . tw it lin . v 2 . field . Poll Field Ċ import Ġcom . sor row blue . tw it lin . v 2 . field . Tweet Field Ċ import Ġcom . sor row blue . tw it lin . v 2 . field . User Field Ċ import Ġcom . sor row blue . tw it lin . v 2 . field . to Parameter Ċ import Ġcom . sor row blue . tw it lin . v 2 . objects . Optional Data Ċ import Ġcom . sor row blue . tw it lin . v 2 . objects . Optional List Data Ċ import Ġcom . sor row blue . tw it lin . v 2 . objects . Paging Data Ċ import Ġcom . sor row blue . tw it lin . v 2 . objects . Tweet Ċ import Ġcom . sor row blue . tw it lin . v 2 . objects . User Ċ import Ġcom . sor row blue . tw it lin . v 2 . tweets . T weets Api Ċ import Ġcom . sor row blue . tw it lin . v 2 . tweets . request . Hidden Request Ċ import Ġcom . sor row blue . tw it lin . v 2 . tweets . response . Hidden Response Ċ import Ġkotlinx . datetime . LocalDateTime Ċ import Ġkotlinx . datetime . encode To ISO String Ċ import Ġkotlinx . serialization . builtins . List Serializer Ċ import Ġcom . sor row blue . tw it lin . v 2 . users . Expansion Ġas ĠUsers Expansion Ċ Ċ private Ġconst Ġval ĠT WE ETS Ġ= Ġ"${ Urls . V 2 }/ tweets " Ċ private Ġconst Ġval ĠUSER S Ġ= Ġ"${ Urls . V 2 }/ users " Ċ Ċ internal Ġclass ĠT weets Api Imp ( private Ġval Ġuser Client : ĠUser Client ) Ġ: ĠT weets Api Ġ{ ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġtweet ( ĊĠĠĠĠĠĠĠ Ġid : ĠString , ĊĠĠĠĠĠĠĠ Ġexp ans ions : ĠList < Expansion > ?, ĊĠĠĠĠĠĠĠ Ġmedia Fields : ĠList < Media Field > ?, ĊĠĠĠĠĠĠĠ Ġplace Fields : ĠList < Place Field > ?, ĊĠĠĠĠĠĠĠ Ġpoll Fields : ĠList < Poll Field > ?, ĊĠĠĠĠĠĠĠ Ġtweet Fields : ĠList < Tweet Field > ?, ĊĠĠĠĠĠĠĠ Ġuser Fields : ĠList < User Field >? ĊĠĠĠ Ġ): ĠResponse < Optional Data < Tweet >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġuser Client . get ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ TW E ETS /$ id ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResponse . serializer ( Optional Data . serializer ( Tweet . serializer ())), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" exp ans ions " Ġto Ġexp ans ions ?. to Parameter (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" media . fields " Ġto Ġmedia Fields ?. to Parameter (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" place . fields " Ġto Ġplace Fields ?. to Parameter (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" poll . fields " Ġto Ġpoll Fields ?. to Parameter (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" tweet . fields " Ġto Ġtweet Fields ?. to Parameter (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" user . fields " Ġto Ġuser Fields ?. to Parameter () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġtweet ( ĊĠĠĠĠĠĠĠ Ġids : ĠList < String >, ĊĠĠĠĠĠĠĠ Ġexp ans ions : ĠList < Expansion > ?, ĊĠĠĠĠĠĠĠ Ġmedia Fields : ĠList < Media Field > ?, ĊĠĠĠĠĠĠĠ Ġplace Fields : ĠList < Place Field > ?, ĊĠĠĠĠĠĠĠ Ġpoll Fields : ĠList < Poll Field > ?, ĊĠĠĠĠĠĠĠ Ġtweet Fields : ĠList < Tweet Field > ?, ĊĠĠĠĠĠĠĠ Ġuser Fields : ĠList < User Field >? ĊĠĠĠ Ġ): ĠResponse < Optional Data < List < Tweet >>> Ġ= Ġuser Client . get ( ĊĠĠĠĠĠĠĠ ĠT WE ETS , ĊĠĠĠĠĠĠĠ ĠResponse . serializer ( Optional Data . serializer ( List Serializer ( Tweet . serializer ())) ), ĊĠĠĠĠĠĠĠ Ġ" ids " Ġto Ġids . join ToString ("," ), ĊĠĠĠĠĠĠĠ Ġ" exp ans ions " Ġto Ġexp ans ions ?. to Parameter (), ĊĠĠĠĠĠĠĠ Ġ" media . fields " Ġto Ġmedia Fields ?. to Parameter (), ĊĠĠĠĠĠĠĠ Ġ" place . fields " Ġto Ġplace Fields ?. to Parameter (), ĊĠĠĠĠĠĠĠ Ġ" poll . fields " Ġto Ġpoll Fields ?. to Parameter (), ĊĠĠĠĠĠĠĠ Ġ" tweet . fields " Ġto Ġtweet Fields ?. to Parameter (), ĊĠĠĠĠĠĠĠ Ġ" user . fields " Ġto Ġuser Fields ?. to Parameter () ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġhidden ( id : ĠString , Ġis Hidden : ĠBoolean ): ĠResponse < Boolean > Ġ= ĊĠĠĠĠĠĠĠ Ġuser Client . put Json ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ TW E ETS /$ id / hidden ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResponse . serializer ( Hidden Response . serializer ()), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHidden Request ( is Hidden ) ĊĠĠĠĠĠĠĠ Ġ). convert Data Ġ{ Ġit . data . hidden Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġmentions ( ĊĠĠĠĠĠĠĠ Ġid : ĠString , ĊĠĠĠĠĠĠĠ ĠendTime : ĠLocalDateTime ?, ĊĠĠĠĠĠĠĠ ĠstartTime : ĠLocalDateTime ?, ĊĠĠĠĠĠĠĠ Ġmax Results : ĠInt , ĊĠĠĠĠĠĠĠ Ġpagination Token : ĠString ?, ĊĠĠĠĠĠĠĠ Ġsince Id : ĠString ?, ĊĠĠĠĠĠĠĠ Ġuntil Id : ĠString ?, ĊĠĠĠĠĠĠĠ Ġexp ans ions : ĠList < Expansion > ?, ĊĠĠĠĠĠĠĠ Ġmedia Fields : ĠList < Media Field > ?, ĊĠĠĠĠĠĠĠ Ġplace Fields : ĠList < Place Field > ?, ĊĠĠĠĠĠĠĠ Ġpoll Fields : ĠList < Poll Field > ?, ĊĠĠĠĠĠĠĠ Ġtweet Fields : ĠList < Tweet Field > ?, ĊĠĠĠĠĠĠĠ Ġuser Fields : ĠList < User Field >? ĊĠĠĠ Ġ): ĠResponse < Paging Data < Tweet >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġuser Client . get ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ USERS /$ id / mentions ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserializer Ġ= ĠResponse . serializer ( Paging Data . serializer ( Tweet . serializer ())), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" end _ time " Ġto ĠendTime ?. encode To ISO String (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" start _ time " Ġto ĠstartTime ?. encode To ISO String (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" max _ results " Ġto Ġmax Results , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" exp ans ions " Ġto Ġexp ans ions ?. to Parameter (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" pagination _ token " Ġto Ġpagination Token , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" media . fields " Ġto Ġmedia Fields ?. to Parameter (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" place . fields " Ġto Ġplace Fields ?. to Parameter (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" poll . fields " Ġto Ġpoll Fields ?. to Parameter (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" since _ id " Ġto Ġsince Id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" until _ id " Ġto Ġuntil Id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" tweet . fields " Ġto Ġtweet Fields ?. to Parameter (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" user . fields " Ġto Ġuser Fields ?. to Parameter (), ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġlik ing Users ( ĊĠĠĠĠĠĠĠ Ġid : ĠString , ĊĠĠĠĠĠĠĠ Ġexp ans ions : ĠList < Users Expansion > ?, ĊĠĠĠĠĠĠĠ Ġtweet Fields : ĠList < Tweet Field > ?, ĊĠĠĠĠĠĠĠ Ġuser Fields : ĠList < User Field >? ĊĠĠĠ Ġ): ĠResponse < Paging Data < User >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġuser Client . get ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ TW E ETS /$ id / lik ing _ users ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserializer Ġ= ĠResponse . serializer ( Paging Data . serializer ( User . serializer ())), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" exp ans ions " Ġto Ġexp ans ions ?. to Parameter (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" tweet . fields " Ġto Ġtweet Fields ?. to Parameter (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" user . fields " Ġto Ġuser Fields ?. to Parameter () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġret weet edBy ( ĊĠĠĠĠĠĠĠ Ġtweet Id : ĠString , ĊĠĠĠĠĠĠĠ Ġexp ans ions : ĠList < com . sor row blue . tw it lin . v 2 . users . Expansion > ?, ĊĠĠĠĠĠĠĠ Ġmedia Fields : ĠList < Media Field > ?, ĊĠĠĠĠĠĠĠ Ġplace Fields : ĠList < Place Field > ?, ĊĠĠĠĠĠĠĠ Ġpoll Fields : ĠList < Poll Field > ?, ĊĠĠĠĠĠĠĠ Ġtweet Fields : ĠList < Tweet Field > ?, ĊĠĠĠĠĠĠĠ Ġuser Fields : ĠList < User Field >? ĊĠĠĠ Ġ): ĠResponse < Optional List Data < User >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġuser Client . get ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ TW E ETS /$ tweet Id / ret weet ed _ by ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserializer Ġ= ĠResponse . serializer ( Optional List Data . serializer ( User . serializer ())), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" exp ans ions " Ġto Ġexp ans ions ?. to Parameter (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" media . fields " Ġto Ġmedia Fields ?. to Parameter (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" place . fields " Ġto Ġplace Fields ?. to Parameter (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" poll . fields " Ġto Ġpoll Fields ?. to Parameter (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" tweet . fields " Ġto Ġtweet Fields ?. to Parameter (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" user . fields " Ġto Ġuser Fields ?. to Parameter () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ