mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-30 03:56:23 -05:00 
			
		
		
		
	API refactoring
This commit is contained in:
		| @@ -18,6 +18,7 @@ from django_q.tasks import async_task | ||||
| from rest_framework import parsers | ||||
| from rest_framework.decorators import action | ||||
| from rest_framework.filters import OrderingFilter, SearchFilter | ||||
| from rest_framework.generics import GenericAPIView | ||||
| from rest_framework.mixins import ( | ||||
|     DestroyModelMixin, | ||||
|     ListModelMixin, | ||||
| @@ -366,23 +367,12 @@ class SavedViewViewSet(ModelViewSet): | ||||
|         serializer.save(user=self.request.user) | ||||
|  | ||||
|  | ||||
| class BulkEditView(APIView): | ||||
| class BulkEditView(GenericAPIView): | ||||
|  | ||||
|     permission_classes = (IsAuthenticated,) | ||||
|     serializer_class = BulkEditSerializer | ||||
|     parser_classes = (parsers.JSONParser,) | ||||
|  | ||||
|     def get_serializer_context(self): | ||||
|         return { | ||||
|             'request': self.request, | ||||
|             'format': self.format_kwarg, | ||||
|             'view': self | ||||
|         } | ||||
|  | ||||
|     def get_serializer(self, *args, **kwargs): | ||||
|         kwargs['context'] = self.get_serializer_context() | ||||
|         return self.serializer_class(*args, **kwargs) | ||||
|  | ||||
|     def post(self, request, *args, **kwargs): | ||||
|         serializer = self.get_serializer(data=request.data) | ||||
|         serializer.is_valid(raise_exception=True) | ||||
| @@ -399,23 +389,12 @@ class BulkEditView(APIView): | ||||
|             return HttpResponseBadRequest(str(e)) | ||||
|  | ||||
|  | ||||
| class PostDocumentView(APIView): | ||||
| class PostDocumentView(GenericAPIView): | ||||
|  | ||||
|     permission_classes = (IsAuthenticated,) | ||||
|     serializer_class = PostDocumentSerializer | ||||
|     parser_classes = (parsers.MultiPartParser,) | ||||
|  | ||||
|     def get_serializer_context(self): | ||||
|         return { | ||||
|             'request': self.request, | ||||
|             'format': self.format_kwarg, | ||||
|             'view': self | ||||
|         } | ||||
|  | ||||
|     def get_serializer(self, *args, **kwargs): | ||||
|         kwargs['context'] = self.get_serializer_context() | ||||
|         return self.serializer_class(*args, **kwargs) | ||||
|  | ||||
|     def post(self, request, *args, **kwargs): | ||||
|  | ||||
|         serializer = self.get_serializer(data=request.data) | ||||
| @@ -453,23 +432,12 @@ class PostDocumentView(APIView): | ||||
|         return Response("OK") | ||||
|  | ||||
|  | ||||
| class SelectionDataView(APIView): | ||||
| class SelectionDataView(GenericAPIView): | ||||
|  | ||||
|     permission_classes = (IsAuthenticated,) | ||||
|     serializer_class = DocumentListSerializer | ||||
|     parser_classes = (parsers.MultiPartParser, parsers.JSONParser) | ||||
|  | ||||
|     def get_serializer_context(self): | ||||
|         return { | ||||
|             'request': self.request, | ||||
|             'format': self.format_kwarg, | ||||
|             'view': self | ||||
|         } | ||||
|  | ||||
|     def get_serializer(self, *args, **kwargs): | ||||
|         kwargs['context'] = self.get_serializer_context() | ||||
|         return self.serializer_class(*args, **kwargs) | ||||
|  | ||||
|     def post(self, request, format=None): | ||||
|         serializer = self.get_serializer(data=request.data) | ||||
|         serializer.is_valid(raise_exception=True) | ||||
| @@ -620,23 +588,12 @@ class StatisticsView(APIView): | ||||
|         }) | ||||
|  | ||||
|  | ||||
| class BulkDownloadView(APIView): | ||||
| class BulkDownloadView(GenericAPIView): | ||||
|  | ||||
|     permission_classes = (IsAuthenticated,) | ||||
|     serializer_class = BulkDownloadSerializer | ||||
|     parser_classes = (parsers.JSONParser,) | ||||
|  | ||||
|     def get_serializer_context(self): | ||||
|         return { | ||||
|             'request': self.request, | ||||
|             'format': self.format_kwarg, | ||||
|             'view': self | ||||
|         } | ||||
|  | ||||
|     def get_serializer(self, *args, **kwargs): | ||||
|         kwargs['context'] = self.get_serializer_context() | ||||
|         return self.serializer_class(*args, **kwargs) | ||||
|  | ||||
|     def post(self, request, format=None): | ||||
|         serializer = self.get_serializer(data=request.data) | ||||
|         serializer.is_valid(raise_exception=True) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 jonaswinkler
					jonaswinkler