Feat: admin audit (#5068)

* add admin audit (#5041)

* Test audit (#5058)

* feat: operation index

* fix: delete update vector

* perf: Clear invalid data

* perf: index

* perf: cleare invalid data

* index

* perf: audit event

* fix: schema enum

* add audit.svg (#5060)

Co-authored-by: dreamer6680 <146868355@qq.com>

* update package

* perf: audit

* perf: code move

* eslint

* doc

---------

Co-authored-by: gggaaallleee <91131304+gggaaallleee@users.noreply.github.com>
Co-authored-by: dreamer6680 <1468683855@qq.com>
Co-authored-by: dreamer6680 <146868355@qq.com>
This commit is contained in:
Archer
2025-06-19 10:35:21 +08:00
committed by GitHub
parent 36fafd2149
commit d44befeff0
53 changed files with 580 additions and 266 deletions

View File

@@ -1,4 +1,30 @@
export enum OperationLogEventEnum {
import type { auditLogMap, adminAuditLogMap } from '../../../../web/support/user/audit/constants';
export enum AdminAuditEventEnum {
ADMIN_LOGIN = 'ADMIN_LOGIN',
ADMIN_UPDATE_SYSTEM_MODAL = 'ADMIN_UPDATE_SYSTEM_MODAL',
ADMIN_SEND_SYSTEM_INFORM = 'ADMIN_SEND_SYSTEM_INFORM',
ADMIN_ADD_USER = 'ADMIN_ADD_USER',
ADMIN_UPDATE_USER = 'ADMIN_UPDATE_USER',
ADMIN_UPDATE_TEAM = 'ADMIN_UPDATE_TEAM',
ADMIN_ADD_PLAN = 'ADMIN_ADD_PLAN',
ADMIN_UPDATE_PLAN = 'ADMIN_UPDATE_PLAN',
ADMIN_FINISH_INVOICE = 'ADMIN_FINISH_INVOICE',
ADMIN_UPDATE_SYSTEM_CONFIG = 'ADMIN_UPDATE_SYSTEM_CONFIG',
ADMIN_CREATE_APP_TEMPLATE = 'ADMIN_CREATE_APP_TEMPLATE',
ADMIN_UPDATE_APP_TEMPLATE = 'ADMIN_UPDATE_APP_TEMPLATE',
ADMIN_DELETE_APP_TEMPLATE = 'ADMIN_DELETE_APP_TEMPLATE',
ADMIN_SAVE_TEMPLATE_TYPE = 'ADMIN_SAVE_TEMPLATE_TYPE',
ADMIN_DELETE_TEMPLATE_TYPE = 'ADMIN_DELETE_TEMPLATE_TYPE',
ADMIN_CREATE_PLUGIN = 'ADMIN_CREATE_PLUGIN',
ADMIN_UPDATE_PLUGIN = 'ADMIN_UPDATE_PLUGIN',
ADMIN_DELETE_PLUGIN = 'ADMIN_DELETE_PLUGIN',
ADMIN_CREATE_PLUGIN_GROUP = 'ADMIN_CREATE_PLUGIN_GROUP',
ADMIN_UPDATE_PLUGIN_GROUP = 'ADMIN_UPDATE_PLUGIN_GROUP',
ADMIN_DELETE_PLUGIN_GROUP = 'ADMIN_DELETE_PLUGIN_GROUP'
}
export enum AuditEventEnum {
//Team
LOGIN = 'LOGIN',
CREATE_INVITATION_LINK = 'CREATE_INVITATION_LINK',
@@ -61,3 +87,10 @@ export enum OperationLogEventEnum {
UPDATE_API_KEY = 'UPDATE_API_KEY',
DELETE_API_KEY = 'DELETE_API_KEY'
}
export type AuditEventParamsType = {
[K in AuditEventEnum]: (typeof auditLogMap)[K]['params'];
};
export type AdminAuditEventParamsType = {
[K in AdminAuditEventEnum]: (typeof adminAuditLogMap)[K]['params'];
};

View File

@@ -1,19 +1,19 @@
import type { SourceMemberType } from '../user/type';
import type { OperationLogEventEnum } from './constants';
import type { AuditEventEnum } from './constants';
export type OperationLogSchema = {
_id: string;
tmbId: string;
teamId: string;
timestamp: Date;
event: `${OperationLogEventEnum}`;
event: `${AuditEventEnum}`;
metadata?: Record<string, string>;
};
export type OperationListItemType = {
_id: string;
sourceMember: SourceMemberType;
event: `${OperationLogEventEnum}`;
event: `${AuditEventEnum}`;
timestamp: Date;
metadata: Record<string, string>;
};