mirror of
https://gh-proxy.org/https://github.com/klinsmaya/SQLBot.git
synced 2026-11-08 01:06:59 +08:00
108 lines
4.1 KiB
Python
108 lines
4.1 KiB
Python
from sqlmodel import Field, SQLModel,BigInteger
|
|
from datetime import datetime
|
|
from typing import Optional
|
|
from enum import Enum
|
|
from pydantic import BaseModel
|
|
|
|
class OperationModules(str, Enum):
|
|
CHAT = "chat" # 问数
|
|
DATASOURCE = "datasource" # 数据源
|
|
DASHBOARD = "dashboard" # 仪表板
|
|
MEMBER = "member" # 成员
|
|
PERMISSION = "permission" # 权限
|
|
RULES = "rules" # q组
|
|
TERMINOLOGY = "terminology" # 术语
|
|
DATA_TRAINING = "data_training" # SQL 示例库
|
|
PROMPT_WORDS = "prompt_words" # 自定义提示词
|
|
USER = "user" # 用户
|
|
WORKSPACE = "workspace" # 工作空间
|
|
AI_MODEL = "ai_model" # AI 模型
|
|
APPLICATION = "application" # 嵌入式管理 应用
|
|
THEME = "theme" # 外观配置
|
|
PARAMS_SETTING = "params_setting" # 参数配置
|
|
API_KEY = "api_key" # api key
|
|
LOG_SETTING = "log_setting" # api key
|
|
SETTING = "setting" # 设置
|
|
SYSTEM_MANAGEMENT = "system_management" # 系统管理
|
|
OPT_LOG = "opt_log" # 操作日志
|
|
|
|
class OperationStatus(str, Enum):
|
|
SUCCESS = "success"
|
|
FAILED = "failed"
|
|
|
|
class OperationType(str, Enum):
|
|
CREATE = "create"
|
|
DELETE = "delete"
|
|
UPDATE = "update"
|
|
RESET_PWD = "reset_pwd"
|
|
UPDATE_PWD = "update_pwd"
|
|
UPDATE_STATUS = "update_status"
|
|
UPDATE_TABLE_RELATION = "update_table_relation"
|
|
EDIT = "edit"
|
|
LOGIN = "login"
|
|
VIEW = "view"
|
|
EXPORT = "export"
|
|
IMPORT = "import"
|
|
ADD = "add"
|
|
CREATE_OR_UPDATE = "create_or_update"
|
|
ANALYSIS = "analysis"
|
|
PREDICTION = "prediction"
|
|
|
|
class SystemLogsResource(SQLModel, table=True):
|
|
__tablename__ = "sys_logs_resource"
|
|
id: Optional[int] = Field(default=None, primary_key=True)
|
|
log_id: Optional[int] = Field(default=None,sa_type=BigInteger())
|
|
resource_id: Optional[str] = Field(default=None)
|
|
resource_name: Optional[str] = Field(default=None)
|
|
module: Optional[str] = Field(default=None)
|
|
|
|
|
|
class SystemLog(SQLModel, table=True):
|
|
__tablename__ = "sys_logs"
|
|
id: Optional[int] = Field(default=None, primary_key=True)
|
|
operation_type: str = Field(default=None)
|
|
operation_detail: str = Field(default=None)
|
|
user_id: Optional[int] = Field(default=None, sa_type=BigInteger())
|
|
operation_status: str = Field(default=None)
|
|
ip_address: Optional[str] = Field(default=None)
|
|
user_agent: Optional[str] = Field(default=None)
|
|
execution_time: int = Field(default=0, description="执行时间(毫秒)", sa_type=BigInteger())
|
|
error_message: Optional[str] = Field(default=None)
|
|
create_time: datetime = Field(default_factory=datetime.now)
|
|
module: Optional[str] = Field(default=None)
|
|
oid: Optional[int] = Field(default=None, sa_type=BigInteger())
|
|
resource_id: Optional[str] = Field(default=None)
|
|
request_method: Optional[str] = Field(default=None)
|
|
request_path: Optional[str] = Field(default=None)
|
|
remark: Optional[str] = Field(default=None)
|
|
user_name: Optional[str] = Field(default=None)
|
|
resource_name: Optional[str] = Field(default=None)
|
|
|
|
|
|
class SystemLogInfo(BaseModel):
|
|
id: str = Field(default=None)
|
|
operation_type_name: str = Field(default=None)
|
|
operation_detail_info: str = Field(default=None)
|
|
user_name: str = Field(default=None)
|
|
resource_name: str = Field(default=None)
|
|
operation_status: str = Field(default=None)
|
|
ip_address: Optional[str] = Field(default=None)
|
|
create_time: datetime = Field(default_factory=datetime.now)
|
|
oid_list: str = Field(default=None)
|
|
remark: str = Field(default=None)
|
|
|
|
class SystemLogInfoResult(BaseModel):
|
|
id: str = Field(default=None)
|
|
operation_type_name: str = Field(default=None)
|
|
operation_detail_info: str = Field(default=None)
|
|
user_name: str = Field(default=None)
|
|
resource_name: str = Field(default=None)
|
|
operation_status: str = Field(default=None)
|
|
operation_status_name: str = Field(default=None)
|
|
ip_address: Optional[str] = Field(default=None)
|
|
create_time: datetime = Field(default_factory=datetime.now)
|
|
oid_name: str = Field(default=None)
|
|
oid: str = Field(default=None)
|
|
error_message: str = Field(default=None)
|
|
remark: str = Field(default=None)
|