46 lines
1.0 KiB
Python
46 lines
1.0 KiB
Python
"""文档相关 Pydantic v2 Schema。"""
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class DocumentResponse(BaseModel):
|
|
id: str
|
|
knowledge_base_id: str
|
|
original_filename: str
|
|
file_size: int
|
|
mime_type: str
|
|
file_ext: str
|
|
sha256: str
|
|
title: str | None
|
|
description: str | None
|
|
keywords: str | None
|
|
content_summary: str | None
|
|
status: str
|
|
error_code: str | None
|
|
doc_token_hint: str | None
|
|
category_id: str | None
|
|
created_at: str
|
|
updated_at: str
|
|
|
|
model_config = {"from_attributes": True}
|
|
|
|
|
|
class DocumentListResponse(BaseModel):
|
|
items: list[DocumentResponse]
|
|
total: int
|
|
|
|
|
|
class DocumentUpdateRequest(BaseModel):
|
|
title: str | None = Field(default=None, max_length=512)
|
|
description: str | None = Field(default=None, max_length=2000)
|
|
keywords: str | None = Field(default=None, max_length=500)
|
|
category_id: str | None = None
|
|
|
|
|
|
class DocumentUploadResponse(BaseModel):
|
|
id: str
|
|
original_filename: str
|
|
file_size: int
|
|
status: str
|
|
message: str
|