package Ġcom . ke k me ch . schedule . di Ċ Ċ import Ġcom . ke k me ch . schedule . configuration . Cache Configuration Ċ import Ġcom . ke k me ch . schedule . configuration . Database Configuration Ċ import Ġcom . ke k me ch . schedule . helpers . Module Provider Ċ import Ġio . ktor . application .* Ċ import Ġio . ktor . config .* Ċ import Ġio . ktor . util .* Ċ import Ġorg . k oin . dsl . bind Ċ Ċ @ Suppress (" EXPERIMENT AL _ API _ USAGE ") Ċ class ĠConfiguration Module ( env : ĠApplication Environment ) Ġ: ĠModule Provider ({ ĊĠĠĠ Ġsingle Ġ{ ĊĠĠĠĠĠĠĠ Ġenv . config ĊĠĠĠ Ġ} Ġbind ĠApplication Config :: class ĊĊĠĠĠ Ġval Ġcache DirPath Ġ= Ġ" application . cache . dir " ĊĠĠĠ Ġval Ġcache Limit Path Ġ= Ġ" application . cache . limit " ĊĊĠĠĠ Ġsingle Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= Ġget < Application Config >() ĊĠĠĠĠĠĠĠ ĠCache Configuration ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdir Ġ= Ġconfig . getString ( cache DirPath ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlimit Ġ= Ġconfig . getLong ( cache Limit Path ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ġbind ĠCache Configuration :: class ĊĊĠĠĠ Ġval Ġdb Url Path Ġ= Ġ" application . db . url " ĊĠĠĠ Ġval Ġdb User Path Ġ= Ġ" application . db . user " ĊĠĠĠ Ġval Ġdb Password Path Ġ= Ġ" application . db . password " ĊĊĠĠĠ Ġsingle Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= Ġget < Application Config >() ĊĠĠĠĠĠĠĠ ĠDatabase Configuration ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġconfig . getString ( db Url Path ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser Ġ= Ġconfig . getString ( db User Path ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Ġ= Ġconfig . getString ( db Password Path ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ġbind ĠDatabase Configuration :: class Ċ }) Ċ Ċ @ K tor Experimental API Ċ fun ĠApplication Config . getString ( path : ĠString ) Ġ= Ġproperty ( path ). getString () Ċ Ċ @ K tor Experimental API Ċ fun ĠApplication Config . getLong ( path : ĠString ) Ġ= Ġproperty ( path ). getString (). to Long () Ċ