32 lines
625 B
Python
32 lines
625 B
Python
"""Pydantic schemas for Document APIs."""
|
|
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class DocumentMeta(BaseModel):
|
|
id: str
|
|
title: str
|
|
filename: str
|
|
mime_type: str
|
|
size_bytes: int
|
|
in_trash: bool
|
|
created_at: str
|
|
updated_at: str
|
|
deleted_at: str | None
|
|
|
|
model_config = {"from_attributes": True}
|
|
|
|
class DocumentListResponse(BaseModel):
|
|
items: list[DocumentMeta]
|
|
total: int
|
|
|
|
class BulkDeleteRequest(BaseModel):
|
|
ids: list[str]
|
|
|
|
class BulkRestoreRequest(BaseModel):
|
|
ids: list[str]
|
|
|
|
class DocumentUpdateRequest(BaseModel):
|
|
title: str | None = None
|
|
in_trash: bool | None = None
|