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

53 lines
1.5 KiB
Python

"""Views file for the rest_api app"""
from __future__ import absolute_import
import logging
from django.utils.translation import ugettext_lazy as _
from rest_framework import generics
from rest_framework.generics import RetrieveAPIView
from rest_framework.response import Response
from rest_framework.reverse import reverse
from .classes import EndPoint
logger = logging.getLogger(__name__)
registered_version_0_endpoints = [
]
class APIBase(generics.GenericAPIView):
def get(self, request, format=None):
return Response([
{'name': 'Version 0', 'url': reverse('api-version-0', request=request, format=format)}
])
class Version_0(generics.GenericAPIView):
def get(self, request, format=None):
return Response({
'endpoints': [
{'name': unicode(endpoint), 'url': reverse('api-version-0-endpoint', args=[unicode(endpoint)], request=request, format=format)} for endpoint in EndPoint.get_all()
],
})
class EndPointView(generics.GenericAPIView):
def get(self, request, endpoint_name, format=None):
result = []
endpoint = EndPoint.get(endpoint_name)
for service in endpoint.services:
result.append(
{
'description': service['description'],
'name': service['urlpattern'].name,
'url': service['url'],
}
)
return Response({
'services': result
})