moviewyrm/bookwyrm/views/outbox.py

29 lines
838 B
Python
Raw Normal View History

2021-03-08 16:49:10 +00:00
""" the good stuff! the books! """
2021-01-13 21:36:01 +00:00
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):
2021-04-26 16:15:42 +00:00
"""outbox"""
2021-03-08 16:49:10 +00:00
2021-01-13 21:36:01 +00:00
def get(self, request, username):
2021-04-26 16:15:42 +00:00
"""outbox for the requested user"""
2021-01-13 21:36:01 +00:00
user = get_object_or_404(models.User, localname=username)
2021-03-08 16:49:10 +00:00
filter_type = request.GET.get("type")
2021-01-13 21:36:01 +00:00
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-03-08 16:49:10 +00:00
encoder=activitypub.ActivityEncoder,
2021-01-13 21:36:01 +00:00
)