/** Ċ Ġ* ĠOrgan isation ĠServices Ċ Ġ* ĠThese Ġare Ġthe Ġservices Ġfor Ġthe Ġorganisation Ġsite . ĠThese Ġwill Ġbe Ġcalled Ġby Ġthe Ġfrontend Ġto Ġprovide Ġthe Ġdata Ċ Ġ* Ċ Ġ* ĠOpenAPI Ġspec Ġversion : Ġ 1 . 0 . 0 Ċ Ġ* ĠContact : Ġfr . pr ay uda @ gmail . com Ċ Ġ* Ċ Ġ* ĠNOTE : ĠThis Ġclass Ġis Ġauto Ġgenerated Ġby ĠOpenAPI ĠGenerator Ġ( https :// openapi - generator . tech ). Ċ Ġ* Ġhttps :// openapi - generator . tech Ċ Ġ* ĠDo Ġnot Ġedit Ġthe Ġclass Ġmanually . Ċ Ġ*/ Ċ package Ġorg . open ap it ools . server . apis Ċ Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . google . gson . Gson Builder Ċ import Ġio . ktor . application . call Ċ import Ġio . ktor . auth . UserId Principal Ċ import Ġio . ktor . auth . authentication Ċ import Ġio . ktor . http . ContentType Ċ import Ġio . ktor . http . HttpStatusCode Ċ import Ġio . ktor . locations . K tor Experimental Locations API Ċ import Ġio . ktor . locations . get Ċ import Ġio . ktor . response . respond Ċ import Ġio . ktor . response . respond Text Ċ import Ġio . ktor . routing . Route Ċ import Ġorg . open ap it ools . server . infrastructure . Paths Ċ import Ġorg . open ap it ools . server . model . get Branch Info Ċ import Ġorg . open ap it ools . server . model . get Department Info Ċ Ċ /** Ċ Ġ* ĠFunction Ġto Ġhandle Ġall Ġrequest Ġsend Ġto Ġget Branch Info Ġand Ġget Department Info ĠHTTP Ġendpoint Ċ Ġ*/ Ċ @ K tor Experimental Locations API Ċ fun ĠRoute . Organ ig ram Api () Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠA ĠGson ĠBuilder Ġwith Ġpretty Ġprinting Ġenabled . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġgson : ĠGson Ġ= ĠGson Builder (). set Pretty Print ing (). create () ĊĊĠĠĠ Ġ// routing Ġto Ġget Ġbranch Ġinfo ĊĠĠĠ Ġget < Paths . get Branch Info > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprincipal Ġ= Ġcall . authentication . principal < UserId Principal >() ?. name ĊĠĠĠĠĠĠĠ Ġval Ġinput Branch ID Ġ= Ġcall . parameters [" branch ID "] ?. to Long () Ġ?: Ġ- 1 L ĊĊĠĠĠĠĠĠĠ Ġif Ġ( principal Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// no Ġauthentication ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcall . respond ( HttpStatusCode . Unauthorized ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexample ContentType Ġ= Ġ" application / json " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexample Content Ġ= Ġget Branch Info ( branch ID Ġ= Ġinput Branch ID ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// check Ġif Ġany Ġdata Ġcan Ġbe Ġfound Ġwith Ġthe Ġgiven Ġcriteria ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( example Content . toList (). isNull OrEmpty ()) Ġcall . response . status ( HttpStatusCode . NotFound ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( example ContentType ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" application / xml " Ġ-> Ġcall . respond Text ( gson . toJson ( example Content ), ĠContentType . Text . Xml ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġcall . respond ( gson . toJson ( example Content )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// routing Ġto Ġget Ġdepartment Ġinfo ĊĠĠĠ Ġget < Paths . get Department Info > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprincipal Ġ= Ġcall . authentication . principal < UserId Principal >() ?. name ĊĠĠĠĠĠĠĠ Ġval Ġinput Dept ID Ġ= Ġcall . parameters [" department ID "] ?. to Long () Ġ?: Ġ- 1 L ĊĠĠĠĠĠĠĠ Ġval Ġinput Branch ID Ġ= Ġcall . parameters [" branch ID "] ?. to Long () Ġ?: Ġ- 1 L ĊĊĠĠĠĠĠĠĠ Ġif Ġ( principal Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// no Ġauthentication ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcall . respond ( HttpStatusCode . Unauthorized ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexample ContentType Ġ= Ġ" application / json " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexample Content Ġ= Ġget Department Info ( branch ID Ġ= Ġinput Branch ID , Ġdepartment ID Ġ= Ġinput Dept ID ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// check Ġif Ġany Ġdata Ġcan Ġbe Ġfound Ġwith Ġthe Ġgiven Ġcriteria ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( example Content . toList (). isNull OrEmpty ()) Ġcall . response . status ( HttpStatusCode . NotFound ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( example ContentType ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" application / xml " Ġ-> Ġcall . respond Text ( gson . toJson ( example Content ), ĠContentType . Text . Xml ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġcall . respond ( gson . toJson ( example Content )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ