summaryrefslogtreecommitdiff
path: root/internal/config
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2024-09-03 10:11:51 +0300
committerPaul Buetow <paul@buetow.org>2024-09-03 10:11:51 +0300
commit3e33b52642b2b4d5a0c7a8d3a7a6bb269553be1f (patch)
tree1fc4ef6c6cc98ec024b00d8874eec8e43485bef4 /internal/config
parentc907dd82c9ba2e7b1924b9f4febba68f9b04a38d (diff)
Partners and Servers are now slices
Diffstat (limited to 'internal/config')
-rw-r--r--internal/config/client/client.go32
-rw-r--r--internal/config/server/server.go30
2 files changed, 17 insertions, 45 deletions
diff --git a/internal/config/client/client.go b/internal/config/client/client.go
index acb3503..d6f2939 100644
--- a/internal/config/client/client.go
+++ b/internal/config/client/client.go
@@ -1,22 +1,20 @@
package client
import (
- "errors"
"fmt"
"log"
"os"
- "strings"
"codeberg.org/snonux/gos/internal/config"
)
type ClientConfig struct {
- Server string `json:"Partner,omitempty"`
- APIKey string `json:"APIKey,omitempty"`
- Editor string `json:"Editor,omitempty"`
- DataDir string `json:"StateDir,omitempty"`
- ComposeFile string `json:"ComposeFile,omitempty"`
- LogFile string `json:"LogFile,omitempty"`
+ Servers []string `json:"Servers,omitempty"`
+ APIKey string `json:"APIKey,omitempty"`
+ Editor string `json:"Editor,omitempty"`
+ DataDir string `json:"StateDir,omitempty"`
+ ComposeFile string `json:"ComposeFile,omitempty"`
+ LogFile string `json:"LogFile,omitempty"`
}
func New(configFile string) (ClientConfig, error) {
@@ -28,7 +26,7 @@ func New(configFile string) (ClientConfig, error) {
log.Println("Skipping config file:", err)
}
- conf.Server = config.EnvToStr("GOS_SERVERS", conf.Server)
+ conf.Servers = config.EnvToStrSlice("GOS_SERVERS", conf.Servers)
conf.APIKey = config.EnvToStr("GOS_API_KEY", conf.APIKey)
conf.Editor = config.EnvToStr("GOS_EDITOR", "EDITOR", conf.Editor, "vi")
@@ -41,19 +39,3 @@ func New(configFile string) (ClientConfig, error) {
return conf, nil
}
-
-func (conf ClientConfig) Servers() ([]string, error) {
- var servers []string
-
- for _, server := range strings.Split(conf.Server, ",") {
- if server != "" {
- servers = append(servers, server)
- }
- }
-
- if len(servers) == 0 {
- return servers, errors.New("no server(s) configured")
- }
-
- return servers, nil
-}
diff --git a/internal/config/server/server.go b/internal/config/server/server.go
index 1041a81..f0a0be3 100644
--- a/internal/config/server/server.go
+++ b/internal/config/server/server.go
@@ -4,21 +4,20 @@ import (
"fmt"
"log"
"os"
- "strings"
"codeberg.org/snonux/gos/internal/config"
)
type ServerConfig struct {
- ListenAddr string `json:"ListenAddr,omitempty"`
- Partner string `json:"Partner,omitempty"`
- APIKey string `json:"APIKey,omitempty"`
- DataDir string `json:"StateDir,omitempty"`
- EmailTo string `json:"EmailTo,omitempty"`
- EmailFrom string `json:"EmailFrom,omitempty"`
- SMTPServer string `json:"SMTPServer,omitempty"`
- MergeIntervalS int `json:"MergeInterval,omitempty"`
- ScheduleIntervalS int `json:"ScheduleInterval,omitempty"`
+ ListenAddr string `json:"ListenAddr,omitempty"`
+ Partners []string `json:"Partners,omitempty"`
+ APIKey string `json:"APIKey,omitempty"`
+ DataDir string `json:"StateDir,omitempty"`
+ EmailTo string `json:"EmailTo,omitempty"`
+ EmailFrom string `json:"EmailFrom,omitempty"`
+ SMTPServer string `json:"SMTPServer,omitempty"`
+ MergeIntervalS int `json:"MergeInterval,omitempty"`
+ ScheduleIntervalS int `json:"ScheduleInterval,omitempty"`
// SocialPlatformsEnable []string `json:"SocialPlatformsEnable,omitempty"`
Secrets SecretsConfig `json:"Secrets,omitempty"`
}
@@ -37,8 +36,7 @@ func New(configFile, secretsFile string) (ServerConfig, error) {
}
conf.ListenAddr = config.EnvToStr("GOS_LISTEN_ADDR", conf.ListenAddr, "localhost:8080")
- // TODO: Return an array or slice
- conf.Partner = config.EnvToStr("GOS_PARTNER", "GOS_PARTNERS", conf.Partner)
+ conf.Partners = config.EnvToStrSlice("GOS_PARTNERS", conf.Partners)
conf.APIKey = config.EnvToStr("GOS_API_KEY", conf.APIKey)
conf.DataDir = config.EnvToStr("GOS_DATA_DIR", conf.DataDir, "data")
conf.EmailTo = config.EnvToStr("GOS_EMAIL_TO", conf.EmailTo)
@@ -58,11 +56,3 @@ func New(configFile, secretsFile string) (ServerConfig, error) {
return conf, nil
}
-
-func (conf ServerConfig) Partners() ([]string, error) {
- if partners := strings.Split(conf.Partner, ","); partners[0] != "" {
- return partners, nil
- }
-
- return []string{}, fmt.Errorf("no partners configured")
-}