package Ġcommands . w ishes . api Ċ Ċ import Ġcom . fasterxml . jackson . annotation . JsonIgnore Properties Ċ import Ġcom . fasterxml . jackson . annotation . JsonProperty Ċ import Ġorg . jetbrains . ex posed . sql . Table Ċ import Ġkotlin . properties . Deleg ates Ċ Ċ type alias ĠAuth Key Ġ= ĠString Ċ type alias ĠCached Wish JSON Ġ= ĠString ? Ċ type alias ĠW ishes Ġ= ĠMap < Banner Type , ĠList < Wish Data >> Ċ Ċ class ĠHistory Ġ{ ĊĠĠĠ Ġvar Ġret code Ġby ĠDeleg ates . notNull < Int >() ĊĠĠĠ Ġlateinit Ġvar Ġmessage : ĠString ĊĠĠĠ Ġval Ġdata : ĠW ish Data ? Ġ= Ġnull Ċ } Ċ Ċ @ JsonIgnore Properties (" page ", Ġ" size ", Ġ" total ", Ġ" region ") Ċ class ĠW ish Data Ġ{ ĊĠĠĠ Ġlateinit Ġvar Ġlist : ĠList < Wish Instance > Ċ } Ċ Ċ @ JsonIgnore Properties (" count ", Ġ" lang ", Ġ" g acha _ type ", Ġ" item _ id ", Ġ" item _ type ") Ċ class ĠW ish Instance Ġ{ ĊĠĠĠ Ġlateinit Ġvar Ġuid : ĠString ĊĠĠĠ Ġlateinit Ġvar Ġtime : ĠString ĊĠĠĠ Ġlateinit Ġvar Ġname : ĠString ĊĠĠĠ Ġ@ JsonProperty (" rank _ type ") Ġlateinit Ġvar Ġrank Type : ĠString ĊĠĠĠ Ġlateinit Ġvar Ġid : ĠString Ċ } Ċ Ċ class ĠCached Wish ( val Ġw ishes : ĠW ishes ) Ċ Ċ object ĠW ish Table : ĠTable () Ġ{ ĊĠĠĠ Ġval ĠuserId Ġ= Ġvarchar (" user _ id ", Ġ 1 8 ). check Ġ{ Ġit . isNotNull () Ġ} ĊĠĠĠ Ġval Ġauth Key Ġ= Ġvarchar (" auth key ", Ġ 1 1 0 0 ). check Ġ{ Ġit . isNotNull () Ġ} ĊĠĠĠ Ġ// ĠLong ĠJSON Ġstring ... ĊĠĠĠ Ġval Ġcached Wish Json Ġ= Ġvarchar (" cached _ wish ", Ġ 1 _ 0 0 0 _ 0 0 0 _ 0 0 0 ). nullable () Ċ } Ċ Ċ enum Ġclass ĠBanner Type ( val Ġvalue : ĠLong ) Ġ{ ĊĠĠĠ ĠPER MAN ENT ( 2 0 0 ), ĊĠĠĠ ĠCHARACTER ( 3 0 1 ), ĊĠĠĠ ĠWE AP ON ( 3 0 2 ), ĊĠĠĠ ĠCHARACTER 2 ( 4 0 0 ); ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġmap Ġ= Ġvalues (). associate By ( Banner Type :: value ) ĊĠĠĠĠĠĠĠ Ġfun Ġfrom Value ( value : ĠLong ) Ġ= Ġmap [ value ] !! ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠHistory Request ( var Ġauth Key : ĠString , Ġvar Ġbanner Type : ĠBanner Type Ġ= ĠBanner Type . CHARACTER , Ġvar Ġpage Number : ĠInt Ġ= Ġ 1 )