package Ġio . ktor . samples . k weet Ċ Ċ import Ġio . ktor . application .* Ċ import Ġio . ktor . fre emark er .* Ċ import Ġio . ktor . locations .* Ċ import Ġio . ktor . response .* Ċ import Ġio . ktor . routing .* Ċ import Ġio . ktor . samples . k weet . dao .* Ċ import Ġio . ktor . sessions .* Ċ Ċ /** Ċ Ġ* ĠRegister Ġthe Ġindex Ġroute Ġof Ġthe Ġwebsite . Ċ Ġ*/ Ċ fun ĠRoute . index ( dao : ĠDA OF acade ) Ġ{ ĊĠĠĠ Ġ// ĠUses Ġthe Ġlocation Ġfeature Ġto Ġregister Ġa Ġget Ġroute Ġfor Ġ'/ '. ĊĠĠĠ Ġget < Index > Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠT ries Ġto Ġget Ġthe Ġuser Ġfrom Ġthe Ġsession Ġ( null Ġif Ġfailure ) ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= Ġcall . sessions . get < K weet Session >() ?. let Ġ{ Ġdao . user ( it . userId ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠOb t ains Ġseveral Ġlist Ġof Ġk weets Ġusing Ġdifferent Ġsort ings Ġand Ġfilters . ĊĠĠĠĠĠĠĠ Ġval Ġtop Ġ= Ġdao . top ( 1 0 ). map Ġ{ Ġdao . get K weet ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġlatest Ġ= Ġdao . latest ( 1 0 ). map Ġ{ Ġdao . get K weet ( it ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠGenerates Ġan ĠE Tag Ġunique Ġstring Ġfor Ġthis Ġroute Ġthat Ġwill Ġbe Ġused Ġfor Ġcaching . ĊĠĠĠĠĠĠĠ Ġval Ġet ag String Ġ= Ġuser ?. userId Ġ+ Ġ"," Ġ+ Ġtop . join ToString Ġ{ Ġit . id . toString () Ġ} Ġ+ Ġlatest . join ToString Ġ{ Ġit . id . toString () Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġet ag Ġ= Ġet ag String . hashCode () ĊĊĠĠĠĠĠĠĠ Ġ// ĠUses ĠFree Marker Ġto Ġrender Ġthe Ġpage . ĊĠĠĠĠĠĠĠ Ġcall . respond ( Free Marker Content (" index . ft l ", Ġmap Of (" top " Ġto Ġtop , Ġ" latest " Ġto Ġlatest , Ġ" user " Ġto Ġuser ), Ġet ag . toString ())) ĊĠĠĠ Ġ} Ċ } Ċ