moviewyrm/bookwyrm/views/outbox.py

28 lines
840 B
Python
Raw Normal View History

2021-01-13 21:36:01 +00:00
''' the good stuff! the books! '''
from django.http import JsonResponse
from django.shortcuts import get_object_or_404
from django.views import View
from bookwyrm import activitypub, models
2021-02-23 19:34:15 +00:00
from .helpers import is_bookwyrm_request
2021-01-13 21:36:01 +00:00
# pylint: disable= no-self-use
class Outbox(View):
''' outbox '''
def get(self, request, username):
''' outbox for the requested user '''
user = get_object_or_404(models.User, localname=username)
filter_type = request.GET.get('type')
if filter_type not in models.status_models:
filter_type = None
return JsonResponse(
2021-02-23 19:34:15 +00:00
user.to_outbox(
**request.GET,
filter_type=filter_type,
pure=not is_bookwyrm_request(request)
),
2021-01-13 21:36:01 +00:00
encoder=activitypub.ActivityEncoder
)