from typing import Optional
from pydantic import BaseModel, ConfigDict


class WaitingListBase(BaseModel):
    course_id: Optional[int]=None
    participant_id: Optional[int]=None
    primary_contact_number: Optional[str]=None
    is_enrolled: bool = False
    remarks: Optional[str]=None

class WaitingListCreateSchema(WaitingListBase):
    pass


class WaitingListResponseSchema(WaitingListBase):
    id: int
    model_config = ConfigDict(from_attributes=True)


class WaitingListUpdateSchema(BaseModel):
    remarks: Optional[str] = None
    is_enrolled: Optional[bool] = None


class WaitingListFilterSchema(BaseModel):
    academic_year_id: Optional[int] = None
    term_id: Optional[int] = None

