summaryrefslogtreecommitdiff
path: root/internal/config/server
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/server
parentc907dd82c9ba2e7b1924b9f4febba68f9b04a38d (diff)
Partners and Servers are now slices
Diffstat (limited to 'internal/config/server')
-rw-r--r--internal/config/server/server.go30
1 files changed, 10 insertions, 20 deletions
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")
-}