Files
nanocode/fumamxCRM/backend/schemas.py
T
Ubuntu 32b43f85bd a
2026-07-03 16:58:28 +08:00

81 lines
1.5 KiB
Python

"""
Pydantic 数据模型
"""
from pydantic import BaseModel
from typing import Optional, Dict, Any, List
from datetime import datetime
# ============ 认证相关 ============
class Token(BaseModel):
access_token: str
token_type: str = "bearer"
class UserLogin(BaseModel):
username: str
password: str
class UserChangePassword(BaseModel):
old_password: str
new_password: str
# ============ 客户相关 ============
class CustomerBase(BaseModel):
name: str
country: Optional[str] = None
source_country: Optional[str] = None
notes: Optional[str] = None
class CustomerCreate(CustomerBase):
import_data: Optional[Dict] = None
export_data: Optional[Dict] = None
raw_data: Optional[Dict] = None
class CustomerResponse(CustomerBase):
id: int
import_data: Optional[Dict] = None
export_data: Optional[Dict] = None
created_at: datetime
class Config:
from_attributes = True
# ============ 发现/搜索相关 ============
class SearchRequest(BaseModel):
keyword: str
page: int = 1
page_size: int = 10
class SearchResult(BaseModel):
name: str
country: Optional[str] = None
source: str = "fumamx"
class CompanyDetailRequest(BaseModel):
name: str
country: Optional[str] = ""
# ============ 设置相关 ============
class CookieSetting(BaseModel):
cookie_content: str
class SystemStatus(BaseModel):
logged_in: bool
user: Optional[str] = None
cookie_valid: bool
tokens_valid: bool = False