Archived
1
0
Fork 0
This repository has been archived on 2024-04-26. You can view files and clone it, but cannot push or open issues or pull requests.
akari-bot/database/tables.py

100 lines
3 KiB
Python
Raw Normal View History

2021-08-07 07:56:48 +00:00
from sqlalchemy import Column, Integer, String, Text, TIMESTAMP, Boolean, text
2022-06-12 14:30:02 +00:00
from sqlalchemy.dialects.mysql import LONGTEXT
2022-06-13 04:49:22 +00:00
from config import Config
2022-07-31 08:27:58 +00:00
from database.orm import Session
from database.orm_base import Base
class EnabledModules(Base):
"""已打开的模块"""
__tablename__ = "EnabledModules"
2021-07-15 14:59:32 +00:00
targetId = Column(String(512), primary_key=True)
enabledModules = Column(Text)
2021-07-15 14:59:32 +00:00
class SenderInfo(Base):
"""发送者信息"""
__tablename__ = "SenderInfo"
id = Column(String(512), primary_key=True)
isInBlockList = Column(Boolean, default=False)
isInAllowList = Column(Boolean, default=False)
2021-07-15 14:59:32 +00:00
isSuperUser = Column(Boolean, default=False)
warns = Column(Integer, default='0')
2021-11-14 09:57:53 +00:00
disable_typing = Column(Boolean, default=False)
2022-07-01 14:12:26 +00:00
class TargetOptions(Base):
"""对象设置的参数"""
__tablename__ = "TargetOptions"
targetId = Column(String(512), primary_key=True)
options = Column(LONGTEXT if Config('db_path').startswith('mysql') else Text)
2022-06-12 14:30:02 +00:00
class StoredData(Base):
"""数据存储"""
__tablename__ = "StoredData"
name = Column(String(512), primary_key=True)
value = Column(LONGTEXT if Config('db_path').startswith('mysql') else Text)
2021-07-15 14:59:32 +00:00
class TargetAdmin(Base):
2021-07-13 15:48:43 +00:00
"""所属赋予的管理员"""
2021-07-15 14:59:32 +00:00
__tablename__ = "TargetAdmin"
2021-07-24 08:59:15 +00:00
id = Column(Integer, primary_key=True)
senderId = Column(String(512))
2021-07-15 14:59:32 +00:00
targetId = Column(String(512))
2021-07-13 15:48:43 +00:00
2022-01-08 11:05:17 +00:00
class MuteList(Base):
"""禁言列表"""
__tablename__ = "MuteList"
targetId = Column(String(512), primary_key=True)
2022-01-20 12:13:03 +00:00
class CommandTriggerTime(Base):
"""命令触发时间"""
__tablename__ = "CommandTriggerTime"
2021-07-27 17:42:47 +00:00
targetId = Column(String(512), primary_key=True)
commandName = Column(String(512))
timestamp = Column(TIMESTAMP, default=text('CURRENT_TIMESTAMP'))
2021-08-25 15:15:20 +00:00
class GroupAllowList(Base):
__tablename__ = "GroupAllowList"
targetId = Column(String(512), primary_key=True)
2022-07-14 13:23:15 +00:00
class AnalyticsData(Base):
"""所属赋予的管理员"""
__tablename__ = "Analytics"
id = Column(Integer, primary_key=True)
moduleName = Column(String(512))
moduleType = Column(String(512))
targetId = Column(String(512))
senderId = Column(String(512))
command = Column(LONGTEXT if Config('db_path').startswith('mysql') else Text)
timestamp = Column(TIMESTAMP, default=text('CURRENT_TIMESTAMP'))
2022-08-10 12:02:49 +00:00
__table_args__ = {'mysql_charset': 'utf8mb4'}
2022-07-14 13:23:15 +00:00
2022-06-13 12:01:53 +00:00
class DBVersion(Base):
__tablename__ = "DBVersion"
value = Column(String(512), primary_key=True)
2022-07-27 14:32:16 +00:00
class UnfriendlyActionsTable(Base):
__tablename__ = "unfriendly_action"
id = Column(Integer, primary_key=True)
targetId = Column(String(512))
senderId = Column(String(512))
action = Column(String(512))
detail = Column(String(512))
timestamp = Column(TIMESTAMP, default=text('CURRENT_TIMESTAMP'))
2022-06-13 04:49:22 +00:00
Session.create()
2022-07-01 14:12:26 +00:00
__all__ = ["EnabledModules", "TargetAdmin", "SenderInfo", "TargetOptions", "CommandTriggerTime", "GroupAllowList",
2022-07-27 14:32:16 +00:00
"StoredData", "DBVersion", "MuteList", "AnalyticsData", "UnfriendlyActionsTable"]