package Ġde . mic rom ata . b org but ler . server . rest Ċ Ċ import Ġde . mic rom ata . b org but ler . cache . But ler Cache Ċ import Ġde . mic rom ata . b org but ler . config . Configuration Handler Ċ import Ġde . mic rom ata . b org but ler . json . Json Utils Ċ import Ġde . mic rom ata . b org but ler . server . B org Installation Ċ import Ġde . mic rom ata . b org but ler . server . Server Configuration Ċ import Ġde . mic rom ata . b org but ler . server . user . UserData Ċ import Ġde . mic rom ata . b org but ler . server . user . User Manager Ċ import Ġmu . Kotlin Logging Ċ import Ġorg . apache . commons . lang 3 . StringUtils Ċ import Ġorg . springframework . web . bind . annotation .* Ċ Ċ private Ġval Ġlog Ġ= ĠKotlin Logging . logger Ġ{} Ċ Ċ @ RestController Ċ @ RequestMapping ("/ rest / configuration ") Ċ class ĠConfiguration Rest Ġ{ ĊĊĠĠĠ Ġ@ GetMapping (" config ") ĊĠĠĠ Ġfun ĠgetConfig (): ĠConfiguration Info Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfiguration Info Ġ= ĠConfiguration Info () ĊĠĠĠĠĠĠĠ Ġconfiguration Info . server Configuration Ġ= ĠServer Configuration . get () ĊĠĠĠĠĠĠĠ Ġconfiguration Info . b org Version Ġ= ĠB org Installation . getInstance (). b org Version ĊĠĠĠĠĠĠĠ Ġreturn Ġconfiguration Info ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ PostMapping (" config ") ĊĠĠĠ Ġfun Ġset Config (@ RequestBody Ġconfiguration Info : ĠConfiguration Info ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfiguration Handler Ġ= ĠConfiguration Handler . getInstance () ĊĠĠĠĠĠĠĠ ĠB org Installation . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. configure ( configuration Info . server Configuration , Ġconfiguration Info . b org Version ?. b org Binary ) ĊĠĠĠĠĠĠĠ Ġval Ġconfiguration : ĠServer Configuration Ġ= ĠServer Configuration . get () ĊĠĠĠĠĠĠĠ Ġconfiguration Info . server Configuration ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfiguration . copyFrom ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġconfiguration Handler . save () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ GetMapping (" user ") ĊĠĠĠ Ġfun ĠgetUser (): ĠUser Data Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRest Utils . getUser () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ PostMapping (" user ") ĊĠĠĠ Ġfun ĠsetUser (@ RequestBody Ġuser : ĠUser Data ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( user . locale ?. language ?. isBlank () Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠDon 't Ġset Ġlocale Ġwith Ġ"" Ġas Ġlanguage . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser . locale Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( user . date Format ?. isBlank () Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠDon 't Ġset ĠdateFormat Ġas Ġ"". ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser . date Format Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠUser Manager . instance (). save User ( user ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRe sets Ġthe Ġsettings Ġto Ġdefault Ġvalues Ġ( de letes Ġall Ġsettings ). ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ GetMapping (" clear All Caches ") ĊĠĠĠ Ġfun Ġclear All Caches (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . info (" Clear Ġall Ġcaches Ġcalled ...") ĊĠĠĠĠĠĠĠ ĠBut ler Cache . getInstance (). clear All Caches () ĊĠĠĠĠĠĠĠ Ġreturn Ġ" OK " ĊĠĠĠ Ġ} Ċ } Ċ