@@ -10,9 +10,7 @@ import {
10
10
} from "../theme/styledComponents" ;
11
11
import { HeaderBack } from "pages/setting/permission/styledComponents" ;
12
12
import { getUser } from "@lowcoder-ee/redux/selectors/usersSelectors" ;
13
- import { fetchCommonSettings } from "@lowcoder-ee/redux/reduxActions/commonSettingsActions" ;
14
- import ReactECharts from "echarts-for-react" ;
15
- import { getAuditLogs } from "api/enterpriseApi" ;
13
+ import { getAuditLogs , getAuditLogStatistics } from "api/enterpriseApi" ;
16
14
import EventTypeTimeChart from "./charts/eventTypesTime" ;
17
15
import { debounce } from "lodash" ;
18
16
import { DatePicker } from "antd" ;
@@ -21,6 +19,8 @@ import { Link, useLocation } from "react-router-dom";
21
19
import history from "util/history" ;
22
20
import { SETTING_URL } from "@lowcoder-ee/constants/routesURL" ;
23
21
import { EyeOutlined } from "@ant-design/icons" ;
22
+ import { AuditLog , AuditLogStat , eventTypes } from "./auditContants" ;
23
+ import Statistics from "./components/statistics" ;
24
24
25
25
const { RangePicker } = DatePicker ;
26
26
@@ -42,45 +42,6 @@ const StyleThemeSettingsCover = styled.div`
42
42
border-radius: 10px 10px 0 0;
43
43
` ;
44
44
45
- const eventTypes = [
46
- { value : "USER_LOGIN" , label : trans ( "enterprise.USER_LOGIN" ) , color : "#1890ff" } ,
47
- { value : "USER_LOGOUT" , label : trans ( "enterprise.USER_LOGOUT" ) , color : "#1d39c4" } ,
48
- { value : "APPLICATION_CREATE" , label : trans ( "enterprise.APPLICATION_CREATE" ) , color : "#52c41a" } ,
49
- { value : "APPLICATION_DELETE" , label : trans ( "enterprise.APPLICATION_DELETE" ) , color : "#389e0d" } ,
50
- { value : "APPLICATION_UPDATE" , label : trans ( "enterprise.APPLICATION_UPDATE" ) , color : "#237804" } ,
51
- { value : "APPLICATION_MOVE" , label : trans ( "enterprise.APPLICATION_MOVE" ) , color : "#135200" } ,
52
- { value : "APPLICATION_RECYCLED" , label : trans ( "enterprise.APPLICATION_RECYCLED" ) , color : "#00474f" } ,
53
- { value : "APPLICATION_RESTORE" , label : trans ( "enterprise.APPLICATION_RESTORE" ) , color : "#003a8c" } ,
54
- { value : "APPLICATION_PUBLISH" , label : trans ( "enterprise.APPLICATION_PUBLISH" ) , color : "#002766" } ,
55
- { value : "APPLICATION_VERSION_CHANGE" , label : trans ( "enterprise.APPLICATION_VERSION_CHANGE" ) , color : "#0050b3" } ,
56
- { value : "APPLICATION_SHARING_CHANGE" , label : trans ( "enterprise.APPLICATION_SHARING_CHANGE" ) , color : "#1890ff" } ,
57
- { value : "APPLICATION_PERMISSION_CHANGE" , label : trans ( "enterprise.APPLICATION_PERMISSION_CHANGE" ) , color : "#1d39c4" } ,
58
- { value : "FOLDER_CREATE" , label : trans ( "enterprise.FOLDER_CREATE" ) , color : "#faad14" } ,
59
- { value : "FOLDER_DELETE" , label : trans ( "enterprise.FOLDER_DELETE" ) , color : "#d48806" } ,
60
- { value : "FOLDER_UPDATE" , label : trans ( "enterprise.FOLDER_UPDATE" ) , color : "#ad6800" } ,
61
- { value : "QUERY_EXECUTION" , label : trans ( "enterprise.QUERY_EXECUTION" ) , color : "#722ed1" } ,
62
- { value : "GROUP_CREATE" , label : trans ( "enterprise.GROUP_CREATE" ) , color : "#f5222d" } ,
63
- { value : "GROUP_UPDATE" , label : trans ( "enterprise.GROUP_UPDATE" ) , color : "#cf1322" } ,
64
- { value : "GROUP_DELETE" , label : trans ( "enterprise.GROUP_DELETE" ) , color : "#a8071a" } ,
65
- { value : "GROUP_MEMBER_ADD" , label : trans ( "enterprise.GROUP_MEMBER_ADD" ) , color : "#820014" } ,
66
- { value : "GROUP_MEMBER_ROLE_UPDATE" , label : trans ( "enterprise.GROUP_MEMBER_ROLE_UPDATE" ) , color : "#5c0011" } ,
67
- { value : "GROUP_MEMBER_LEAVE" , label : trans ( "enterprise.GROUP_MEMBER_LEAVE" ) , color : "#8c8c8c" } ,
68
- { value : "GROUP_MEMBER_REMOVE" , label : trans ( "enterprise.GROUP_MEMBER_REMOVE" ) , color : "#595959" } ,
69
- { value : "SERVER_START_UP" , label : trans ( "enterprise.SERVER_START_UP" ) , color : "#8c8c8c" } ,
70
- { value : "SERVER_INFO" , label : trans ( "enterprise.SERVER_INFO" ) , color : "#595959" } ,
71
- { value : "DATA_SOURCE_CREATE" , label : trans ( "enterprise.DATA_SOURCE_CREATE" ) , color : "#f5222d" } ,
72
- { value : "DATA_SOURCE_UPDATE" , label : trans ( "enterprise.DATA_SOURCE_UPDATE" ) , color : "#cf1322" } ,
73
- { value : "DATA_SOURCE_DELETE" , label : trans ( "enterprise.DATA_SOURCE_DELETE" ) , color : "#a8071a" } ,
74
- { value : "DATA_SOURCE_PERMISSION_GRANT" , label : trans ( "enterprise.DATA_SOURCE_PERMISSION_GRANT" ) , color : "#820014" } ,
75
- { value : "DATA_SOURCE_PERMISSION_UPDATE" , label : trans ( "enterprise.DATA_SOURCE_PERMISSION_UPDATE" ) , color : "#5c0011" } ,
76
- { value : "DATA_SOURCE_PERMISSION_DELETE" , label : trans ( "enterprise.DATA_SOURCE_PERMISSION_DELETE" ) , color : "#8c8c8c" } ,
77
- { value : "LIBRARY_QUERY_CREATE" , label : trans ( "enterprise.LIBRARY_QUERY_CREATE" ) , color : "#722ed1" } ,
78
- { value : "LIBRARY_QUERY_UPDATE" , label : trans ( "enterprise.LIBRARY_QUERY_UPDATE" ) , color : "#531dab" } ,
79
- { value : "LIBRARY_QUERY_DELETE" , label : trans ( "enterprise.LIBRARY_QUERY_DELETE" ) , color : "#391085" } ,
80
- { value : "LIBRARY_QUERY_PUBLISH" , label : trans ( "enterprise.LIBRARY_QUERY_PUBLISH" ) , color : "#22075e" } ,
81
- { value : "API_CALL_EVENT" , label : trans ( "enterprise.API_CALL_EVENT" ) , color : "#8c8c8c" } ,
82
- ] ;
83
-
84
45
export const getEventColor = ( eventType : string ) : string => {
85
46
const matchedType = eventTypes . find ( ( et ) => et . value === eventType ) ;
86
47
return matchedType ? matchedType . color : "#8c8c8c" ;
@@ -92,23 +53,13 @@ export const getEventLabel = (eventType: string): string => {
92
53
} ;
93
54
94
55
export function AuditLogDashboard ( ) {
95
-
96
- type AuditLog = {
97
- eventType : string ;
98
- eventTime : string ;
99
- environmentId : string ;
100
- orgId : string ;
101
- userId : string ;
102
- appId : string ;
103
- } ;
104
-
105
56
const currentUser = useSelector ( getUser ) ;
106
57
const location = useLocation ( ) ;
107
58
108
59
const [ allLogs , setAllLogs ] = useState < AuditLog [ ] > ( [ ] ) ;
109
60
const [ currentPageLogs , setCurrentPageLogs ] = useState < AuditLog [ ] > ( [ ] ) ;
61
+ const [ statistics , setStatistics ] = useState < AuditLogStat [ ] > ( [ ] ) ;
110
62
111
- // const [logs, setLogs] = useState([]);
112
63
const [ total , setTotal ] = useState ( 0 ) ;
113
64
const [ loading , setLoading ] = useState ( false ) ;
114
65
const [ form ] = Form . useForm ( ) ;
@@ -175,6 +126,9 @@ export function AuditLogDashboard() {
175
126
setLoading ( true ) ;
176
127
try {
177
128
const data = await getAuditLogs ( cleanedParams ) ;
129
+ const stats = await getAuditLogStatistics ( cleanedParams ) ;
130
+
131
+ setStatistics ( stats ?. data || [ ] ) ;
178
132
179
133
if ( resetData ) {
180
134
setAllLogs ( data . data || [ ] ) ;
@@ -418,6 +372,9 @@ export function AuditLogDashboard() {
418
372
</ Flex >
419
373
</ Form >
420
374
</ Card >
375
+ { Boolean ( statistics . length ) && ! loading && (
376
+ < Statistics stats = { statistics } />
377
+ ) }
421
378
< Card >
422
379
{ loading ? (
423
380
< Skeleton active paragraph = { { rows : 5 } } />
0 commit comments