Compare commits

...

4 Commits

Author SHA1 Message Date
Crowdin Bot
012d352855 New Crowdin translations by GitHub Action 2025-06-10 12:14:38 +00:00
shamoon
4c6075e962
Fix: correct api schema for mail_account process (#10157) 2025-06-09 14:51:58 -07:00
shamoon
8d48e99487
Fix: correct api schema for next_asn (#10151) 2025-06-09 09:32:34 -07:00
shamoon
454a2d9e9e
Fix: fix email and notes endpoints api spec (#10148) 2025-06-09 07:09:28 -07:00
3 changed files with 61 additions and 24 deletions

View File

@ -145,6 +145,7 @@ from documents.serialisers import CustomFieldSerializer
from documents.serialisers import DocumentListSerializer from documents.serialisers import DocumentListSerializer
from documents.serialisers import DocumentSerializer from documents.serialisers import DocumentSerializer
from documents.serialisers import DocumentTypeSerializer from documents.serialisers import DocumentTypeSerializer
from documents.serialisers import NotesSerializer
from documents.serialisers import PostDocumentSerializer from documents.serialisers import PostDocumentSerializer
from documents.serialisers import RunTaskViewSerializer from documents.serialisers import RunTaskViewSerializer
from documents.serialisers import SavedViewSerializer from documents.serialisers import SavedViewSerializer
@ -433,27 +434,24 @@ class DocumentTypeViewSet(ModelViewSet, PermissionsAwareDocumentCountMixin):
), ),
notes=extend_schema( notes=extend_schema(
description="View, add, or delete notes for the document", description="View, add, or delete notes for the document",
responses={ methods=["GET", "POST", "DELETE"],
200: { request=inline_serializer(
"type": "array", name="NoteCreateRequest",
"items": { fields={
"type": "object", "note": serializers.CharField(),
"properties": {
"id": {"type": "integer"},
"note": {"type": "string"},
"created": {"type": "string", "format": "date-time"},
"user": {
"type": "object",
"properties": {
"id": {"type": "integer"},
"username": {"type": "string"},
"first_name": {"type": "string"},
"last_name": {"type": "string"},
},
},
},
},
}, },
),
parameters=[
OpenApiParameter(
name="id",
type=OpenApiTypes.INT,
location=OpenApiParameter.QUERY,
required=False,
description="Note ID to delete (used only for DELETE requests)",
),
],
responses={
200: NotesSerializer(many=True),
400: None, 400: None,
403: None, 403: None,
404: None, 404: None,
@ -519,6 +517,28 @@ class DocumentTypeViewSet(ModelViewSet, PermissionsAwareDocumentCountMixin):
404: None, 404: None,
}, },
), ),
email=extend_schema(
description="Email the document to one or more recipients as an attachment.",
request=inline_serializer(
name="EmailRequest",
fields={
"addresses": serializers.CharField(),
"subject": serializers.CharField(),
"message": serializers.CharField(),
"use_archive_version": serializers.BooleanField(default=True),
},
),
responses={
200: inline_serializer(
name="EmailResponse",
fields={"message": serializers.CharField()},
),
400: None,
403: None,
404: None,
500: None,
},
),
) )
class DocumentViewSet( class DocumentViewSet(
PassUserMixin, PassUserMixin,
@ -1079,6 +1099,12 @@ class DocumentViewSet(
200: DocumentSerializer(many=True, all_fields=True), 200: DocumentSerializer(many=True, all_fields=True),
}, },
), ),
next_asn=extend_schema(
description="Get the next available Archive Serial Number (ASN) for a new document",
responses={
200: OpenApiTypes.INT,
},
),
) )
class UnifiedSearchViewSet(DocumentViewSet): class UnifiedSearchViewSet(DocumentViewSet):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):

View File

@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-24 17:14+0000\n" "POT-Creation-Date: 2025-05-24 17:14+0000\n"
"PO-Revision-Date: 2025-06-05 20:08\n" "PO-Revision-Date: 2025-06-06 07:25\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Hebrew\n" "Language-Team: Hebrew\n"
"Language: he_IL\n" "Language: he_IL\n"
@ -1412,12 +1412,12 @@ msgstr ": כצעד אחרון, אנא מלא את הטופס הבא:"
#: documents/validators.py:24 #: documents/validators.py:24
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}, missing scheme" msgid "Unable to parse URI {value}, missing scheme"
msgstr "" msgstr "לא ניתן לנתח את כתובת ה-URI {value}"
#: documents/validators.py:29 #: documents/validators.py:29
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path" msgid "Unable to parse URI {value}, missing net location or path"
msgstr "" msgstr "לא ניתן לנתח את כתובת ה-URI {value}, חסרה מיקום רשת או נתיב"
#: documents/validators.py:36 #: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}" msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
@ -1426,7 +1426,7 @@ msgstr "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(
#: documents/validators.py:45 #: documents/validators.py:45
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}" msgid "Unable to parse URI {value}"
msgstr "" msgstr "לא ניתן לנתח את כתובת ה-URI {value}, חסרה הסכימה"
#: paperless/apps.py:11 #: paperless/apps.py:11
msgid "Paperless" msgid "Paperless"

View File

@ -44,6 +44,17 @@ from paperless_mail.tasks import process_mail_accounts
400: OpenApiTypes.STR, 400: OpenApiTypes.STR,
}, },
), ),
process=extend_schema(
operation_id="mail_account_process",
description="Manually process the selected mail account for new messages.",
responses={
200: inline_serializer(
name="MailAccountProcessResponse",
fields={"result": serializers.CharField(default="OK")},
),
404: None,
},
),
) )
class MailAccountViewSet(ModelViewSet, PassUserMixin): class MailAccountViewSet(ModelViewSet, PassUserMixin):
model = MailAccount model = MailAccount