package Ġno . nav . t pts . mot tak . so kn ad . so kn ad List Ċ Ċ import Ġio . ktor . server . application . call Ċ import Ġio . ktor . server . routing . Route Ċ import Ġio . ktor . server . routing . get Ċ import Ġio . ktor . server . routing . route Ċ import Ġkotlinx . coroutines . async Ċ import Ġmu . Kotlin Logging Ċ import Ġno . nav . t pts . mot tak . common . pagination . Page Data Ċ import Ġno . nav . t pts . mot tak . common . pagination . paginate Ċ import Ġno . nav . t pts . mot tak . so kn ad . S ok nad Queries . count S ok n ader Ċ import Ġno . nav . t pts . mot tak . so kn ad . S ok nad Queries . list S ok n ader Ċ Ċ private Ġval ĠLOG Ġ= ĠKotlin Logging . logger Ġ{} Ċ Ċ fun ĠRoute . so kn ad List Route () Ġ{ ĊĠĠĠ Ġroute ("/ api / so kn ad ") Ġ{ ĊĠĠĠĠĠĠĠ Ġget Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġident Ġ= Ġcall . request . query Parameters [" ident "] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpag inate Ġ{ Ġoffset , ĠpageSize Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtotal Ġ= Ġasync Ġ{ Ġcount S ok n ader () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġs ok n ader Ġ= Ġasync Ġ{ Ġlist S ok n ader ( pageSize Ġ= ĠpageSize , Ġoffset Ġ= Ġoffset , Ġident Ġ= Ġident ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ paginate ĠPage Data ( data Ġ= Ġs ok n ader . await (), Ġtotal Ġ= Ġtotal . await () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}. also Ġ{ ĠLOG . info Ġ{ Ġ" setting Ġup Ġendpoint Ġ/ api / so kn ad " Ġ} Ġ} Ċ } Ċ