Spaces:
Runtime error
Runtime error
| from datetime import datetime | |
| from pydantic import BaseModel | |
| from schemas.document import Document | |
| class Dataset(BaseModel): | |
| """ | |
| Краткая информация о датасете. | |
| """ | |
| id: int | |
| dateCreated: datetime | |
| name: str | |
| isActive: bool | |
| isDraft: bool | |
| class Config: | |
| from_attributes = True | |
| json_schema_extra = { | |
| 'example': { | |
| 'id': 1, | |
| 'dateCreated': datetime.fromisoformat('2024-01-01T00:00:00'), | |
| 'name': 'default', | |
| 'isActive': True, | |
| 'isDraft': False, | |
| } | |
| } | |
| class DocumentsPage(BaseModel): | |
| """ | |
| Страница с документами. | |
| """ | |
| page: list[Document] | |
| total: int | |
| pageNumber: int | |
| pageSize: int | |
| class Config: | |
| json_schema_extra = { | |
| 'example': { | |
| 'documents': [Document.Config.json_schema_extra['example']], | |
| 'total': 500, | |
| 'pageNumber': 1, | |
| 'pageSize': 10, | |
| } | |
| } | |
| class DatasetExpanded(Dataset): | |
| """ | |
| Расширенная информация о датасете, включающая страницу с документами. | |
| """ | |
| data: DocumentsPage | |
| class Config: | |
| json_schema_extra = { | |
| 'example': { | |
| 'id': 1, | |
| 'dateCreated': datetime.fromisoformat('2024-01-01T00:00:00'), | |
| 'name': 'default', | |
| 'isActive': True, | |
| 'isDraft': False, | |
| 'data': DocumentsPage.Config.json_schema_extra['example'], | |
| } | |
| } | |
| class DatasetProcessing(BaseModel): | |
| """ | |
| Информация о процессе обработки датасета. | |
| """ | |
| status: str | |
| total: int | None | |
| current: int | None | |
| datasetName: str | None | |
| class Config: | |
| json_schema_extra = { | |
| 'example': { | |
| 'status': 'ready', | |
| } | |
| } | |
| class SortQuery(BaseModel): | |
| """ | |
| Запрос на сортировку. | |
| """ | |
| field: str | |
| direction: str | |
| class Config: | |
| json_schema_extra = {'example': {'field': 'name', 'direction': 'asc'}} | |
| class SortQueryList(BaseModel): | |
| """ | |
| Список запросов на сортировку. | |
| """ | |
| sorts: list[SortQuery] | |
| class Config: | |
| json_schema_extra = {'example': [{'field': 'name', 'direction': 'asc'}]} | |