summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--roseh.moe.go14
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