From 0884f89431cd26bcc9674b3b7ab628b090f5881e Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Tue, 7 Dec 2021 13:31:39 +0100 Subject: Implement Cobra CLI tooling, Viper config tooling (#336) * start pulling out + replacing urfave and config * replace many many instances of config * move more stuff => viper * properly remove urfave * move some flags to root command * add testrig commands to root * alias config file keys * start adding cli parsing tests * reorder viper init * remove config path alias * fmt * change config file keys to non-nested * we're more or less in business now * tidy up the common func * go fmt * get tests passing again * add note about the cliparsing tests * reorganize * update docs with changes * structure cmd dir better * rename + move some files around * fix dangling comma --- internal/typeutils/internaltofrontend.go | 35 ++++++++++++++++---------------- 1 file changed, 18 insertions(+), 17 deletions(-) (limited to 'internal/typeutils/internaltofrontend.go') diff --git a/internal/typeutils/internaltofrontend.go b/internal/typeutils/internaltofrontend.go index 272ffc175..4dd8e335b 100644 --- a/internal/typeutils/internaltofrontend.go +++ b/internal/typeutils/internaltofrontend.go @@ -21,11 +21,14 @@ package typeutils import ( "context" "fmt" - "github.com/sirupsen/logrus" "strings" "time" + "github.com/sirupsen/logrus" + "github.com/spf13/viper" + "github.com/superseriousbusiness/gotosocial/internal/api/model" + "github.com/superseriousbusiness/gotosocial/internal/config" "github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" ) @@ -567,34 +570,32 @@ func (c *converter) InstanceToAPIInstance(ctx context.Context, i *gtsmodel.Insta } // if the requested instance is *this* instance, we can add some extra information - if i.Domain == c.config.Host { - userCountKey := "user_count" - statusCountKey := "status_count" - domainCountKey := "domain_count" - - userCount, err := c.db.CountInstanceUsers(ctx, c.config.Host) + keys := config.Keys + host := viper.GetString(keys.Host) + if i.Domain == host { + userCount, err := c.db.CountInstanceUsers(ctx, host) if err == nil { - mi.Stats[userCountKey] = userCount + mi.Stats["user_count"] = userCount } - statusCount, err := c.db.CountInstanceStatuses(ctx, c.config.Host) + statusCount, err := c.db.CountInstanceStatuses(ctx, host) if err == nil { - mi.Stats[statusCountKey] = statusCount + mi.Stats["status_count"] = statusCount } - domainCount, err := c.db.CountInstanceDomains(ctx, c.config.Host) + domainCount, err := c.db.CountInstanceDomains(ctx, host) if err == nil { - mi.Stats[domainCountKey] = domainCount + mi.Stats["domain_count"] = domainCount } - mi.Registrations = c.config.AccountsConfig.OpenRegistration - mi.ApprovalRequired = c.config.AccountsConfig.RequireApproval + mi.Registrations = viper.GetBool(keys.AccountsRegistrationOpen) + mi.ApprovalRequired = viper.GetBool(keys.AccountsApprovalRequired) mi.InvitesEnabled = false // TODO - mi.MaxTootChars = uint(c.config.StatusesConfig.MaxChars) + mi.MaxTootChars = uint(viper.GetInt(keys.StatusesMaxChars)) mi.URLS = &model.InstanceURLs{ - StreamingAPI: fmt.Sprintf("wss://%s", c.config.Host), + StreamingAPI: fmt.Sprintf("wss://%s", host), } - mi.Version = c.config.SoftwareVersion + mi.Version = viper.GetString(keys.SoftwareVersion) } // get the instance account if it exists and just skip if it doesn't -- cgit v1.2.3