summaryrefslogtreecommitdiff
path: root/internal/processing/status/get.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/processing/status/get.go')
-rw-r--r--internal/processing/status/get.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/internal/processing/status/get.go b/internal/processing/status/get.go
index 170dd0e53..ae6918e3f 100644
--- a/internal/processing/status/get.go
+++ b/internal/processing/status/get.go
@@ -36,6 +36,21 @@ func (p *Processor) Get(ctx context.Context, requestingAccount *gtsmodel.Account
return p.c.GetAPIStatus(ctx, requestingAccount, targetStatus)
}
+// WebGet gets the given status for web use, taking account of privacy settings.
+func (p *Processor) WebGet(ctx context.Context, targetStatusID string) (*apimodel.Status, gtserror.WithCode) {
+ targetStatus, errWithCode := p.c.GetVisibleTargetStatus(ctx, nil, targetStatusID)
+ if errWithCode != nil {
+ return nil, errWithCode
+ }
+
+ webStatus, err := p.converter.StatusToWebStatus(ctx, targetStatus, nil)
+ if err != nil {
+ err = gtserror.Newf("error converting status: %w", err)
+ return nil, gtserror.NewErrorInternalError(err)
+ }
+ return webStatus, nil
+}
+
func (p *Processor) contextGet(
ctx context.Context,
requestingAccount *gtsmodel.Account,