xiangqinxiaochengxu/backend/app/schemas/match.py

42 lines
1.0 KiB
Python
Raw Normal View History

2026-04-17 10:49:14 +08:00
from pydantic import BaseModel, ConfigDict
class MatchCandidateItem(BaseModel):
model_config = ConfigDict(extra="ignore")
user_id: int
nickname: str | None = None
birth_year_range: str | None = None
city: str | None = None
personality_tags: list[str] | None = None
avatar_blur_url: str | None = None
match_score: float | None = None
match_reasons: list[str] | None = None
class MatchLikeRequest(BaseModel):
model_config = ConfigDict(extra="ignore")
to_user_id: int
source: str = "manual"
activity_id: int | None = None
class MatchLikeResponse(BaseModel):
model_config = ConfigDict(extra="ignore")
is_mutual: bool
match_id: int | None = None
match_info: dict | None = None
class MyMatchItem(BaseModel):
model_config = ConfigDict(extra="ignore")
match_id: int
matched_at: str
other_user: dict
class MatchDetailResponse(BaseModel):
model_config = ConfigDict(extra="ignore")
match_id: int
matched_at: str
other_user: dict