Files
effekt-interface/app/api/model/rbacModel.py
2026-05-07 19:21:19 +08:00

73 lines
4.1 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
from sqlalchemy import BigInteger, Column, Integer, SmallInteger, String, TIMESTAMP, Text, text
from sqlalchemy.ext.declarative import declarative_base
from common.sqlSession import to_dict
Base = declarative_base()
Base.to_dict = to_dict
class Role(Base):
__tablename__ = 'role'
id = Column(BigInteger, primary_key=True, autoincrement=True, comment='id')
code = Column(String(64), unique=True, nullable=False, comment='角色编码')
name = Column(String(64), nullable=False, comment='角色名称')
description = Column(Text, comment='角色描述')
status = Column(SmallInteger, default=1, comment='1:启用 0:禁用')
is_system = Column(SmallInteger, default=0, comment='是否系统内置角色')
created_by = Column(BigInteger, comment='创建人')
is_delete = Column(Integer, default=0, comment='0未删除1已删除')
created_time = Column(TIMESTAMP, server_default=text('CURRENT_TIMESTAMP'), nullable=True, comment='创建时间')
updated_time = Column(TIMESTAMP, server_default=text('CURRENT_TIMESTAMP'), server_onupdate=text('CURRENT_TIMESTAMP'), nullable=True, comment='修改时间')
class Permission(Base):
__tablename__ = 'permission'
id = Column(BigInteger, primary_key=True, autoincrement=True, comment='id')
code = Column(String(128), unique=True, nullable=False, comment='权限编码')
name = Column(String(128), nullable=False, comment='权限名称')
module = Column(String(64), comment='所属模块')
action = Column(String(64), comment='动作')
description = Column(Text, comment='描述')
status = Column(SmallInteger, default=1, comment='1:启用 0:禁用')
is_delete = Column(Integer, default=0, comment='0未删除1已删除')
created_time = Column(TIMESTAMP, server_default=text('CURRENT_TIMESTAMP'), nullable=True, comment='创建时间')
updated_time = Column(TIMESTAMP, server_default=text('CURRENT_TIMESTAMP'), server_onupdate=text('CURRENT_TIMESTAMP'), nullable=True, comment='修改时间')
class RolePermission(Base):
__tablename__ = 'role_permission'
id = Column(BigInteger, primary_key=True, autoincrement=True, comment='id')
role_id = Column(BigInteger, nullable=False, comment='角色id')
permission_id = Column(BigInteger, nullable=False, comment='权限id')
is_delete = Column(Integer, default=0, comment='0未删除1已删除')
created_time = Column(TIMESTAMP, server_default=text('CURRENT_TIMESTAMP'), nullable=True, comment='创建时间')
class Menu(Base):
__tablename__ = 'menu'
id = Column(BigInteger, primary_key=True, autoincrement=True, comment='id')
parent_id = Column(BigInteger, default=0, comment='父菜单id')
name = Column(String(64), nullable=False, comment='菜单名称')
code = Column(String(64), unique=True, comment='菜单编码')
type = Column(SmallInteger, default=1, comment='1:目录 2:菜单 3:按钮')
path = Column(String(255), comment='路由路径')
component = Column(String(255), comment='前端组件路径')
icon = Column(String(64), comment='图标')
permission_code = Column(String(128), comment='对应权限编码')
sort = Column(Integer, default=0, comment='排序')
visible = Column(SmallInteger, default=1, comment='1:显示 0:隐藏')
status = Column(SmallInteger, default=1, comment='1:启用 0:禁用')
is_delete = Column(Integer, default=0, comment='0未删除1已删除')
created_time = Column(TIMESTAMP, server_default=text('CURRENT_TIMESTAMP'), nullable=True, comment='创建时间')
updated_time = Column(TIMESTAMP, server_default=text('CURRENT_TIMESTAMP'), server_onupdate=text('CURRENT_TIMESTAMP'), nullable=True, comment='修改时间')
class RoleMenu(Base):
__tablename__ = 'role_menu'
id = Column(BigInteger, primary_key=True, autoincrement=True, comment='id')
role_id = Column(BigInteger, nullable=False, comment='角色id')
menu_id = Column(BigInteger, nullable=False, comment='菜单id')
is_delete = Column(Integer, default=0, comment='0未删除1已删除')
created_time = Column(TIMESTAMP, server_default=text('CURRENT_TIMESTAMP'), nullable=True, comment='创建时间')