package Ġcom . kle inst ein . server . presentation . routes Ċ Ċ import Ġcom . kle inst ein . server . domain . entities . New Post Ċ import Ġcom . kle inst ein . server . domain . use cases . Delete Post UseCase Ċ import Ġcom . kle inst ein . server . domain . use cases . Get Post UseCase Ċ import Ġcom . kle inst ein . server . domain . use cases . Get Posts UseCase Ċ import Ġcom . kle inst ein . server . domain . use cases . New Post UseCase Ċ import Ġio . ktor . application .* Ċ import Ġio . ktor . request .* Ċ import Ġio . ktor . response .* Ċ import Ġio . ktor . routing .* Ċ import Ġorg . kode in . di . instance Ċ import Ġorg . kode in . di . ktor . closest DI Ċ Ċ fun ĠRoute . delete Post Route () Ġ{ ĊĠĠĠ Ġdelete ("/ posts /{ post Id }") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpost Id Ġ= Ġcall . parameters [" post Id "] !!. to Long () ĊĠĠĠĠĠĠĠ Ġval Ġuse Case Ġby Ġclosest DI (). instance < Delete Post UseCase >() ĊĠĠĠĠĠĠĠ Ġuse Case ( post Id ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠRoute . getPost Route () Ġ{ ĊĠĠĠ Ġget ("/ posts /{ post Id }") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpost Id Ġ= Ġcall . parameters [" post Id "] !!. to Long () ĊĠĠĠĠĠĠĠ Ġval Ġuse Case Ġby Ġclosest DI (). instance < Get Post UseCase >() ĊĠĠĠĠĠĠĠ Ġval Ġpost Ġ= Ġuse Case ( post Id ) ĊĠĠĠĠĠĠĠ Ġcall . respond ( post ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠRoute . get Posts Route () Ġ{ ĊĠĠĠ Ġget ("/ posts ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlimit Ġ= Ġcall . request . query Parameters [" limit "] ?. toInt () Ġ?: Ġ 2 5 ĊĠĠĠĠĠĠĠ Ġval Ġsince Ġ= Ġcall . request . query Parameters [" since "] ?. to Long () ĊĠĠĠĠĠĠĠ Ġval Ġuse Case Ġby Ġclosest DI (). instance < Get Posts UseCase >() ĊĠĠĠĠĠĠĠ Ġval Ġresult Page Ġ= Ġuse Case ( limit , Ġsince ) ĊĠĠĠĠĠĠĠ Ġcall . respond ( result Page ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠRoute . post Post Route () Ġ{ ĊĠĠĠ Ġpost ("/ posts ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcreated By Ġ= Ġcall . request . query Parameters [" created By "] !!. to Long () ĊĠĠĠĠĠĠĠ Ġval Ġnew Post Ġ= Ġcall . receive < New Post >() ĊĠĠĠĠĠĠĠ Ġval Ġuse Case Ġby Ġclosest DI (). instance < New Post UseCase >() ĊĠĠĠĠĠĠĠ Ġval Ġpost Ġ= Ġuse Case ( new Post , Ġcreated By ) ĊĠĠĠĠĠĠĠ Ġcall . respond ( post ) ĊĠĠĠ Ġ} Ċ } Ċ