diff options
Diffstat (limited to 'internal/processing/account')
-rw-r--r-- | internal/processing/account/account.go | 7 | ||||
-rw-r--r-- | internal/processing/account/account_test.go | 9 | ||||
-rw-r--r-- | internal/processing/account/create.go | 10 | ||||
-rw-r--r-- | internal/processing/account/createblock.go | 2 | ||||
-rw-r--r-- | internal/processing/account/createfollow.go | 2 | ||||
-rw-r--r-- | internal/processing/account/update.go | 15 |
6 files changed, 26 insertions, 19 deletions
diff --git a/internal/processing/account/account.go b/internal/processing/account/account.go index 4e807540c..c37261adc 100644 --- a/internal/processing/account/account.go +++ b/internal/processing/account/account.go @@ -23,7 +23,6 @@ import ( "mime/multipart" apimodel "github.com/superseriousbusiness/gotosocial/internal/api/model" - "github.com/superseriousbusiness/gotosocial/internal/config" "github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/federation" "github.com/superseriousbusiness/gotosocial/internal/gtserror" @@ -78,7 +77,6 @@ type Processor interface { type processor struct { tc typeutils.TypeConverter - config *config.Config mediaHandler media.Handler fromClientAPI chan messages.FromClientAPI oauthServer oauth.Server @@ -89,15 +87,14 @@ type processor struct { } // New returns a new account processor. -func New(db db.DB, tc typeutils.TypeConverter, mediaHandler media.Handler, oauthServer oauth.Server, fromClientAPI chan messages.FromClientAPI, federator federation.Federator, config *config.Config) Processor { +func New(db db.DB, tc typeutils.TypeConverter, mediaHandler media.Handler, oauthServer oauth.Server, fromClientAPI chan messages.FromClientAPI, federator federation.Federator) Processor { return &processor{ tc: tc, - config: config, mediaHandler: mediaHandler, fromClientAPI: fromClientAPI, oauthServer: oauthServer, filter: visibility.NewFilter(db), - formatter: text.NewFormatter(config, db), + formatter: text.NewFormatter(db), db: db, federator: federator, } diff --git a/internal/processing/account/account_test.go b/internal/processing/account/account_test.go index 9bc97a77b..17893b4c0 100644 --- a/internal/processing/account/account_test.go +++ b/internal/processing/account/account_test.go @@ -22,7 +22,6 @@ import ( "codeberg.org/gruf/go-store/kv" "github.com/stretchr/testify/suite" "github.com/superseriousbusiness/activity/pub" - "github.com/superseriousbusiness/gotosocial/internal/config" "github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/email" "github.com/superseriousbusiness/gotosocial/internal/federation" @@ -39,7 +38,6 @@ import ( type AccountStandardTestSuite struct { // standard suite interfaces suite.Suite - config *config.Config db db.DB tc typeutils.TypeConverter storage *kv.KVStore @@ -76,9 +74,10 @@ func (suite *AccountStandardTestSuite) SetupSuite() { } func (suite *AccountStandardTestSuite) SetupTest() { - suite.config = testrig.NewTestConfig() - suite.db = testrig.NewTestDB() testrig.InitTestLog() + testrig.InitTestConfig() + + suite.db = testrig.NewTestDB() suite.tc = testrig.NewTestTypeConverter(suite.db) suite.storage = testrig.NewTestStorage() suite.mediaHandler = testrig.NewTestMediaHandler(suite.db, suite.storage) @@ -89,7 +88,7 @@ func (suite *AccountStandardTestSuite) SetupTest() { suite.federator = testrig.NewTestFederator(suite.db, suite.transportController, suite.storage) suite.sentEmails = make(map[string]string) suite.emailSender = testrig.NewEmailSender("../../../web/template/", suite.sentEmails) - suite.accountProcessor = account.New(suite.db, suite.tc, suite.mediaHandler, suite.oauthServer, suite.fromClientAPIChan, suite.federator, suite.config) + suite.accountProcessor = account.New(suite.db, suite.tc, suite.mediaHandler, suite.oauthServer, suite.fromClientAPIChan, suite.federator) testrig.StandardDBSetup(suite.db, nil) testrig.StandardStorageSetup(suite.storage, "../../../testrig/media") } diff --git a/internal/processing/account/create.go b/internal/processing/account/create.go index a13e84a78..3d024417b 100644 --- a/internal/processing/account/create.go +++ b/internal/processing/account/create.go @@ -23,9 +23,11 @@ import ( "fmt" "github.com/sirupsen/logrus" + "github.com/spf13/viper" "github.com/superseriousbusiness/gotosocial/internal/ap" apimodel "github.com/superseriousbusiness/gotosocial/internal/api/model" + "github.com/superseriousbusiness/gotosocial/internal/config" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/messages" "github.com/superseriousbusiness/gotosocial/internal/text" @@ -51,14 +53,18 @@ func (p *processor) Create(ctx context.Context, applicationToken oauth2.TokenInf return nil, fmt.Errorf("username %s in use", form.Username) } + keys := config.Keys + reasonRequired := viper.GetBool(keys.AccountsReasonRequired) + approvalRequired := viper.GetBool(keys.AccountsApprovalRequired) + // don't store a reason if we don't require one reason := form.Reason - if !p.config.AccountsConfig.ReasonRequired { + if !reasonRequired { reason = "" } l.Trace("creating new username and account") - user, err := p.db.NewSignup(ctx, form.Username, text.RemoveHTML(reason), p.config.AccountsConfig.RequireApproval, form.Email, form.Password, form.IP, form.Locale, application.ID, false, false) + user, err := p.db.NewSignup(ctx, form.Username, text.RemoveHTML(reason), approvalRequired, form.Email, form.Password, form.IP, form.Locale, application.ID, false, false) if err != nil { return nil, fmt.Errorf("error creating new signup in the database: %s", err) } diff --git a/internal/processing/account/createblock.go b/internal/processing/account/createblock.go index 347f19bee..6785ffed1 100644 --- a/internal/processing/account/createblock.go +++ b/internal/processing/account/createblock.go @@ -57,7 +57,7 @@ func (p *processor) BlockCreate(ctx context.Context, requestingAccount *gtsmodel block.Account = requestingAccount block.TargetAccountID = targetAccountID block.TargetAccount = targetAccount - block.URI = util.GenerateURIForBlock(requestingAccount.Username, p.config.Protocol, p.config.Host, newBlockID) + block.URI = util.GenerateURIForBlock(requestingAccount.Username, newBlockID) // whack it in the database if err := p.db.Put(ctx, block); err != nil { diff --git a/internal/processing/account/createfollow.go b/internal/processing/account/createfollow.go index d3ca386ed..9b082187b 100644 --- a/internal/processing/account/createfollow.go +++ b/internal/processing/account/createfollow.go @@ -76,7 +76,7 @@ func (p *processor) FollowCreate(ctx context.Context, requestingAccount *gtsmode AccountID: requestingAccount.ID, TargetAccountID: form.ID, ShowReblogs: true, - URI: util.GenerateURIForFollow(requestingAccount.Username, p.config.Protocol, p.config.Host, newFollowID), + URI: util.GenerateURIForFollow(requestingAccount.Username, newFollowID), Notify: false, } if form.Reblogs != nil { diff --git a/internal/processing/account/update.go b/internal/processing/account/update.go index 54bf372e7..ca386eb39 100644 --- a/internal/processing/account/update.go +++ b/internal/processing/account/update.go @@ -23,12 +23,15 @@ import ( "context" "errors" "fmt" - "github.com/sirupsen/logrus" "io" "mime/multipart" + "github.com/sirupsen/logrus" + "github.com/spf13/viper" + "github.com/superseriousbusiness/gotosocial/internal/ap" apimodel "github.com/superseriousbusiness/gotosocial/internal/api/model" + "github.com/superseriousbusiness/gotosocial/internal/config" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/media" "github.com/superseriousbusiness/gotosocial/internal/messages" @@ -135,8 +138,9 @@ func (p *processor) Update(ctx context.Context, account *gtsmodel.Account, form // the account's new avatar image. func (p *processor) UpdateAvatar(ctx context.Context, avatar *multipart.FileHeader, accountID string) (*gtsmodel.MediaAttachment, error) { var err error - if int(avatar.Size) > p.config.MediaConfig.MaxImageSize { - err = fmt.Errorf("avatar with size %d exceeded max image size of %d bytes", avatar.Size, p.config.MediaConfig.MaxImageSize) + maxImageSize := viper.GetInt(config.Keys.MediaImageMaxSize) + if int(avatar.Size) > maxImageSize { + err = fmt.Errorf("avatar with size %d exceeded max image size of %d bytes", avatar.Size, maxImageSize) return nil, err } f, err := avatar.Open() @@ -168,8 +172,9 @@ func (p *processor) UpdateAvatar(ctx context.Context, avatar *multipart.FileHead // the account's new header image. func (p *processor) UpdateHeader(ctx context.Context, header *multipart.FileHeader, accountID string) (*gtsmodel.MediaAttachment, error) { var err error - if int(header.Size) > p.config.MediaConfig.MaxImageSize { - err = fmt.Errorf("header with size %d exceeded max image size of %d bytes", header.Size, p.config.MediaConfig.MaxImageSize) + maxImageSize := viper.GetInt(config.Keys.MediaImageMaxSize) + if int(header.Size) > maxImageSize { + err = fmt.Errorf("header with size %d exceeded max image size of %d bytes", header.Size, maxImageSize) return nil, err } f, err := header.Open() |