From 072031f86c4eef273b74942c72ff94845c3a97d1 Mon Sep 17 00:00:00 2001 From: Dan Jones Date: Thu, 23 Mar 2023 20:43:49 -0500 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Add=20remaining=20configs=20with=20?= =?UTF-8?q?defaults?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/config.go | 64 +++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 53 insertions(+), 11 deletions(-) diff --git a/config/config.go b/config/config.go index 850af5b..26e731c 100644 --- a/config/config.go +++ b/config/config.go @@ -6,23 +6,65 @@ import ( "path/filepath" ) +type ProfileMetadata struct { + Key string `toml:"key"` + Value string `toml:"value"` +} + +type BlockedServer struct { + Hostname string `toml:"hostname"` + Reason string `toml:"reason"` +} + +type PrivacyReplace struct { + Domain string `toml:"domain"` + ReplaceBy string `toml:"replace_by"` +} + type Config struct { - Domain string `toml:"domain"` - Username string `toml:"username"` - Password string `toml:"admin_password"` - Name string `toml:"name"` - Summary string `toml:"summary"` - Https bool `toml:"https"` - IconUrl string `toml:"icon_url""` - ImageUrl string `toml:"image_url"` - Secret string `toml:"secret"` - TrustedHosts []string `toml:"trusted_hosts"` - ManuallyApproveFollers bool `toml:"manually_approves_followers"` + Domain string `toml:"domain"` + Username string `toml:"username"` + Password string `toml:"admin_password"` + Name string `toml:"name"` + Summary string `toml:"summary"` + Https bool `toml:"https"` + IconUrl string `toml:"icon_url""` + ImageUrl string `toml:"image_url"` + Metadata []ProfileMetadata `toml:"metadata"` + Secret string `toml:"secret"` + TrustedHosts []string `toml:"trusted_hosts"` + ManuallyApprove bool `toml:"manually_approves_followers"` + BlockedServers []BlockedServer `toml:"blocked_servers"` + CustomFooter string `toml:"custom_footer"` + Emoji string `toml:"emoji"` + DisabledNotificaions []string `toml:"disabled_notifications"` + CodeTheme string `toml:"code_highlighting_theme"` + AlsoKnownAs string `toml:"also_known_as"` + HideFollowers bool `toml:"hides_followers"` + HideFollowing bool `toml:"hides_following"` + InboxRetentionDays int `toml:"inbox_retention_days"` + CustomCSP string `toml:"custom_content_security_policy"` + WebfingerDomain string `toml:"webfinger_domain"` + Debug bool `toml:"debug"` + PrivacyReplace []PrivacyReplace `toml:"privacy_replace"` + KeyPath string `toml:"key_path"` + SessionTimeout int `toml:"session_timeout"` + Id string `toml:"id"` } var config Config +func newConfig() Config { + return Config{ + TrustedHosts: []string{"127.0.0.1"}, + CodeTheme: "friendly_grayscale", + InboxRetentionDays: 15, + SessionTimeout: 3600 * 24 * 3, + } +} + func init() { + config = newConfig() configPath := configdir.LocalConfig("gopub") if err := configdir.MakePath(configPath); err != nil { panic(err)