From 12567f6891ad591390cbd74c0e7b77a4a024a24e Mon Sep 17 00:00:00 2001 From: Andrew Godwin Date: Fri, 16 Dec 2022 19:42:48 -0700 Subject: Identity admin/moderation --- api/views/accounts.py | 8 ++++++-- api/views/timelines.py | 3 +++ 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'api') diff --git a/api/views/accounts.py b/api/views/accounts.py index 4f1903b..d0aeb08 100644 --- a/api/views/accounts.py +++ b/api/views/accounts.py @@ -48,7 +48,9 @@ def account_relationships(request): @api_router.get("/v1/accounts/{id}", response=schemas.Account) @identity_required def account(request, id: str): - identity = get_object_or_404(Identity, pk=id) + identity = get_object_or_404( + Identity.objects.exclude(restriction=Identity.Restriction.blocked), pk=id + ) return identity.to_mastodon_json() @@ -67,7 +69,9 @@ def account_statuses( min_id: str | None = None, limit: int = 20, ): - identity = get_object_or_404(Identity, pk=id) + identity = get_object_or_404( + Identity.objects.exclude(restriction=Identity.Restriction.blocked), pk=id + ) queryset = ( identity.posts.not_hidden() .unlisted(include_replies=not exclude_replies) diff --git a/api/views/timelines.py b/api/views/timelines.py index 8f4ac78..b14586f 100644 --- a/api/views/timelines.py +++ b/api/views/timelines.py @@ -3,6 +3,7 @@ from api import schemas from api.decorators import identity_required from api.pagination import MastodonPaginator from api.views.base import api_router +from users.models import Identity @api_router.get("/v1/timelines/home", response=list[schemas.Status]) @@ -52,6 +53,7 @@ def public( ): queryset = ( Post.objects.public() + .filter(author__restriction=Identity.Restriction.none) .select_related("author") .prefetch_related("attachments") .order_by("-created") @@ -90,6 +92,7 @@ def hashtag( limit = 40 queryset = ( Post.objects.public() + .filter(author__restriction=Identity.Restriction.none) .tagged_with(hashtag) .select_related("author") .prefetch_related("attachments") -- cgit v1.2.3