diff options
Diffstat (limited to 'roseh.moe.go')
| -rw-r--r-- | roseh.moe.go | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/roseh.moe.go b/roseh.moe.go index 3af0ef9..762eb4e 100644 --- a/roseh.moe.go +++ b/roseh.moe.go @@ -95,15 +95,21 @@ func loadConfig() (*serviceConfiguration, error) { return nil, err } var fileConfig struct { - PackageRedirects map[string]string - CommandRedirects map[string]string + Redirect []struct{ Package, Command, To string } } if err := asspb.Unmarshal(fileBytes, &fileConfig); err != nil { return nil, err } config := &serviceConfiguration{ - packageRedirects: fileConfig.PackageRedirects, - commandRedirects: fileConfig.CommandRedirects, + packageRedirects: make(map[string]string), + commandRedirects: make(map[string]string), + } + for _, redirect := range fileConfig.Redirect { + if redirect.Package != "" { + config.packageRedirects[redirect.Package] = redirect.To + } else { + config.commandRedirects[redirect.Command] = redirect.To + } } serviceConfigMu.Lock() serviceConfig = config |
