diff options
Diffstat (limited to 'internal/db/bundb')
| -rw-r--r-- | internal/db/bundb/account.go | 12 | 
1 files changed, 12 insertions, 0 deletions
| diff --git a/internal/db/bundb/account.go b/internal/db/bundb/account.go index 7bee375e3..23030c612 100644 --- a/internal/db/bundb/account.go +++ b/internal/db/bundb/account.go @@ -106,6 +106,18 @@ func (a *accountDB) GetAccountByUsernameDomain(ctx context.Context, username str  	)  } +func (a *accountDB) GetAccountByPubkeyID(ctx context.Context, id string) (*gtsmodel.Account, db.Error) { +	return a.getAccount( +		ctx, +		func() (*gtsmodel.Account, bool) { +			return a.cache.GetByPubkeyID(id) +		}, +		func(account *gtsmodel.Account) error { +			return a.newAccountQ(account).Where("account.public_key_uri = ?", id).Scan(ctx) +		}, +	) +} +  func (a *accountDB) getAccount(ctx context.Context, cacheGet func() (*gtsmodel.Account, bool), dbQuery func(*gtsmodel.Account) error) (*gtsmodel.Account, db.Error) {  	// Attempt to fetch cached account  	account, cached := cacheGet() | 
