API updates
- Move all generic API classes definitions to the rest_api.generics module. - Update API status code on insufficient access for the apps: indexes, parsing, documents, metadata, ocr, permission, user management. - Update API tests. Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
This commit is contained in:
75
mayan/apps/rest_api/generics.py
Normal file
75
mayan/apps/rest_api/generics.py
Normal file
@@ -0,0 +1,75 @@
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from rest_framework import generics
|
||||
|
||||
from .filters import MayanObjectPermissionsFilter
|
||||
from .permissions import MayanPermission
|
||||
|
||||
|
||||
class GenericAPIView(generics.GenericAPIView):
|
||||
filter_backends = (MayanObjectPermissionsFilter,)
|
||||
permission_classes = (MayanPermission,)
|
||||
|
||||
|
||||
class ListAPIView(generics.ListAPIView):
|
||||
"""
|
||||
requires:
|
||||
object_permission = {'GET': ...}
|
||||
"""
|
||||
filter_backends = (MayanObjectPermissionsFilter,)
|
||||
|
||||
|
||||
class ListCreateAPIView(generics.ListCreateAPIView):
|
||||
"""
|
||||
requires:
|
||||
object_permission = {'GET': ...}
|
||||
view_permission = {'POST': ...}
|
||||
"""
|
||||
filter_backends = (MayanObjectPermissionsFilter,)
|
||||
permission_classes = (MayanPermission,)
|
||||
|
||||
|
||||
class RetrieveAPIView(generics.RetrieveAPIView):
|
||||
"""
|
||||
requires:
|
||||
object_permission = {
|
||||
'GET': ...,
|
||||
}
|
||||
"""
|
||||
filter_backends = (MayanObjectPermissionsFilter,)
|
||||
|
||||
|
||||
class RetrieveDestroyAPIView(generics.RetrieveDestroyAPIView):
|
||||
"""
|
||||
requires:
|
||||
object_permission = {
|
||||
'DELETE': ...,
|
||||
'GET': ...,
|
||||
}
|
||||
"""
|
||||
filter_backends = (MayanObjectPermissionsFilter,)
|
||||
|
||||
|
||||
class RetrieveUpdateAPIView(generics.RetrieveUpdateAPIView):
|
||||
"""
|
||||
requires:
|
||||
object_permission = {
|
||||
'GET': ...,
|
||||
'PATCH': ...,
|
||||
'PUT': ...
|
||||
}
|
||||
"""
|
||||
filter_backends = (MayanObjectPermissionsFilter,)
|
||||
|
||||
|
||||
class RetrieveUpdateDestroyAPIView(generics.RetrieveUpdateDestroyAPIView):
|
||||
"""
|
||||
requires:
|
||||
object_permission = {
|
||||
'DELETE': ...,
|
||||
'GET': ...,
|
||||
'PATCH': ...,
|
||||
'PUT': ...
|
||||
}
|
||||
"""
|
||||
filter_backends = (MayanObjectPermissionsFilter,)
|
||||
Reference in New Issue
Block a user