summaryrefslogtreecommitdiffstats
path: root/activities/models/post.py
diff options
context:
space:
mode:
Diffstat (limited to 'activities/models/post.py')
-rw-r--r--activities/models/post.py14
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)