13 lines
465 B
Python
13 lines
465 B
Python
|
|
from rest_framework import permissions
|
||
|
|
from rest_framework.request import Request
|
||
|
|
from rest_framework.viewsets import ViewSet
|
||
|
|
|
||
|
|
|
||
|
|
class MethodPermission(permissions.BasePermission):
|
||
|
|
def has_permission(self, request: Request, view: ViewSet) -> bool:
|
||
|
|
for permission, methods in getattr(view, "method_permissions", {}).items():
|
||
|
|
if request.method in methods:
|
||
|
|
return permission().has_permission(request, view)
|
||
|
|
|
||
|
|
return False
|