diff --git a/apps/statgpt-admin-frontend/src/app/audit-logs/page.tsx b/apps/statgpt-admin-frontend/src/app/audit-logs/page.tsx index 9578ed2..2820dcf 100644 --- a/apps/statgpt-admin-frontend/src/app/audit-logs/page.tsx +++ b/apps/statgpt-admin-frontend/src/app/audit-logs/page.tsx @@ -4,6 +4,7 @@ import { SIGN_IN_LINK } from '@/src/constants/auth'; import { getIsInvalidSession, getUserToken } from '@/src/utils/auth/get-token'; import { getIsEnableAuthToggle } from '@/src/utils/get-auth-toggle'; import { AuditLogsListView } from '@/src/components/AuditLogs/AuditLogsListView'; +import { auditLogsApi } from '../api/api'; export const dynamic = 'force-dynamic'; @@ -16,5 +17,7 @@ export default async function Page() { return redirect(SIGN_IN_LINK); } - return ; + const enums = await auditLogsApi.getEnumValues(token); + + return ; } diff --git a/apps/statgpt-admin-frontend/src/components/AuditLogs/AuditLogsListView.tsx b/apps/statgpt-admin-frontend/src/components/AuditLogs/AuditLogsListView.tsx index bdea0d3..b4eaaa6 100644 --- a/apps/statgpt-admin-frontend/src/components/AuditLogs/AuditLogsListView.tsx +++ b/apps/statgpt-admin-frontend/src/components/AuditLogs/AuditLogsListView.tsx @@ -1,7 +1,6 @@ 'use client'; -import { useCallback, useEffect, useRef, useState } from 'react'; -import { ListView } from '@/src/components/ListView/ListView'; +import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; import { Menu } from '@/src/constants/menu'; import type { FetchRowsArgs, @@ -10,18 +9,24 @@ import type { import type { AuditLog, AuditLogDetails, + AuditLogEnumValues, AuditLogRequestModel, } from '@/src/models/audit-log'; -import { AUDIT_LOGS_COLUMNS } from '@/src/constants/columns/grid-columns'; import { AuditLogsHeader } from './AuditLogsHeader'; import type { RequestData } from '@/src/models/request-data'; import { sendGetRequest } from '@/src/server/api'; import { DEFAULT_GRID_PAGE_SIZE } from '@/src/constants/columns/grid'; import { useAuditLogFiltersInUrl } from '@/src/hooks/use-audit-logs-filters-in-url'; import { auditLogRequestToQueryString } from '@/src/utils/audit-logs'; -import { getTextEquals } from '@/src/utils/client/grid'; +import { getEnumFilterValue, getTextEquals } from '@/src/utils/client/grid'; +import { ListContent } from '../ListView/ListContent/ListContent'; +import { getAuditLogsColumns } from '@/src/constants/columns/audit-logs'; -export function AuditLogsListView() { +interface AuditLogsListViewProps { + enums?: AuditLogEnumValues | null; +} + +export function AuditLogsListView({ enums }: AuditLogsListViewProps) { const [totalCount, setTotalCount] = useState(undefined); const { filters, queryKey } = useAuditLogFiltersInUrl(); @@ -37,8 +42,9 @@ export function AuditLogsListView() { async (args: FetchRowsArgs): Promise> => { const { created_at_from, created_at_to } = filtersRef.current; - const entity_type = getTextEquals(args.filterModel, 'entity_type'); - const action_type = getTextEquals(args.filterModel, 'action_type'); + const entity_type = getEnumFilterValue(args.filterModel, 'entity_type'); + const action_type = getEnumFilterValue(args.filterModel, 'action_type'); + const entity_id = getTextEquals(args.filterModel, 'entity_id'); const request: AuditLogRequestModel = { @@ -72,21 +78,24 @@ export function AuditLogsListView() { [], ); + const columns = useMemo(() => getAuditLogsColumns({ enums }), [enums]); + return ( - - colDefs={AUDIT_LOGS_COLUMNS} - customHeader={ - setRefreshToken((x) => x + 1)} - count={totalCount} - /> - } - emptyDataTitle="No audit logs" - menuItem={Menu.AUDIT_LOGS} - fetchRows={fetchRows} - pageSize={DEFAULT_GRID_PAGE_SIZE} - queryKey={queryKey} - refreshToken={refreshToken} - /> +
+ setRefreshToken((x) => x + 1)} + count={totalCount} + /> + + colDefs={columns} + emptyDataTitle="No audit logs" + menuItem={Menu.AUDIT_LOGS} + fetchRows={fetchRows} + pageSize={DEFAULT_GRID_PAGE_SIZE} + queryKey={queryKey} + refreshToken={refreshToken} + withHeader={false} + /> +
); } diff --git a/apps/statgpt-admin-frontend/src/components/AuditLogs/TimePeriodDropdown.tsx b/apps/statgpt-admin-frontend/src/components/AuditLogs/TimePeriodDropdown.tsx index 058bff2..94a6116 100644 --- a/apps/statgpt-admin-frontend/src/components/AuditLogs/TimePeriodDropdown.tsx +++ b/apps/statgpt-admin-frontend/src/components/AuditLogs/TimePeriodDropdown.tsx @@ -343,7 +343,11 @@ export const TimePeriodDropdown = ({ preventOpenOnFocus /> -