diff options
Diffstat (limited to 'activities/models/post.py')
-rw-r--r-- | activities/models/post.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/activities/models/post.py b/activities/models/post.py index f3b1879..eecce04 100644 --- a/activities/models/post.py +++ b/activities/models/post.py @@ -77,6 +77,17 @@ class PostStates(StateGraph): class PostQuerySet(models.QuerySet): + def public(self, include_replies: bool = False): + query = self.filter( + visibility__in=[ + Post.Visibilities.public, + Post.Visibilities.local_only, + ], + ) + if not include_replies: + return query.filter(in_reply_to__isnull=True) + return query + def local_public(self, include_replies: bool = False): query = self.filter( visibility__in=[ @@ -104,6 +115,9 @@ class PostManager(models.Manager): def get_queryset(self): return PostQuerySet(self.model, using=self._db) + def public(self, include_replies: bool = False): + return self.get_queryset().public(include_replies=include_replies) + def local_public(self, include_replies: bool = False): return self.get_queryset().local_public(include_replies=include_replies) |