diff options
| author | 2022-10-03 10:46:11 +0200 | |
|---|---|---|
| committer | 2022-10-03 10:46:11 +0200 | |
| commit | 56f53a2a6f85876485e2ae67d48b78b448caed6e (patch) | |
| tree | 9bd8d3fcaffd515d3dc90ff22c6cee17e8d0b073 /internal/processing/account | |
| parent | [feature] Enlarge active/hovered custom emojis in statuses (#877) (diff) | |
| download | gotosocial-56f53a2a6f85876485e2ae67d48b78b448caed6e.tar.xz | |
[performance] add user cache and database (#879)
* go fmt
* add + use user cache and database
* fix import
* update tests
* remove unused relation
Diffstat (limited to 'internal/processing/account')
| -rw-r--r-- | internal/processing/account/delete.go | 19 | 
1 files changed, 11 insertions, 8 deletions
diff --git a/internal/processing/account/delete.go b/internal/processing/account/delete.go index 3a5a9c622..3758a4000 100644 --- a/internal/processing/account/delete.go +++ b/internal/processing/account/delete.go @@ -70,13 +70,14 @@ func (p *processor) Delete(ctx context.Context, account *gtsmodel.Account, origi  	// 1. Delete account's application(s), clients, and oauth tokens  	// we only need to do this step for local account since remote ones won't have any tokens or applications on our server +	var user *gtsmodel.User  	if account.Domain == "" {  		// see if we can get a user for this account -		u := >smodel.User{} -		if err := p.db.GetWhere(ctx, []db.Where{{Key: "account_id", Value: account.ID}}, u); err == nil { +		var err error +		if user, err = p.db.GetUserByAccountID(ctx, account.ID); err == nil {  			// we got one! select all tokens with the user's ID  			tokens := []*gtsmodel.Token{} -			if err := p.db.GetWhere(ctx, []db.Where{{Key: "user_id", Value: u.ID}}, &tokens); err == nil { +			if err := p.db.GetWhere(ctx, []db.Where{{Key: "user_id", Value: user.ID}}, &tokens); err == nil {  				// we have some tokens to delete  				for _, t := range tokens {  					// delete client(s) associated with this token @@ -240,9 +241,11 @@ selectStatusesLoop:  	// TODO  	// 16. Delete account's user -	l.Debug("deleting account user") -	if err := p.db.DeleteWhere(ctx, []db.Where{{Key: "account_id", Value: account.ID}}, >smodel.User{}); err != nil { -		return gtserror.NewErrorInternalError(err) +	if user != nil { +		l.Debug("deleting account user") +		if err := p.db.DeleteUserByID(ctx, user.ID); err != nil { +			return gtserror.NewErrorInternalError(err) +		}  	}  	// 17. Delete account's timeline @@ -288,8 +291,8 @@ func (p *processor) DeleteLocal(ctx context.Context, account *gtsmodel.Account,  	if form.DeleteOriginID == account.ID {  		// the account owner themself has requested deletion via the API, get their user from the db -		user := >smodel.User{} -		if err := p.db.GetWhere(ctx, []db.Where{{Key: "account_id", Value: account.ID}}, user); err != nil { +		user, err := p.db.GetUserByAccountID(ctx, account.ID) +		if err != nil {  			return gtserror.NewErrorInternalError(err)  		}  | 
