mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-11-04 03:27:12 -05:00 
			
		
		
		
	A crude API is in place
This commit is contained in:
		
							parent
							
								
									809fb8fa1f
								
							
						
					
					
						commit
						17d3a44952
					
				@ -3,14 +3,14 @@ from rest_framework import serializers
 | 
			
		||||
from .models import Sender, Tag, Document
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class SenderSerializer(serializers.ModelSerializer):
 | 
			
		||||
class SenderSerializer(serializers.HyperlinkedModelSerializer):
 | 
			
		||||
 | 
			
		||||
    class Meta(object):
 | 
			
		||||
        model = Sender
 | 
			
		||||
        fields = ("id", "slug", "name")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TagSerializer(serializers.ModelSerializer):
 | 
			
		||||
class TagSerializer(serializers.HyperlinkedModelSerializer):
 | 
			
		||||
 | 
			
		||||
    class Meta(object):
 | 
			
		||||
        model = Tag
 | 
			
		||||
@ -20,8 +20,10 @@ class TagSerializer(serializers.ModelSerializer):
 | 
			
		||||
 | 
			
		||||
class DocumentSerializer(serializers.ModelSerializer):
 | 
			
		||||
 | 
			
		||||
    sender = serializers.HyperlinkedModelSerializer(read_only=True)
 | 
			
		||||
    tags = serializers.HyperlinkedModelSerializer(read_only=True)
 | 
			
		||||
    sender = serializers.HyperlinkedRelatedField(
 | 
			
		||||
        read_only=True, view_name="drf:sender-detail", allow_null=True)
 | 
			
		||||
    tags = serializers.HyperlinkedRelatedField(
 | 
			
		||||
        read_only=True, view_name="drf:tag-detail", many=True)
 | 
			
		||||
 | 
			
		||||
    class Meta(object):
 | 
			
		||||
        model = Document
 | 
			
		||||
 | 
			
		||||
@ -3,6 +3,7 @@ from django.template.defaultfilters import slugify
 | 
			
		||||
from django.views.decorators.csrf import csrf_exempt
 | 
			
		||||
from django.views.generic import FormView, DetailView
 | 
			
		||||
 | 
			
		||||
from rest_framework.pagination import PageNumberPagination
 | 
			
		||||
from rest_framework.viewsets import ModelViewSet
 | 
			
		||||
 | 
			
		||||
from paperless.db import GnuPG
 | 
			
		||||
@ -57,16 +58,28 @@ class PushView(FormView):
 | 
			
		||||
        return HttpResponse("0")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class StandardPagination(PageNumberPagination):
 | 
			
		||||
    page_size = 25
 | 
			
		||||
    page_size_query_param = "page-size"
 | 
			
		||||
    max_page_size = 100000
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class SenderViewSet(ModelViewSet):
 | 
			
		||||
    model = Sender
 | 
			
		||||
    queryset = Sender.objects.all()
 | 
			
		||||
    serializer_class = SenderSerializer
 | 
			
		||||
    pagination_class = StandardPagination
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TagViewSet(ModelViewSet):
 | 
			
		||||
    model = Tag
 | 
			
		||||
    queryset = Tag.objects.all()
 | 
			
		||||
    serializer_class = TagSerializer
 | 
			
		||||
    pagination_class = StandardPagination
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class DocumentViewSet(ModelViewSet):
 | 
			
		||||
    model = Document
 | 
			
		||||
    queryset = Document.objects.all()
 | 
			
		||||
    serializer_class = DocumentSerializer
 | 
			
		||||
    pagination_class = StandardPagination
 | 
			
		||||
 | 
			
		||||
@ -33,9 +33,9 @@ urlpatterns = [
 | 
			
		||||
    # API
 | 
			
		||||
    url(
 | 
			
		||||
        r"^api/auth/",
 | 
			
		||||
        include('rest_framework.urls', namespace='rest_framework')
 | 
			
		||||
        include('rest_framework.urls', namespace="rest_framework")
 | 
			
		||||
    ),
 | 
			
		||||
    url(r"^api/", include(router.urls)),
 | 
			
		||||
    url(r"^api/", include(router.urls, namespace="drf")),
 | 
			
		||||
 | 
			
		||||
    # File downloads
 | 
			
		||||
    url(r"^fetch/(?P<pk>\d+)$", PdfView.as_view(), name="fetch"),
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user