funkwhale/api/funkwhale_api/common/permissions.py

23 wiersze
676 B
Python
Czysty Zwykły widok Historia

from django.conf import settings
2017-12-27 22:32:02 +00:00
from rest_framework.permissions import BasePermission, DjangoModelPermissions
class ConditionalAuthentication(BasePermission):
def has_permission(self, request, view):
if settings.API_AUTHENTICATION_REQUIRED:
return request.user and request.user.is_authenticated
return True
2017-12-27 22:32:02 +00:00
class HasModelPermission(DjangoModelPermissions):
"""
Same as DjangoModelPermissions, but we pin the model:
class MyModelPermission(HasModelPermission):
model = User
"""
def get_required_permissions(self, method, model_cls):
return super().get_required_permissions(method, self.model)