From ac6ed3d939fe9dad81aadbd04541e905c625ca82 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Mon, 15 Aug 2022 12:35:05 +0200 Subject: [chore] Update bun / sqlite versions; update gtsmodels (#754) * upstep bun and sqlite versions * allow specific columns to be updated in the db * only update necessary columns for user * bit tidier * only update necessary fields of media_attachment * only update relevant instance fields * update tests * update only specific account columns * use bool pointers on gtsmodels includes attachment, status, account, user * update columns more selectively * test all default fields on new account insert * updating remaining bools on gtsmodels * initialize pointer fields when extracting AP emoji * copy bools properly * add copyBoolPtr convenience function + test it * initialize false bool ptrs a bit more neatly --- internal/processing/account/createfollow.go | 12 +++++++----- internal/processing/account/delete.go | 6 ++++-- internal/processing/account/update.go | 8 ++++---- internal/processing/account/update_test.go | 4 ++-- 4 files changed, 17 insertions(+), 13 deletions(-) (limited to 'internal/processing/account') diff --git a/internal/processing/account/createfollow.go b/internal/processing/account/createfollow.go index 49430b9fb..7e7692135 100644 --- a/internal/processing/account/createfollow.go +++ b/internal/processing/account/createfollow.go @@ -76,19 +76,21 @@ func (p *processor) FollowCreate(ctx context.Context, requestingAccount *gtsmode return nil, gtserror.NewErrorInternalError(err) } + showReblogs := true + notify := false fr := >smodel.FollowRequest{ ID: newFollowID, AccountID: requestingAccount.ID, TargetAccountID: form.ID, - ShowReblogs: true, + ShowReblogs: &showReblogs, URI: uris.GenerateURIForFollow(requestingAccount.Username, newFollowID), - Notify: false, + Notify: ¬ify, } if form.Reblogs != nil { - fr.ShowReblogs = *form.Reblogs + fr.ShowReblogs = form.Reblogs } if form.Notify != nil { - fr.Notify = *form.Notify + fr.Notify = form.Notify } // whack it in the database @@ -97,7 +99,7 @@ func (p *processor) FollowCreate(ctx context.Context, requestingAccount *gtsmode } // if it's a local account that's not locked we can just straight up accept the follow request - if !targetAcct.Locked && targetAcct.Domain == "" { + if !*targetAcct.Locked && targetAcct.Domain == "" { if _, err := p.db.AcceptFollowRequest(ctx, requestingAccount.ID, form.ID); err != nil { return nil, gtserror.NewErrorInternalError(fmt.Errorf("accountfollowcreate: error accepting folow request for local unlocked account: %s", err)) } diff --git a/internal/processing/account/delete.go b/internal/processing/account/delete.go index 7b382f17c..f71f08954 100644 --- a/internal/processing/account/delete.go +++ b/internal/processing/account/delete.go @@ -285,8 +285,10 @@ selectStatusesLoop: account.HeaderRemoteURL = "" account.Reason = "" account.Fields = []gtsmodel.Field{} - account.HideCollections = true - account.Discoverable = false + hideCollections := true + account.HideCollections = &hideCollections + discoverable := false + account.Discoverable = &discoverable account.SuspendedAt = time.Now() account.SuspensionOrigin = origin diff --git a/internal/processing/account/update.go b/internal/processing/account/update.go index 804e7ba7e..3b844a160 100644 --- a/internal/processing/account/update.go +++ b/internal/processing/account/update.go @@ -39,11 +39,11 @@ import ( func (p *processor) Update(ctx context.Context, account *gtsmodel.Account, form *apimodel.UpdateCredentialsRequest) (*apimodel.Account, gtserror.WithCode) { if form.Discoverable != nil { - account.Discoverable = *form.Discoverable + account.Discoverable = form.Discoverable } if form.Bot != nil { - account.Bot = *form.Bot + account.Bot = form.Bot } if form.DisplayName != nil { @@ -92,7 +92,7 @@ func (p *processor) Update(ctx context.Context, account *gtsmodel.Account, form } if form.Locked != nil { - account.Locked = *form.Locked + account.Locked = form.Locked } if form.Source != nil { @@ -104,7 +104,7 @@ func (p *processor) Update(ctx context.Context, account *gtsmodel.Account, form } if form.Source.Sensitive != nil { - account.Sensitive = *form.Source.Sensitive + account.Sensitive = form.Source.Sensitive } if form.Source.Privacy != nil { diff --git a/internal/processing/account/update_test.go b/internal/processing/account/update_test.go index 7e4ca818e..0483154c6 100644 --- a/internal/processing/account/update_test.go +++ b/internal/processing/account/update_test.go @@ -65,7 +65,7 @@ func (suite *AccountUpdateTestSuite) TestAccountUpdateSimple() { // fields should be updated in the database as well dbAccount, err := suite.db.GetAccountByID(context.Background(), testAccount.ID) suite.NoError(err) - suite.True(dbAccount.Locked) + suite.True(*dbAccount.Locked) suite.Equal(displayName, dbAccount.DisplayName) suite.Equal(`
#hello here i am!
`, dbAccount.Note) } @@ -107,7 +107,7 @@ func (suite *AccountUpdateTestSuite) TestAccountUpdateWithMention() { // fields should be updated in the database as well dbAccount, err := suite.db.GetAccountByID(context.Background(), testAccount.ID) suite.NoError(err) - suite.True(dbAccount.Locked) + suite.True(*dbAccount.Locked) suite.Equal(displayName, dbAccount.DisplayName) suite.Equal(noteExpected, dbAccount.Note) } -- cgit v1.2.3