"""Floor model."""
import uuid
from datetime import datetime
from sqlalchemy import Column, DateTime, ForeignKey, Integer, String
from sqlalchemy.orm import relationship
from app.database import Base

class Floor(Base):
    __tablename__ = "floors"
    id = Column(String(36), primary_key=True, default=lambda: str(uuid.uuid4()))
    house_id = Column(String(36), ForeignKey("houses.id", ondelete="CASCADE"), nullable=False, index=True)
    name = Column(String(100), nullable=False)
    level = Column(Integer, default=1, nullable=False)
    sort_order = Column(Integer, default=0, nullable=False)
    created_at = Column(DateTime, default=datetime.utcnow, nullable=False)
    house = relationship("House", back_populates="floors", lazy="selectin")
    rooms = relationship("Room", back_populates="floor", lazy="selectin", cascade="all, delete-orphan")
