package Ġcom . box fox . core . router Ċ Ċ import Ġcom . box fox . vertx . router .* Ċ import Ġcom . box fox . vertx . service .* Ċ import Ġcom . box fox . link bit . service . auth . Auth Service Ċ import Ġcom . google . api . client . http . HttpStatusCode s Ċ import Ġio . vertx . core . http . HttpMethod Ċ import Ġio . vertx . ext . web . Routing Context Ċ import Ġorg . apache . log 4 j . Logger Ċ Ċ import Ġcom . box fox . link bit . util . Log Util . getLogger Ċ Ċ class ĠAuth Router Ġ: ĠAbstract Router () Ġ{ ĊĊĠĠĠ Ġ@ Service ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġauth Service : ĠAuth Service ĊĊĠĠĠ Ġ@ Route Registration ( uri Ġ= Ġ"/ auth ", Ġmethod Ġ= ĠarrayOf ( HttpMethod . POST )) ĊĠĠĠ Ġfun Ġsign in ( ctx : ĠRouting Context , Ġ@ Param ( name Ġ= Ġ" token ") Ġtoken : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġget Logger (). debug ( String . format (" signin Ġtoken : Ġ% s ", Ġtoken )) ĊĠĠĠĠĠĠĠ Ġauth Service . signin ( token ). subscribe ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġctx . response (). end ( gson . toJson ( it )) ĊĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġctx . fail ( it ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Route Registration ( uri Ġ= Ġ"/ auth / logout ", Ġmethod Ġ= ĠarrayOf ( HttpMethod . GET ), Ġauth Ġ= Ġtrue ) ĊĠĠĠ Ġfun Ġlogout ( ctx : ĠRouting Context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġctx . remove Cookie (" token ") ĊĠĠĠĠĠĠĠ Ġctx . response (). set StatusCode ( 2 0 0 ). end () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Route Registration ( uri Ġ= Ġ"/ auth ", Ġmethod Ġ= ĠarrayOf ( HttpMethod . GET ), Ġauth Ġ= Ġtrue ) ĊĠĠĠ Ġfun Ġinfo ( ctx : ĠRouting Context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuid Ġ= Ġctx . data ()[" uid "] Ġas ĠString ĊĠĠĠĠĠĠĠ Ġthis . auth Service . get Account By Uid ( uid ). subscribe ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġctx . response (). end ( gson . toJson ( it )) ĊĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġctx . fail ( it ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Route Registration ( uri Ġ= Ġ"/ auth ", Ġmethod Ġ= ĠarrayOf ( HttpMethod . DELETE ), Ġauth Ġ= Ġtrue ) ĊĠĠĠ Ġfun Ġun Register ( ctx : ĠRouting Context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuid Ġ= Ġctx . data ()[" uid "]. toString () ĊĠĠĠĠĠĠĠ ĠLogger . getRoot Logger (). info ( String . format (" user Ġdelete Ġ% s ", Ġuid )) ĊĠĠĠĠĠĠĠ Ġthis . auth Service . un Register ( uid ). subscribe ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġctx . response (). set StatusCode ( HttpStatusCode s . STATUS _ CODE _ OK ). end () ĊĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġctx . fail ( it ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ