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