fix: update Paperless webhook payload to match include_document format
Build and Push / build (release) Successful in 30s
Build and Push / build (release) Successful in 30s
- Change model field from document_id to id (Paperless sends id) - Add content, created, modified, added, original_file_name, owner fields - Add extra="ignore" config to handle additional Paperless fields - Update sync service to use content from webhook payload - Skip Paperless API call when content already provided 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
+12
-3
@@ -86,13 +86,22 @@ class DocumentUploadResponse(BaseModel):
|
||||
|
||||
|
||||
class PaperlessWebhookPayload(BaseModel):
|
||||
"""Payload from Paperless-ngx webhook."""
|
||||
document_id: int = Field(..., description="Paperless document ID")
|
||||
event: str = Field(..., description="Event type (document_added, document_updated)")
|
||||
"""Payload from Paperless-ngx webhook (include_document=true format)."""
|
||||
id: int = Field(..., description="Paperless document ID")
|
||||
title: Optional[str] = Field(None, description="Document title")
|
||||
content: Optional[str] = Field(None, description="Document text content")
|
||||
correspondent: Optional[int] = Field(None, description="Correspondent ID")
|
||||
document_type: Optional[int] = Field(None, description="Document type ID")
|
||||
tags: List[int] = Field(default_factory=list, description="Tag IDs")
|
||||
created: Optional[str] = Field(None, description="Created date")
|
||||
modified: Optional[str] = Field(None, description="Modified datetime")
|
||||
added: Optional[str] = Field(None, description="Added datetime")
|
||||
original_file_name: Optional[str] = Field(None, description="Original filename")
|
||||
owner: Optional[int] = Field(None, description="Owner user ID")
|
||||
custom_fields: List[Dict[str, Any]] = Field(default_factory=list, description="Custom fields")
|
||||
|
||||
class Config:
|
||||
extra = "ignore" # Ignore extra fields from Paperless
|
||||
|
||||
|
||||
class WebhookResponse(BaseModel):
|
||||
|
||||
Reference in New Issue
Block a user