mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-31 10:37:12 -04: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