Files
mayan-edms/mayan/apps/django_gpg/api_views.py
Roberto Rosario fc29309f68 Update Django GPG app
Add keyword arguments to all calls. Rename URL parameters to be
explicit ("key_id"). Add key delete view test. Update tests
to use a mixin for repeated key creation code. Grant permissions
and access the proper way using self.grant_permission and
self.grant_access.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-01-20 18:08:47 -04:00

42 lines
1.2 KiB
Python

from __future__ import absolute_import, unicode_literals
from rest_framework import generics
from mayan.apps.rest_api.filters import MayanObjectPermissionsFilter
from mayan.apps.rest_api.permissions import MayanPermission
from .models import Key
from .permissions import (
permission_key_delete, permission_key_upload, permission_key_view
)
from .serializers import KeySerializer
class APIKeyListView(generics.ListCreateAPIView):
"""
get: Returns a list of all the keys.
post: Upload a new key.
"""
filter_backends = (MayanObjectPermissionsFilter,)
mayan_object_permissions = {'GET': (permission_key_view,)}
mayan_view_permissions = {'POST': (permission_key_upload,)}
permission_classes = (MayanPermission,)
queryset = Key.objects.all()
serializer_class = KeySerializer
class APIKeyView(generics.RetrieveDestroyAPIView):
"""
delete: Delete the selected key.
get: Return the details of the selected key.
"""
filter_backends = (MayanObjectPermissionsFilter,)
lookup_field = 'pk'
lookup_url_kwarg = 'key_id'
mayan_object_permissions = {
'DELETE': (permission_key_delete,),
'GET': (permission_key_view,),
}
queryset = Key.objects.all()
serializer_class = KeySerializer