33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
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)
|