from sqlalchemy.orm import Session
from app.api.carpentry.schemas import CarpentryFurnitureCreate
from app.dependency.authantication import JWTPayloadSchema
from app.models.main.carpentry import FurnitureEstimateBase, TblCarpentryFurniture
from app.utils.common_utils import prepare_furniture_data
from app.utils.schemas_utils import CustomResponse

class CarpentryFurnitureService:
    def __init__(self, db: Session, token: JWTPayloadSchema):
        self.db = db
        self.token = token

    async def create_carpentry_furniture(self, request: CarpentryFurnitureCreate):
        data = prepare_furniture_data(request)
        created_furniture = FurnitureEstimateBase.model_validate(data)
        TblCarpentryFurniture.create(created_furniture, self.db)
        self.db.commit()
        return CustomResponse(status="1", message="Carpentry and Furniture item created successfully.")
