from typing import Literal, Optional

from pydantic import Field
from app.utils.schemas_utils import CustomModel

class DisplayRackingUnitCreate(CustomModel):
    group_id: int
    store_format_type: Literal["Store Format A", "Store Format B"]
    type_display_racking_unit: str
   # unit_type: str
    number_of_units: int
    cost_per_unit: float
    #total:float
    remarks: str

class DisplayRackingUnitResponce(CustomModel):
    rack_id: int | None = Field(default=None)
    group_id: int | None = Field(default=None)
    store_format_type: str | None = Field(default=None)
    type_display_racking_unit: str | None = Field(default=None)
    #unit_type: str | None = Field(default=None)
    cost_per_unit: float | None = Field(default=None)
    number_of_units: int | None = Field(default=None)
    total:float | None = Field(default=None)
    remarks: str | None = Field(default=None)
    
class DisplayRackingUnitUpdate(CustomModel):
    rack_id: Optional[int] = None
    group_id: Optional[int] = None
    store_format_type: Optional[str] = None
    type_display_racking_unit: Optional[str] = None
    cost_per_unit: Optional[float] = None
    number_of_units: Optional[int] = None
    # total:Optional[float] = None
    remarks: Optional[str] = None