Spaces:
Sleeping
Sleeping
from datetime import datetime | |
from typing import List, Optional | |
from pydantic import BaseModel | |
class LogSchema(BaseModel): | |
id: int | |
date_created: datetime | |
user_request: Optional[str] = None | |
qe_result: Optional[str] = None | |
search_result: Optional[str] = None | |
llm_result: Optional[str] = None | |
llm_settings: Optional[str] = None | |
user_name: Optional[str] = None | |
error: Optional[str] = None | |
class LogCreateSchema(BaseModel): | |
user_request: Optional[str] = None | |
qe_result: Optional[str] = None | |
search_result: Optional[str] = None | |
llm_result: Optional[str] = None | |
llm_settings: Optional[str] = None | |
user_name: Optional[str] = None | |
error: Optional[str] = None | |
class LogFilterSchema(BaseModel): | |
user_name: Optional[str] = None | |
date_from: Optional[datetime] = None | |
date_to: Optional[datetime] = None | |
page: int = 1 # Номер страницы, по умолчанию 1 | |
page_size: int = 50 # Размер страницы, по умолчанию 50 | |
class Config: | |
json_schema_extra = { | |
"example": { | |
"user_name": "demo", | |
"date_from": "2024-01-01T00:00:00", | |
"date_to": "2026-12-31T23:59:59", | |
"page": 1, | |
"page_size": 50 | |
} | |
} | |
class PaginatedLogResponse(BaseModel): | |
data: List[LogSchema] | |
total: int | |
page: int | |
page_size: int | |
total_pages: int |