"""User-House-Role association model."""
import uuid
from datetime import datetime
from sqlalchemy import Column, DateTime, ForeignKey, String
from app.database import Base

class UserHouseRole(Base):
    __tablename__ = "user_house_roles"
    id = Column(String(36), primary_key=True, default=lambda: str(uuid.uuid4()))
    user_id = Column(String(36), ForeignKey("users.id", ondelete="CASCADE"), nullable=False)
    house_id = Column(String(36), ForeignKey("houses.id", ondelete="CASCADE"), nullable=False)
    role_id = Column(String(36), ForeignKey("roles.id", ondelete="CASCADE"), nullable=False)
    granted_by = Column(String(36), nullable=True)
    created_at = Column(DateTime, default=datetime.utcnow, nullable=False)
