xiangqinxiaochengxu/backend/app/schemas/match.py
2026-04-17 21:28:56 +08:00

45 lines
1.1 KiB
Python

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 | str
matched_at: str
match_status: str
match_status_text: str
fail_reason: str | None = None
other_user: dict
class MatchDetailResponse(BaseModel):
model_config = ConfigDict(extra="ignore")
match_id: int
matched_at: str
other_user: dict