from pydantic import BaseModel, Field from typing import Optional from datetime import datetime from uuid import UUID class RouteBase(BaseModel): name: str = Field(..., description="Route name") description: Optional[str] = Field(None, description="Route description") path: str = Field(..., description="Route path") method: str = Field(..., description="Route method") status: int = Field(..., description="Route status") class RouteCreate(RouteBase): pass class RouteUpdate(RouteBase): name: Optional[str] = Field(None, description="Route name") description: Optional[str] = Field(None, description="Route description") path: Optional[str] = Field(None, description="Route path") method: Optional[str] = Field(None, description="Route method") status: Optional[int] = Field(None, description="Route status") class RouteSchema(RouteBase): id: UUID created_at: datetime updated_at: datetime class Config: orm_mode = True