from pydantic import BaseModel from typing import Optional from datetime import datetime from enum import Enum class MatchStatusEnum(str, Enum): pending = "pending" accepted = "accepted" rejected = "rejected" class MatchBase(BaseModel): sender_id: Optional[int] = None receiver_id: Optional[int] = None status: Optional[MatchStatusEnum] = None class MatchCreate(MatchBase): receiver_id: int class MatchUpdate(MatchBase): status: MatchStatusEnum class MatchInDBBase(MatchBase): id: int sender_id: int receiver_id: int status: MatchStatusEnum created_at: datetime updated_at: Optional[datetime] = None class Config: orm_mode = True class Match(MatchInDBBase): pass class MatchInDB(MatchInDBBase): pass