Show unread status reload link
This commit is contained in:
@ -33,6 +33,6 @@ from .shelf import shelve, unshelve
|
||||
from .site import Site
|
||||
from .status import CreateStatus, DeleteStatus
|
||||
from .tag import Tag, AddTag, RemoveTag
|
||||
from .updates import Updates
|
||||
from .updates import get_notification_count, get_unread_status_count
|
||||
from .user import User, EditUser, Followers, Following
|
||||
from .wellknown import webfinger, nodeinfo_pointer, nodeinfo, instance_info, peers
|
||||
|
@ -1,20 +1,24 @@
|
||||
""" endpoints for getting updates about activity """
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.http import JsonResponse
|
||||
from django.utils.decorators import method_decorator
|
||||
from django.views import View
|
||||
|
||||
# pylint: disable= no-self-use
|
||||
@method_decorator(login_required, name="dispatch")
|
||||
class Updates(View):
|
||||
""" so the app can poll """
|
||||
from bookwyrm import activitystreams
|
||||
|
||||
def get(self, request):
|
||||
""" any notifications waiting? """
|
||||
return JsonResponse(
|
||||
{
|
||||
"notifications": request.user.notification_set.filter(
|
||||
read=False
|
||||
).count(),
|
||||
}
|
||||
)
|
||||
@login_required
|
||||
def get_notification_count(request):
|
||||
""" any notifications waiting? """
|
||||
return JsonResponse({
|
||||
"count": request.user.notification_set.filter(
|
||||
read=False
|
||||
).count(),
|
||||
})
|
||||
|
||||
@login_required
|
||||
def get_unread_status_count(request, stream):
|
||||
""" any unread statuses for this feed? """
|
||||
stream = activitystreams.streams.get(stream)
|
||||
if not stream:
|
||||
return JsonResponse({})
|
||||
return JsonResponse({
|
||||
"count": stream.get_unread_count(request.user)
|
||||
})
|
||||
|
Reference in New Issue
Block a user