New setting delegated_qa to store QA managers

This commit is contained in:
nemunaire 2023-07-25 09:04:31 +02:00
commit d2f409db7a
11 changed files with 148 additions and 20 deletions

View file

@ -13,6 +13,7 @@ import (
"srs.epita.fr/fic-server/libfic"
"srs.epita.fr/fic-server/qa/api"
"srs.epita.fr/fic-server/settings"
)
type ResponseWriterPrefix struct {
@ -55,6 +56,10 @@ func StripPrefix(prefix string, h http.Handler) http.Handler {
})
}
func reloadSettings(config *settings.Settings) {
api.ManagerUsers = config.DelegatedQA
}
func main() {
// Read paremeters from environment
if v, exists := os.LookupEnv("FIC_BASEURL"); exists {
@ -66,6 +71,7 @@ func main() {
var dsn = flag.String("dsn", fic.DSNGenerator(), "DSN to connect to the MySQL server")
flag.StringVar(&BaseURL, "baseurl", BaseURL, "URL prepended to each URL")
flag.StringVar(&DevProxy, "dev", DevProxy, "Proxify traffic to this host for static assets")
flag.StringVar(&settings.SettingsDir, "settings", "./SETTINGSDIST", "Base directory where load and save settings")
flag.StringVar(&api.TeamsDir, "teams", "./TEAMS", "Base directory where save teams JSON files")
flag.StringVar(&api.Simulator, "simulator", "", "Auth string to simulate (for development only)")
flag.Parse()
@ -86,6 +92,9 @@ func main() {
}
}
// Load configuration
settings.LoadAndWatchSettings(path.Join(settings.SettingsDir, settings.SettingsFile), reloadSettings)
// Database connection
log.Println("Opening database...")
if err = fic.DBInit(*dsn); err != nil {