34 lines
761 B
Python
34 lines
761 B
Python
"""
|
|
Pydantic 数据验证模型
|
|
"""
|
|
from pydantic import BaseModel, Field
|
|
from typing import List, Optional, Dict, Any
|
|
|
|
|
|
class LoginRequest(BaseModel):
|
|
username: str
|
|
password: str
|
|
|
|
|
|
class LoginResponse(BaseModel):
|
|
access_token: str
|
|
token_type: str = "bearer"
|
|
|
|
|
|
class PasswordChange(BaseModel):
|
|
old_password: str
|
|
new_password: str = Field(..., min_length=8, max_length=20)
|
|
|
|
|
|
class JsonColorItem(BaseModel):
|
|
"""单个色块的颜色数据"""
|
|
id: int
|
|
value: str
|
|
|
|
|
|
class JsonDataRequest(BaseModel):
|
|
"""JSON数据尿检请求 - 与txt文件格式一致"""
|
|
extend: Optional[Dict[str, Any]] = Field(default_factory=dict)
|
|
data: List[List[JsonColorItem]] = Field(default_factory=list)
|
|
project_id: Optional[int] = None
|