diff --git a/apis_bibsonomy/api_views.py b/apis_bibsonomy/api_views.py index 16bca63..4b9034f 100644 --- a/apis_bibsonomy/api_views.py +++ b/apis_bibsonomy/api_views.py @@ -8,9 +8,27 @@ from rest_framework.permissions import IsAuthenticated from rest_framework.response import Response from rest_framework.views import APIView +from rest_framework import viewsets, generics from .models import Reference from .utils import BibsonomyEntry +from .serializers import ReferenceSerializer + +class ReferenceList(APIView): + """ + API endpoint that allows references to be viewed. + """ + authentication_classes = [] + permission_classes = [] + + def post(self, request, format=None): + serializer = ReferenceSerializer(data=request.data, many=True) + references = [] + if serializer.is_valid(): + for ref in serializers.data: + print(ref) + references.append(Reference.objecs.get(content_typ_id=ref['content_typ_id'], object_id=ref['object_id'])) + return Response(data=references) class SaveBibsonomyEntry(APIView): diff --git a/apis_bibsonomy/serializers.py b/apis_bibsonomy/serializers.py new file mode 100644 index 0000000..a8f29e5 --- /dev/null +++ b/apis_bibsonomy/serializers.py @@ -0,0 +1,7 @@ +from .models import Reference +from rest_framework import serializers + + +class ReferenceSerializer(serializers.Serializer): + content_type_id = serializers.IntegerField() + object_id = serializers.IntegerField() diff --git a/apis_bibsonomy/urls.py b/apis_bibsonomy/urls.py index 38bc236..02e552b 100644 --- a/apis_bibsonomy/urls.py +++ b/apis_bibsonomy/urls.py @@ -1,3 +1,4 @@ +from rest_framework.routers import DefaultRouter from django.urls import path from . import api_views from . import autocompletes @@ -6,6 +7,6 @@ urlpatterns = [ path('save_get/', api_views.SaveBibsonomyEntry.as_view(), name='savegetbibsonomyentry'), - path('autocomplete/', autocompletes.BibsonomyAutocomplete.as_view(), name='bibsonomyautocomplete') + path('autocomplete/', autocompletes.BibsonomyAutocomplete.as_view(), name='bibsonomyautocomplete'), + path('references', api_views.ReferenceList.as_view(), name='referenceslist'), ] -