summaryrefslogtreecommitdiff
path: root/internal/visibility/statusvisible.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/visibility/statusvisible.go')
-rw-r--r--internal/visibility/statusvisible.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/internal/visibility/statusvisible.go b/internal/visibility/statusvisible.go
index 1e48abcda..a99494836 100644
--- a/internal/visibility/statusvisible.go
+++ b/internal/visibility/statusvisible.go
@@ -239,3 +239,17 @@ func (f *filter) StatusVisible(ctx context.Context, targetStatus *gtsmodel.Statu
// If we reached here, all is okay
return true, nil
}
+
+func (f *filter) StatusesVisible(ctx context.Context, statuses []*gtsmodel.Status, requestingAccount *gtsmodel.Account) ([]*gtsmodel.Status, error) {
+ filtered := []*gtsmodel.Status{}
+ for _, s := range statuses {
+ visible, err := f.StatusVisible(ctx, s, requestingAccount)
+ if err != nil {
+ return nil, err
+ }
+ if visible {
+ filtered = append(filtered, s)
+ }
+ }
+ return filtered, nil
+}