package Ġcom . r arn u . y ug io h Ċ Ċ import Ġcom . r arn u . y ug io h . database . SQLite Database Ċ import Ġcom . r arn u . y ug io h . database . sqlite Ċ import Ġio . ktor . application .* Ċ import Ġio . ktor . http .* Ċ import Ġio . ktor . locations .* Ċ import Ġio . ktor . response .* Ċ import Ġio . ktor . routing .* Ċ import Ġio . ktor . util .* Ċ Ċ data Ġclass ĠReq Find Card ( val Ġby Effect : ĠBoolean , Ġval Ġkey : ĠString , Ġval Ġlanguage : ĠString ) Ċ data Ġclass ĠReq Card Names ( val Ġids : ĠList < String >, Ġval Ġlanguage : ĠString ) Ċ Ċ data Ġclass ĠResp < T >( val Ġstatus : ĠInt Ġ= Ġ 2 0 0 , Ġval Ġmessage : ĠString Ġ= Ġ"", Ġval Ġdata : ĠT ? Ġ= Ġnull ) ĊĊ Ċ /* ĠY DK Ġ å·¥åħ· çĶ¨ ï¼Į æĮī åį¡ åĲį åħ³éĶ®åŃĹ æĪĸ æķĪæŀľ åħ³éĶ®åŃĹ æŁ¥è¯¢ å®Įæķ´ çļĦ åį¡ åĲį åĴĮ åį¡ çīĩ ID Ġ*/ Ċ @ K tor Experimental API Ċ fun ĠRouting . sqlite Routing () Ġ{ ĊĊĠĠĠ Ġ/* ĠæŁ¥ æī¾ åį¡ çīĩ Ġ*/ ĊĠĠĠ Ġpost < Req Find Card > ("/ card / find ") Ġ{ Ġp Ġ-> ĊĠĠĠĠĠĠĠ Ġ// ĠæŁ¥è¯¢ è¦ģ å¸¦ ä¸Ĭ è¯Ńè¨Ģ ĊĠĠĠĠĠĠĠ Ġval Ġret Ġ= Ġapplication . sqlite . find ( p . key , Ġp . by Effect , Ġp . language ) ĊĠĠĠĠĠĠĠ Ġcall . respond ( ret ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* Ġæł¹æį® åį¡ çīĩ ID åĪĹè¡¨ æŁ¥è¯¢ åį¡ çīĩ åĲįç§° åĪĹè¡¨ Ġ*/ ĊĠĠĠ Ġpost < Req Card Names > ("/ card / names ") Ġ{ Ġp Ġ-> ĊĠĠĠĠĠĠĠ Ġval Ġret Ġ= Ġapplication . sqlite . getList ( p . ids , Ġp . language ) ĊĠĠĠĠĠĠĠ Ġcall . respond ( ret ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġget (" api / y ug io h / card /{ id }") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġtry Ġ{ Ġ( call . parameters [" id "] Ġ?: Ġ" 0 "). toInt () Ġ} Ġcatch Ġ( th : ĠThrowable ) Ġ{ Ġnull Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( id Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcall . respond ( HttpStatusCode . InternalServerError , Ġ" ID Ġ éĶĻè¯¯ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ get ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġlang Ġ= Ġcall . request . query Parameters [" lang "] Ġ?: Ġ" jp " ĊĠĠĠĠĠĠĠ Ġval Ġinfo Ġ= Ġapplication . sqlite . get Card Info ( id , Ġlang ) ĊĠĠĠĠĠĠĠ Ġif Ġ( info Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcall . respond ( HttpStatusCode . InternalServerError , Ġ" æķ°æį® ä¸įåŃĺåľ¨ ") ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcall . respond ( Resp ( data Ġ= Ġinfo )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġget ("/ api / y ug io h / card ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġcall . request . query Parameters [" name "] Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġval Ġlang Ġ= Ġcall . request . query Parameters [" lang "] Ġ?: Ġ" jp " ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġapplication . sqlite . get Card List ( name , Ġlang ) ĊĠĠĠĠĠĠĠ Ġcall . respond ( Resp ( data Ġ= Ġlist )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġget ("/ api / y ug io h / random - card ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlang Ġ= Ġcall . request . query Parameters [" lang "] Ġ?: Ġ" jp " ĊĠĠĠĠĠĠĠ Ġval Ġinfo Ġ= Ġapplication . sqlite . getRandom Card ( lang ) ĊĠĠĠĠĠĠĠ Ġif Ġ( info Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcall . respond ( HttpStatusCode . InternalServerError , Ġ" æķ°æį® ä¸įåŃĺåľ¨ ") ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcall . respond ( Resp ( data Ġ= Ġinfo )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }