from sqlalchemy import Boolean, Column, ForeignKey, Integer
from sqlalchemy.orm import relationship

from src.core.models.base import Base


class UserPermissions(Base):
    """
    UserPermissions Model: ORM class for UserPermissions Entity
    """

    __tablename__ = "user_permissions"

    id = Column(Integer, primary_key=True, index=True, autoincrement=True)
    is_primary = Column(Boolean, default=False)

    user_id = Column(Integer, ForeignKey("users.id"), nullable=True)
    user = relationship("Users")

    role_id = Column(Integer, ForeignKey("roles.id"))
    role = relationship("Role")

    permission_id = Column(Integer, ForeignKey("permissions.id"), nullable=True)
    permission = relationship("Permission")
