Merge schema

This commit is contained in:
shamoon
2025-04-08 16:38:41 -07:00
parent 6850a8a4e7
commit 8279dec4e7
3 changed files with 2 additions and 2 deletions

44
src/paperless/schema.py Normal file
View File

@@ -0,0 +1,44 @@
from drf_spectacular.extensions import OpenApiAuthenticationExtension
from drf_spectacular.types import OpenApiTypes
from drf_spectacular.utils import OpenApiParameter
from drf_spectacular.utils import extend_schema
class AngularApiAuthenticationOverrideScheme(OpenApiAuthenticationExtension):
target_class = "paperless.auth.AngularApiAuthenticationOverride"
name = "AngularApiAuthenticationOverride"
def get_security_definition(self, auto_schema): # pragma: no cover
return {
"type": "http",
"scheme": "basic",
}
class PaperelessBasicAuthenticationScheme(OpenApiAuthenticationExtension):
target_class = "paperless.auth.PaperlessBasicAuthentication"
name = "PaperelessBasicAuthentication"
def get_security_definition(self, auto_schema):
return {
"type": "http",
"scheme": "basic",
}
def generate_object_with_permissions_schema(serializer_class):
return {
operation: extend_schema(
parameters=[
OpenApiParameter(
name="full_perms",
type=OpenApiTypes.BOOL,
location=OpenApiParameter.QUERY,
),
],
responses={
200: serializer_class(many=operation == "list", all_fields=True),
},
)
for operation in ["list", "retrieve"]
}

View File

@@ -89,7 +89,6 @@ from rest_framework.viewsets import ModelViewSet
from rest_framework.viewsets import ReadOnlyModelViewSet
from rest_framework.viewsets import ViewSet
from documents.schema import generate_object_with_permissions_schema
from documents.signals import document_updated
from documents.templating.filepath import validate_filepath_template_and_render
from paperless import bulk_edit
@@ -160,6 +159,7 @@ from paperless.permissions import PaperlessObjectPermissions
from paperless.permissions import get_objects_for_user_owner_aware
from paperless.permissions import has_perms_owner_aware
from paperless.permissions import set_permissions_for_object
from paperless.schema import generate_object_with_permissions_schema
from paperless.serialisers import AcknowledgeTasksViewSerializer
from paperless.serialisers import ApplicationConfigurationSerializer
from paperless.serialisers import BulkDownloadSerializer