fix: add success/media fields to MediaUploadResponse schema

- Add success and media fields to MediaUploadResponse
- Add url alias field to MediaItemResponse for JS compatibility
- JS expects response.success and response.media.url

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-08 02:33:32 +01:00
parent 9b233fd271
commit 9a8894bd5a

View File

@@ -37,6 +37,7 @@ class MediaItemResponse(BaseModel):
filename: str
original_filename: str | None = None
file_url: str
url: str | None = None # Alias for file_url for JS compatibility
thumbnail_url: str | None = None
media_type: str # image, video, document
mime_type: str | None = None
@@ -52,6 +53,11 @@ class MediaItemResponse(BaseModel):
model_config = {"from_attributes": True}
def model_post_init(self, __context: Any) -> None:
"""Set url from file_url if not provided."""
if self.url is None:
object.__setattr__(self, "url", self.file_url)
class MediaListResponse(BaseModel):
"""Paginated list of media items."""
@@ -71,13 +77,16 @@ class MediaListResponse(BaseModel):
class MediaUploadResponse(BaseModel):
"""Response for single file upload."""
success: bool = True
message: str | None = None
media: MediaItemResponse | None = None
# Legacy fields for backwards compatibility
id: int | None = None
file_url: str | None = None
thumbnail_url: str | None = None
filename: str | None = None
file_size: int | None = None
media_type: str | None = None
message: str | None = None
class UploadedFileInfo(BaseModel):