package Ġde . mic rom ata . b org but ler . server . rest Ċ Ċ import Ġde . mic rom ata . b org but ler . B org Command Result Ċ import Ġde . mic rom ata . b org but ler . B org Commands Ċ import Ġde . mic rom ata . b org but ler . cache . But ler Cache Ċ import Ġde . mic rom ata . b org but ler . config . B org Repo Config Ċ import Ġde . mic rom ata . b org but ler . config . Configuration Handler Ċ import Ġde . mic rom ata . b org but ler . data . Repository Ċ import Ġde . mic rom ata . b org but ler . jobs . Job Result Ċ import Ġde . mic rom ata . b org but ler . json . Json Utils Ċ import Ġmu . Kotlin Logging Ċ import Ġorg . springframework . web . bind . annotation .* Ċ Ċ private Ġval Ġlog Ġ= ĠKotlin Logging . logger Ġ{} Ċ Ċ @ RestController Ċ @ RequestMapping ("/ rest / repo Config ") Ċ class ĠB org Repo Configs Rest Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ param Ġid ĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġor Ġname Ġof Ġrepo . ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ B org Repo Config ] Ġas Ġjson Ġstring . ĊĠĠĠĠ Ġ* Ġ@ see ĠJson Utils . toJson ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ GetMapping ĊĠĠĠ Ġfun Ġget Repo Config ( ĊĠĠĠĠĠĠĠ Ġ@ RequestParam (" id ") Ġid : ĠString ĊĠĠĠ Ġ): ĠB org Repo Config ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠConfiguration Handler . getConfiguration (). get Repo Config ( id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ PostMapping ĊĠĠĠ Ġfun Ġset Repo Config (@ RequestBody Ġnew Repo Config : ĠB org Repo Config ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(" new " Ġ== Ġnew Repo Config . getId ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew Repo Config . setId ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConfiguration Handler . getConfiguration (). add ( new Repo Config ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ(" init " Ġ== Ġnew Repo Config . getId ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew Repo Config . setId ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConfiguration Handler . getConfiguration (). add ( new Repo Config ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrepo Config : ĠB org Repo Config ? Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConfiguration Handler . getConfiguration (). get Repo Config ( new Repo Config . getId ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( repo Config Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . error (" Can 't Ġfind Ġrepo Ġconfig Ġ'" Ġ+ Ġnew Repo Config . getId () Ġ+ Ġ" '. ĠCan 't Ġsave Ġnew Ġsettings .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBut ler Cache . getInstance (). clear Repo Cache Access ( repo Config . get Repo ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBut ler Cache . getInstance (). clear Repo Cache Access ( new Repo Config . get Repo ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepo Config . copyFrom ( new Repo Config ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠConfiguration Handler . getInstance (). save () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ param Ġid Or Name Ġid Ġor Ġname Ġof Ġrepo Ġto Ġremove Ġfrom ĠB org But ler . ĊĠĠĠĠ Ġ* Ġ@ return Ġ" OK " Ġif Ġremoved Ġor Ġerror Ġstring . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ GetMapping (" remove ") ĊĠĠĠ Ġfun Ġremove Repo Config (@ RequestParam (" id ") Ġid Or Name : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult : ĠBoolean Ġ= ĠConfiguration Handler . getConfiguration (). remove ( id Or Name ) ĊĠĠĠĠĠĠĠ Ġif Ġ(! result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġerror Ġ= Ġ" Repo Ġconfig Ġwith Ġid Ġor Ġname Ġ'$ id Or Name ' Ġnot Ġfound . ĠCan 't Ġremove Ġthe Ġrepo ." ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . error ( error ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġerror ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠConfiguration Handler . getInstance (). save () ĊĠĠĠĠĠĠĠ Ġreturn Ġ" OK " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ param Ġjson Repo Config ĠAll Ġconfiguration Ġvalue Ġof Ġthe Ġrepo Ġto Ġcheck . ĊĠĠĠĠ Ġ* Ġ@ return ĠResult Ġof Ġb org Ġ( t bd .). ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ PostMapping (" check ") ĊĠĠĠ Ġfun Ġcheck Config (@ RequestBody Ġrepo Config : ĠB org Repo Config ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . info (" Testing Ġrepo Ġconfig : Ġ$ repo Config ") ĊĠĠĠĠĠĠĠ Ġval Ġresult : ĠB org Command Result < Repository > Ġ= ĠB org Commands . info ( repo Config ) ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( result . getStatus () Ġ== ĠJob Result . Status . OK ) Ġ" OK " Ġelse Ġresult . getError () ĊĠĠĠ Ġ} Ċ } Ċ