package Ġno . nav . sy fo . application Ċ Ċ import Ġcom . auth 0 . j wk . J wk Provider Ċ import Ġio . ktor . server . application .* Ċ import Ġio . ktor . server . auth .* Ċ import Ġio . ktor . server . plugins . call log ing .* Ċ import Ġio . ktor . server . request .* Ċ import Ġio . ktor . server . routing .* Ċ import Ġno . nav . sy fo . Environment Ċ import Ġno . nav . sy fo . ak sess ering . api . register Be handler Api V 2 Ċ import Ġno . nav . sy fo . application . api .* Ċ import Ġno . nav . sy fo . application . authentication . Jwt Issuer Type Ċ import Ġno . nav . sy fo . application . authentication . install Jwt Authentication Ċ import Ġno . nav . sy fo . application . metric . register Metric Api Ċ import Ġno . nav . sy fo . services . Partner Inform as jon Service Ċ import Ġorg . slf 4 j . event . Level Ċ Ċ const Ġval ĠAPI _ BASE _ PATH Ġ= Ġ"/ api " Ċ Ċ fun ĠApplication . api Module ( ĊĠĠĠ Ġenvironment : ĠEnvironment , ĊĠĠĠ Ġapplication State : ĠApplication State , ĊĠĠĠ Ġj wk Provider : ĠJ wk Provider , ĊĠĠĠ Ġpartner Inform as jon Service : ĠPartner Inform as jon Service , Ċ ) Ġ{ ĊĠĠĠ Ġinstall Jwt Authentication ( ĊĠĠĠĠĠĠĠ Ġaccepted Audience List Ġ= ĠlistOf ( environment . azure App ClientId ), ĊĠĠĠĠĠĠĠ Ġjwt Issuer Ġ= Ġenvironment . azure Open Id Config Issuer , ĊĠĠĠĠĠĠĠ Ġj wk Provider Ġ= Ġj wk Provider , ĊĠĠĠ Ġ) ĊĠĠĠ Ġinstall Content Neg otiation () ĊĠĠĠ Ġinstall Call Id () ĊĠĠĠ Ġinstall Metrics () ĊĠĠĠ Ġinstall Status Pages () ĊĠĠĠ Ġinstall ( Call Logging ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlevel Ġ= ĠLevel . DEBUG ĊĠĠĠĠĠĠĠ Ġfilter Ġ{ Ġcall Ġ-> Ġcall . request . path (). startsWith ( API _ BASE _ PATH ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġrouting Ġ{ ĊĠĠĠĠĠĠĠ Ġregister N ais Api ( application State ) ĊĠĠĠĠĠĠĠ Ġregister Metric Api () ĊĠĠĠĠĠĠĠ Ġroute ( API _ BASE _ PATH ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauthenticate ( Jwt Issuer Type . INTERNAL _ AZURE AD _ VE ILE DER _ V 2 . name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġregister Be handler Api V 2 ( partner Inform as jon Service ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ