from pydantic import BaseModel | |
from typing import Optional | |
from datetime import datetime | |
class TableBase(BaseModel): | |
table_number: int | |
is_occupied: bool = False | |
current_order_id: Optional[int] = None | |
class TableCreate(TableBase): | |
pass | |
class TableUpdate(BaseModel): | |
is_occupied: Optional[bool] = None | |
current_order_id: Optional[int] = None | |
class Table(TableBase): | |
id: int | |
created_at: datetime | |
updated_at: datetime | |
class Config: | |
from_attributes = True # Updated from orm_mode for Pydantic V2 | |
class TableStatus(BaseModel): | |
total_tables: int | |
occupied_tables: int | |
free_tables: int | |