This commit is contained in:
tsmethurst 2021-06-29 16:31:11 +02:00
commit 3f546e8b32
4 changed files with 36 additions and 36 deletions

View file

@ -21,25 +21,25 @@ package account
import "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" import "github.com/superseriousbusiness/gotosocial/internal/gtsmodel"
func (p *processor) Delete(account *gtsmodel.Account) error { func (p *processor) Delete(account *gtsmodel.Account) error {
// TODO in this function: // TODO in this function:
// 1. Delete account's application(s), clients, and oauth tokens // 1. Delete account's application(s), clients, and oauth tokens
// 2. Delete account's blocks // 2. Delete account's blocks
// 3. Delete account's emoji // 3. Delete account's emoji
// 4. Delete account's follow requests // 4. Delete account's follow requests
// 5. Delete account's follows // 5. Delete account's follows
// 6. Delete account's follow requests // 6. Delete account's follow requests
// 7. Delete account's media attachments // 7. Delete account's media attachments
// 8. Delete account's mentions // 8. Delete account's mentions
// 9. Delete account's notifications // 9. Delete account's notifications
// 10. Delete account's polls // 10. Delete account's polls
// 11. Delete account's statuses // 11. Delete account's statuses
// 12. Delete account's bookmarks // 12. Delete account's bookmarks
// 13. Delete account's faves // 13. Delete account's faves
// 14. Delete account's mutes // 14. Delete account's mutes
// 15. Delete account's streams // 15. Delete account's streams
// 16. Delete account's tags // 16. Delete account's tags
// 17. Delete account's user // 17. Delete account's user
// 18. Delete account's timeline // 18. Delete account's timeline
return nil return nil
} }

View file

@ -36,14 +36,14 @@ func (p *processor) Get(requestingAccount *gtsmodel.Account, targetAccountID str
return nil, fmt.Errorf("db error: %s", err) return nil, fmt.Errorf("db error: %s", err)
} }
// lazily dereference things on the account if it hasn't been done yet // lazily dereference things on the account if it hasn't been done yet
var requestingUsername string var requestingUsername string
if requestingAccount != nil { if requestingAccount != nil {
requestingUsername = requestingAccount.Username requestingUsername = requestingAccount.Username
} }
if err := p.federator.DereferenceAccountFields(targetAccount, requestingUsername, false); err != nil { if err := p.federator.DereferenceAccountFields(targetAccount, requestingUsername, false); err != nil {
p.log.WithField("func", "AccountGet").Debugf("dereferencing account: %s", err) p.log.WithField("func", "AccountGet").Debugf("dereferencing account: %s", err)
} }
var mastoAccount *apimodel.Account var mastoAccount *apimodel.Account
var err error var err error

View file

@ -47,11 +47,11 @@ type processor struct {
// New returns a new admin processor. // New returns a new admin processor.
func New(db db.DB, tc typeutils.TypeConverter, mediaHandler media.Handler, fromClientAPI chan gtsmodel.FromClientAPI, config *config.Config, log *logrus.Logger) Processor { func New(db db.DB, tc typeutils.TypeConverter, mediaHandler media.Handler, fromClientAPI chan gtsmodel.FromClientAPI, config *config.Config, log *logrus.Logger) Processor {
return &processor{ return &processor{
tc: tc, tc: tc,
config: config, config: config,
mediaHandler: mediaHandler, mediaHandler: mediaHandler,
fromClientAPI: fromClientAPI, fromClientAPI: fromClientAPI,
db: db, db: db,
log: log, log: log,
} }
} }

View file

@ -116,10 +116,10 @@ func (p *processor) initiateDomainBlockSideEffects(block *gtsmodel.DomainBlock)
// delete accounts through the normal account deletion system (which should also delete media + posts + remove posts from timelines) // delete accounts through the normal account deletion system (which should also delete media + posts + remove posts from timelines)
limit := 20 // just select 20 accounts at a time so we don't nuke our DB/mem with one huge query limit := 20 // just select 20 accounts at a time so we don't nuke our DB/mem with one huge query
var maxID string // this is initially an empty string so we'll start at the top of accounts list (sorted by ID) var maxID string // this is initially an empty string so we'll start at the top of accounts list (sorted by ID)
selectAccountsLoop: selectAccountsLoop:
for { for {
accounts, err := p.db.GetAccountsForInstance(block.Domain, maxID, limit) accounts, err := p.db.GetAccountsForInstance(block.Domain, maxID, limit)
if err != nil { if err != nil {
@ -143,7 +143,7 @@ func (p *processor) initiateDomainBlockSideEffects(block *gtsmodel.DomainBlock)
} }
// if this is the last account in the slice, set the maxID appropriately for the next query // if this is the last account in the slice, set the maxID appropriately for the next query
if i == len(accounts) -1 { if i == len(accounts)-1 {
maxID = a.ID maxID = a.ID
} }
} }