Spaces:
Sleeping
Sleeping
File size: 1,473 Bytes
9390ea2 57cf043 9390ea2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
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 |