from typing import Literal, Optional
from pydantic import Field
from app.utils.schemas_utils import CustomModel

class CivilCreate(CustomModel):
    group_id: int
    store_format_type: str
    type_of_civil_work: str
    rate_per_sqft: float
    remarks: str

class CivilResponse(CustomModel):
    civil_id: int | None = Field(default=None)
    group_id: int | None = Field(default=None)
    store_format_type: str | None = Field(default=None)
    type_of_civil_work: str | None = Field(default=None)
    rate_per_sqft: float | None = Field(default=None)
    total_sqft: float | None = Field(default=None)
    remarks: str | None = Field(default=None)
    
class CivilUpdate(CustomModel):
    civil_id: Optional[int] = None
    group_id: Optional[int] = None
    store_format_type: Optional[str] = None
    type_of_civil_work: Optional[str] = None
    rate_per_sqft: Optional[float] = None
    remarks: Optional[str] = None