Skip to content
Snippets Groups Projects
permissions.py 547 B
Newer Older
from django.conf import settings

from rest_framework.permissions import BasePermission

from . import actors


class LibraryFollower(BasePermission):

    def has_permission(self, request, view):
        if not settings.FEDERATION_MUSIC_NEEDS_APPROVAL:
            return True

        actor = getattr(request, 'actor', None)
        if actor is None:
            return False

        library = actors.SYSTEM_ACTORS['library'].get_actor_instance()
        return library.received_follows.filter(
            approved=True, actor=actor).exists()