Skip to content

Commit aef67f6

Browse files
committed
refactor: refactor log management
1 parent a6dcec0 commit aef67f6

File tree

22 files changed

+393
-195
lines changed

22 files changed

+393
-195
lines changed

backend/apps/api.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from apps.system.api import login, user, aimodel, workspace, assistant, parameter, apikey
99
from apps.terminology.api import terminology
1010
from apps.settings.api import base
11+
#from apps.audit.api import audit_api
1112

1213

1314
api_router = APIRouter()
@@ -28,3 +29,5 @@
2829
api_router.include_router(apikey.router)
2930

3031
api_router.include_router(recommended_problem.router)
32+
33+
#api_router.include_router(audit_api.router)

backend/apps/chat/api/chat.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
from common.core.deps import CurrentAssistant, SessionDep, CurrentUser, Trans
2222
from common.utils.command_utils import parse_quick_command
2323
from common.utils.data_format import DataFormat
24-
from sqlbot_xpack.audit.models.log_model import OperationType, OperationDetails, OperationModules
25-
from sqlbot_xpack.audit.schemas.logger_decorator import system_log, LogConfig
24+
from sqlbot_xpack.audit.models.log_model import OperationType, OperationModules
25+
from sqlbot_xpack.audit.schemas.logger_decorator import LogConfig, system_log
2626

2727
router = APIRouter(tags=["Data Q&A"], prefix="/chat")
2828

@@ -83,9 +83,8 @@ async def rename(session: SessionDep, chat: RenameChat):
8383

8484
@router.delete("/{chart_id}/{brief}", response_model=str, summary=f"{PLACEHOLDER_PREFIX}delete_chat")
8585
@system_log(LogConfig(
86-
operation_type=OperationType.DELETE_QA,
87-
operation_detail=OperationDetails.DELETE_QA_DETAILS,
88-
module=OperationModules.QA,
86+
operation_type=OperationType.DELETE,
87+
module=OperationModules.CHAT,
8988
resource_id_expr="chart_id",
9089
remark_expr="brief"
9190
))
@@ -102,9 +101,8 @@ async def delete(session: SessionDep, chart_id: int, brief: str):
102101
@router.post("/start", response_model=ChatInfo, summary=f"{PLACEHOLDER_PREFIX}start_chat")
103102
@require_permissions(permission=SqlbotPermission(type='ds', keyExpression="create_chat_obj.datasource"))
104103
@system_log(LogConfig(
105-
operation_type=OperationType.CREATE_QA,
106-
operation_detail=OperationDetails.CREATE_QA_DETAILS,
107-
module=OperationModules.QA,
104+
operation_type=OperationType.CREATE,
105+
module=OperationModules.CHAT,
108106
result_id_expr="id"
109107
))
110108
async def start_chat(session: SessionDep, current_user: CurrentUser, create_chat_obj: CreateChat):

backend/apps/dashboard/api/dashboard_api.py

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
from apps.dashboard.crud.dashboard_service import list_resource, load_resource, \
44
create_resource, create_canvas, validate_name, delete_resource, update_resource, update_canvas
55
from apps.dashboard.models.dashboard_model import CreateDashboard, BaseDashboard, QueryDashboard, DashboardResponse
6-
from sqlbot_xpack.audit.models.log_model import OperationType, OperationDetails, OperationModules
7-
from sqlbot_xpack.audit.schemas.logger_decorator import system_log, LogConfig
6+
from sqlbot_xpack.audit.models.log_model import OperationType, OperationModules
7+
from sqlbot_xpack.audit.schemas.logger_decorator import LogConfig, system_log
88
from common.core.deps import SessionDep, CurrentUser
99

1010
router = APIRouter(tags=["dashboard"], prefix="/dashboard")
@@ -32,8 +32,7 @@ async def update_resource_api(session: SessionDep, user: CurrentUser, dashboard:
3232

3333
@router.delete("/delete_resource/{resource_id}/{name}")
3434
@system_log(LogConfig(
35-
operation_type=OperationType.DELETE_DASHBOARD,
36-
operation_detail=OperationDetails.DELETE_DASHBOARD_DETAILS,
35+
operation_type=OperationType.DELETE,
3736
module=OperationModules.DASHBOARD,
3837
resource_id_expr="resource_id",
3938
remark_expr="name"
@@ -44,8 +43,7 @@ async def delete_resource_api(session: SessionDep, resource_id: str, name: str):
4443

4544
@router.post("/create_canvas", response_model=BaseDashboard)
4645
@system_log(LogConfig(
47-
operation_type=OperationType.CREATE_DASHBOARD,
48-
operation_detail=OperationDetails.CREATE_DASHBOARD_DETAILS,
46+
operation_type=OperationType.CREATE,
4947
module=OperationModules.DASHBOARD,
5048
result_id_expr="id"
5149
))
@@ -55,8 +53,7 @@ async def create_canvas_api(session: SessionDep, user: CurrentUser, dashboard: C
5553

5654
@router.post("/update_canvas", response_model=BaseDashboard)
5755
@system_log(LogConfig(
58-
operation_type=OperationType.UPDATE_DASHBOARD,
59-
operation_detail=OperationDetails.UPDATE_DASHBOARD_DETAILS,
56+
operation_type=OperationType.UPDATE,
6057
module=OperationModules.DASHBOARD,
6158
resource_id_expr="dashboard.id"
6259
))

backend/apps/datasource/api/datasource.py

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@
2828
from ..crud.table import get_tables_by_ds_id
2929
from ..models.datasource import CoreDatasource, CreateDatasource, TableObj, CoreTable, CoreField, FieldObj, \
3030
TableSchemaResponse, ColumnSchemaResponse, PreviewResponse
31-
from sqlbot_xpack.audit.models.log_model import OperationType, OperationDetails, OperationModules
32-
from sqlbot_xpack.audit.schemas.logger_decorator import system_log, LogConfig
31+
from sqlbot_xpack.audit.models.log_model import OperationType, OperationModules
32+
from sqlbot_xpack.audit.schemas.logger_decorator import LogConfig, system_log
3333

3434
router = APIRouter(tags=["Datasource"], prefix="/datasource")
3535
path = settings.EXCEL_PATH
@@ -72,8 +72,7 @@ def inner():
7272

7373
@router.post("/add", response_model=CoreDatasource, summary=f"{PLACEHOLDER_PREFIX}ds_add")
7474
@system_log(LogConfig(
75-
operation_type=OperationType.CREATE_DATASOURCE,
76-
operation_detail=OperationDetails.CREATE_DATASOURCE_DETAILS,
75+
operation_type=OperationType.CREATE,
7776
module=OperationModules.DATASOURCE,
7877
result_id_expr="id"
7978
))
@@ -96,8 +95,7 @@ def inner():
9695
@router.post("/update", response_model=CoreDatasource, summary=f"{PLACEHOLDER_PREFIX}ds_update")
9796
@require_permissions(permission=SqlbotPermission(type='ds', keyExpression="ds.id"))
9897
@system_log(LogConfig(
99-
operation_type=OperationType.UPDATE_DATASOURCE,
100-
operation_detail=OperationDetails.UPDATE_DATASOURCE_DETAILS,
98+
operation_type=OperationType.UPDATE,
10199
module=OperationModules.DATASOURCE,
102100
resource_id_expr="ds.id"
103101
))
@@ -111,8 +109,7 @@ def inner():
111109
@router.post("/delete/{id}/{name}", response_model=None, summary=f"{PLACEHOLDER_PREFIX}ds_delete")
112110
@require_permissions(permission=SqlbotPermission(type='ds', keyExpression="id"))
113111
@system_log(LogConfig(
114-
operation_type=OperationType.DELETE_DATASOURCE,
115-
operation_detail=OperationDetails.DELETE_DATASOURCE_DETAILS,
112+
operation_type=OperationType.DELETE,
116113
module=OperationModules.DATASOURCE,
117114
resource_id_expr="id",
118115
remark_expr="name"

backend/apps/system/api/login.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,18 @@
1111
from common.core.config import settings
1212
from common.core.schemas import Token
1313
from sqlbot_xpack.authentication.manage import logout as xpack_logout
14+
15+
from sqlbot_xpack.audit.models.log_model import OperationType, OperationModules
16+
from sqlbot_xpack.audit.schemas.logger_decorator import system_log, LogConfig
17+
1418
router = APIRouter(tags=["login"], prefix="/login")
1519

1620
@router.post("/access-token")
21+
@system_log(LogConfig(
22+
operation_type=OperationType.LOGIN,
23+
module=OperationModules.USER,
24+
result_id_expr="id"
25+
))
1726
async def local_login(
1827
session: SessionDep,
1928
trans: Trans,

backend/apps/system/schemas/system_schema.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ class BaseUserDTO(BaseUser, BaseCreatorDTO):
3636
password: str
3737
status: int = 1
3838
origin: int = 0
39+
name: str
3940

4041
def to_dict(self):
4142
return {

backend/locales/en.json

Lines changed: 23 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -125,44 +125,34 @@
125125
"i18n_audit": {
126126
"success": "Success",
127127
"failed": "Failed",
128-
"create_qa": "Create Q&A",
129-
"delete_qa": "Delete Q&A",
130-
"create_datasource": "Create Datasource",
131-
"update_datasource": "Edit Datasource",
132-
"delete_datasource": "Delete Datasource",
133-
"create_dashboard": "Create Dashboard",
134-
"update_dashboard": "Edit Dashboard",
135-
"delete_dashboard": "Delete Dashboard",
136-
"setting_create_user": "Add Member",
137-
"setting_delete_user": "Remove Member",
138-
"setting_create_rule": "Add Rule Group",
139-
"setting_delete_rule": "Remove Rule Group",
140-
"setting_update_rule": "Configure Rules",
141-
"setting_update_rule_user": "Configure Users",
142-
"setting_create_terminology": "Create Terminology",
143-
"create_qa_details": "Create Q&A【{resource_name}】",
144-
"delete_qa_details": "Delete Q&A【{resource_name}】",
145-
"create_datasource_details": "Create Datasource【{resource_name}】",
146-
"update_datasource_details": "Edit Datasource【{resource_name}】",
147-
"delete_datasource_details": "Delete Datasource【{resource_name}】",
148-
"create_dashboard_details": "Create Dashboard【{resource_name}】",
149-
"update_dashboard_details": "Edit Dashboard【{resource_name}】",
150-
"delete_dashboard_details": "Delete Dashboard【{resource_name}】",
151-
"setting_create_user_details": "Add Member【{resource_name}】",
152-
"setting_delete_user_details": "Remove Member【{resource_name}】",
153-
"setting_create_rule_details": "Add Rule Group【{resource_name}】",
154-
"setting_delete_rule_details": "Remove Rule Group【{resource_name}】",
155-
"setting_update_rule_details": "Configure Rules【{resource_name}】",
156-
"setting_update_rule_user_details": "Configure Users【{resource_name}】",
157-
"setting_create_terminology_details": "Create Terminology【{resource_name}】",
158-
"system_log": "System Log",
128+
"system_log": "Operation Log",
159129
"operation_type_name": "Operation Type",
160130
"operation_detail_info": "Operation Details",
161-
"user_name": "Operating User",
131+
"user_name": "Operator",
162132
"oid_name": "Workspace",
163133
"operation_status_name": "Operation Status",
164134
"error_message": "Error Message",
165135
"ip_address": "IP Address",
166-
"create_time": "Operation Time"
136+
"create_time": "Operation Time",
137+
"chat": "AI Q&A",
138+
"datasource": "Datasource",
139+
"dashboard": "Dashboard",
140+
"member": "Member",
141+
"permission": "Permission",
142+
"terminology": "Terminology",
143+
"data_training": "SQL Examples",
144+
"prompt_words": "Prompt Words",
145+
"user": "User",
146+
"workspace": "Workspace",
147+
"ai_model": "AI Model",
148+
"application": "Application",
149+
"theme": "Appearance Settings",
150+
"create": "Create",
151+
"delete": "Delete",
152+
"update": "Update",
153+
"edit": "Edit",
154+
"login": "Login",
155+
"export": "Export",
156+
"import": "Import"
167157
}
168158
}

backend/locales/ko-KR.json

Lines changed: 24 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -125,44 +125,34 @@
125125
"i18n_audit": {
126126
"success": "성공",
127127
"failed": "실패",
128-
"create_qa": "Q&A 생성",
129-
"delete_qa": "Q&A 삭제",
130-
"create_datasource": "데이터 소스 생성",
131-
"update_datasource": "데이터 소스 편집",
132-
"delete_datasource": "데이터 소스 삭제",
133-
"create_dashboard": "대시보드 생성",
134-
"update_dashboard": "대시보드 편집",
135-
"delete_dashboard": "대시보드 삭제",
136-
"setting_create_user": "멤버 추가",
137-
"setting_delete_user": "멤버 제거",
138-
"setting_create_rule": "규칙 그룹 추가",
139-
"setting_delete_rule": "규칙 그룹 제거",
140-
"setting_update_rule": "규칙 설정",
141-
"setting_update_rule_user": "사용자 설정",
142-
"setting_create_terminology": "용어 생성",
143-
"create_qa_details": "Q&A 생성【{resource_name}】",
144-
"delete_qa_details": "Q&A 삭제【{resource_name}】",
145-
"create_datasource_details": "데이터 소스 생성【{resource_name}】",
146-
"update_datasource_details": "데이터 소스 편집【{resource_name}】",
147-
"delete_datasource_details": "데이터 소스 삭제【{resource_name}】",
148-
"create_dashboard_details": "대시보드 생성【{resource_name}】",
149-
"update_dashboard_details": "대시보드 편집【{resource_name}】",
150-
"delete_dashboard_details": "대시보드 삭제【{resource_name}】",
151-
"setting_create_user_details": "멤버 추가【{resource_name}】",
152-
"setting_delete_user_details": "멤버 제거【{resource_name}】",
153-
"setting_create_rule_details": "규칙 그룹 추가【{resource_name}】",
154-
"setting_delete_rule_details": "규칙 그룹 제거【{resource_name}】",
155-
"setting_update_rule_details": "규칙 설정【{resource_name}】",
156-
"setting_update_rule_user_details": "사용자 설정【{resource_name}】",
157-
"setting_create_terminology_details": "용어 생성【{resource_name}】",
158-
"system_log": "시스템 로그",
128+
"system_log": "작업 로그",
159129
"operation_type_name": "작업 유형",
160-
"operation_detail_info": "작업 상세 정보",
161-
"user_name": "작업 사용자",
130+
"operation_detail_info": "작업 상세",
131+
"user_name": "작업자",
162132
"oid_name": "작업 공간",
163133
"operation_status_name": "작업 상태",
164134
"error_message": "오류 메시지",
165135
"ip_address": "IP 주소",
166-
"create_time": "작업 시간"
136+
"create_time": "작업 시간",
137+
"chat": "지능형 질의",
138+
"datasource": "데이터 소스",
139+
"dashboard": "대시보드",
140+
"member": "구성원",
141+
"permission": "권한",
142+
"terminology": "용어",
143+
"data_training": "SQL 예제 라이브러리",
144+
"prompt_words": "프롬프트 단어",
145+
"user": "사용자",
146+
"workspace": "작업 공간",
147+
"ai_model": "AI 모델",
148+
"application": "애플리케이션",
149+
"theme": "외관 설정",
150+
"create": "생성",
151+
"delete": "삭제",
152+
"update": "수정",
153+
"edit": "편집",
154+
"login": "로그인",
155+
"export": "내보내기",
156+
"import": "가져오기"
167157
}
168158
}

backend/locales/zh-CN.json

Lines changed: 22 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -125,36 +125,6 @@
125125
"i18n_audit": {
126126
"success": "成功",
127127
"failed": "失败",
128-
"create_qa": "新建问数",
129-
"delete_qa": "删除问数",
130-
"create_datasource": "新建数据源",
131-
"update_datasource": "编辑数据源",
132-
"delete_datasource": "删除数据源",
133-
"create_dashboard": "新建仪表板",
134-
"update_dashboard": "编辑仪表板",
135-
"delete_dashboard": "删除仪表板",
136-
"setting_create_user": "添加成员",
137-
"setting_delete_user": "移除成员",
138-
"setting_create_rule": "添加规则组",
139-
"setting_delete_rule": "移除规则组",
140-
"setting_update_rule": "设置规则",
141-
"setting_update_rule_user": "设置用户",
142-
"setting_create_terminology": "新建术语",
143-
"create_qa_details": "新建问数【{resource_name}】",
144-
"delete_qa_details": "删除问数【{resource_name}】",
145-
"create_datasource_details": "新建数据源【{resource_name}】",
146-
"update_datasource_details": "编辑数据源【{resource_name}】",
147-
"delete_datasource_details": "删除数据源【{resource_name}】",
148-
"create_dashboard_details": "新建仪表板【{resource_name}】",
149-
"update_dashboard_details": "编辑仪表板【{resource_name}】",
150-
"delete_dashboard_details": "删除仪表板【{resource_name}】",
151-
"setting_create_user_details": "添加成员【{resource_name}】",
152-
"setting_delete_user_details": "移除成员【{resource_name}】",
153-
"setting_create_rule_details": "添加规则组【{resource_name}】",
154-
"setting_delete_rule_details": "移除规则组【{resource_name}】",
155-
"setting_update_rule_details": "设置规则【{resource_name}】",
156-
"setting_update_rule_user_details": "设置用户【{resource_name}】",
157-
"setting_create_terminology_details": "新建术语【{resource_name}】",
158128
"system_log": "操作日志",
159129
"operation_type_name": "操作类型",
160130
"operation_detail_info": "操作详情",
@@ -163,6 +133,26 @@
163133
"operation_status_name": "操作状态",
164134
"error_message": "错误信息",
165135
"ip_address": "IP 地址",
166-
"create_time": "操作时间"
136+
"create_time": "操作时间",
137+
"chat": "智能问数",
138+
"datasource": "数据源",
139+
"dashboard": "仪表板",
140+
"member": "成员",
141+
"permission": "权限",
142+
"terminology": "术语",
143+
"data_training": "SQL 示例库",
144+
"prompt_words": "提示词",
145+
"user": "用户",
146+
"workspace": "工作空间",
147+
"ai_model": "AI 模型",
148+
"application": "应用",
149+
"theme": "外观配置",
150+
"create": "新建",
151+
"delete": "删除",
152+
"update": "更新",
153+
"edit": "编辑",
154+
"login": "登录",
155+
"export": "导出",
156+
"import": "导入"
167157
}
168-
}
158+
}

frontend/src/api/audit.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { request } from '@/utils/request'
33
export const audit = {
44
getList: (pageNum: any, pageSize: any, params: any) =>
55
request.get(`/system/audit/page/${pageNum}/${pageSize}${params}`),
6+
getOptions: () => request.get(`/system/audit/get_options`),
67
export2Excel: (params: any) =>
78
request.get(`/system/audit/export`, {
89
params,

0 commit comments

Comments
 (0)