diff options
Diffstat (limited to 'internal/processing/common/account.go.go')
-rw-r--r-- | internal/processing/common/account.go.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/internal/processing/common/account.go.go b/internal/processing/common/account.go.go index 425f23483..c4436e77e 100644 --- a/internal/processing/common/account.go.go +++ b/internal/processing/common/account.go.go @@ -162,6 +162,23 @@ func (p *Processor) GetAPIAccountBlocked( return apiAccount, nil } +// GetAPIAccountSensitive fetches the "sensitive" account model for the given target. +// *BE CAREFUL!* Only return a sensitive account if targetAcc == account making the request. +func (p *Processor) GetAPIAccountSensitive( + ctx context.Context, + targetAcc *gtsmodel.Account, +) ( + apiAcc *apimodel.Account, + errWithCode gtserror.WithCode, +) { + apiAccount, err := p.converter.AccountToAPIAccountSensitive(ctx, targetAcc) + if err != nil { + err = gtserror.Newf("error converting account: %w", err) + return nil, gtserror.NewErrorInternalError(err) + } + return apiAccount, nil +} + // GetVisibleAPIAccounts converts an array of gtsmodel.Accounts (inputted by next function) into // public API model accounts, checking first for visibility. Please note that all errors will be // logged at ERROR level, but will not be returned. Callers are likely to run into show-stopping |