package Ġcontrollers Ċ Ċ import Ġcom . google . gson . Gson Ċ import Ġdata . Response Ċ import Ġdata . Slug Ċ import Ġdatabase . Redis Ċ import Ġio . jav al in . http . Context Ċ import Ġio . lett uce . core . Redis Future Ċ Ċ /** Ċ Ġ* ĠThe Ġindex Ġcontroller Ċ Ġ*/ Ċ object ĠIndex Controller Ġ{ ĊĠĠĠ Ġprivate Ġval Ġgson Ġ= ĠGson () ĊĠĠĠ Ġprivate Ġval Ġasync Ġ= ĠRedis . async ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠFor Ġgetting Ġall Ġshort ened Ġlinks ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠgetAll ( ctx : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġall Values Ġ= Ġmutable ListOf < Slug >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġall Keys : ĠRedis Future < Mutable List < String >> Ġ= Ġasync . keys ("* ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġall Keys . get (). map Ġ{ Ġkey Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġkey String Ġ= Ġasync . get ( key ). get () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġgson . fromJson ( key String , ĠSl ug :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġall Values . add ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġctx . json ( Response . Ok ( all Values )) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( error : ĠError ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġctx . json ( Response . Error ( error . message . toString ())) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }