Files
mayan-edms/mayan/apps/rest_api/views.py

57 lines
1.2 KiB
Python

from __future__ import unicode_literals
import logging
from rest_framework import generics, renderers
from rest_framework.authtoken.views import ObtainAuthToken
from rest_framework.response import Response
from rest_framework.reverse import reverse
from .classes import APIVersion, APIEndPoint
from .serializers import APIAppSerializer, APIVersionSerializer
logger = logging.getLogger(__name__)
registered_version_1_endpoints = [
]
class APIBase(generics.RetrieveAPIView):
"""
Main entry point of the API.
"""
serializer_class = APIVersionSerializer
def get_object(self):
return APIVersion()
class APIVersionView(generics.ListAPIView):
"""
API version entry points.
"""
serializer_class = APIAppSerializer
def get_queryset(self):
return APIEndPoint.get_all()
class APIAppView(generics.RetrieveAPIView):
"""
Entry points of the selected app.
"""
serializer_class = APIAppSerializer
def get_object(self):
return APIEndPoint.get(self.kwargs['app_name'])
class BrowseableObtainAuthToken(ObtainAuthToken):
"""
Obtain an API authentication token.
"""
renderer_classes = (renderers.JSONRenderer, renderers.BrowsableAPIRenderer)