31 lines
660 B
Python
31 lines
660 B
Python
"""Pydantic schemas for Document APIs."""
|
|
|
|
from pydantic import BaseModel
|
|
from typing import Optional
|
|
|
|
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: Optional[str]
|
|
|
|
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: Optional[str] = None
|
|
in_trash: Optional[bool] = None
|