from sqlalchemy import Column, String, UUID, ForeignKey from pillar_tool.db.database import Base class User(Base): __tablename__ = 'pillar_tool_user' id = Column(UUID, primary_key=True) username = Column(String, nullable=False) pw_hash = Column(String, nullable=False) pw_salt = Column(String, nullable=False) class Role(Base): __tablename__ = 'pillar_tool_role' id = Column(UUID, primary_key=True) name = Column(String, nullable=False) class Permission(Base): __tablename__ = 'pillar_tool_permission' id = Column(UUID, primary_key=True) name = Column(String, nullable=False) class RolePermission(Base): __tablename__ = 'pillar_tool_role_permission' role_id = Column(UUID, ForeignKey("pillar_tool_role.id"), primary_key=True) permission_id = Column(UUID, ForeignKey("pillar_tool_permission.id"), primary_key=True) class UserRole(Base): __tablename__ = 'pillar_tool_user_role' user_id = Column(UUID, ForeignKey("pillar_tool_user.id"), primary_key=True) role_id = Column(UUID, ForeignKey("pillar_tool_role.id"), primary_key=True)