mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-09-16 21:55:37 -05:00
Merge schema
This commit is contained in:
44
src/paperless/schema.py
Normal file
44
src/paperless/schema.py
Normal 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"]
|
||||
}
|
@@ -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
|
||||
|
Reference in New Issue
Block a user