@@ -26,6 +26,7 @@ import MultipleSelect, {
|
||||
} from '@fastgpt/web/components/common/MySelect/MultipleSelect';
|
||||
import Avatar from '@fastgpt/web/components/common/Avatar';
|
||||
import { getTeamMembers } from '@/web/support/user/team/api';
|
||||
import { createMetadataProcessorMap, type MetadataProcessor } from './processors';
|
||||
|
||||
function OperationLogTable({ Tabs }: { Tabs: React.ReactNode }) {
|
||||
const { t } = useTranslation();
|
||||
@@ -58,6 +59,14 @@ function OperationLogTable({ Tabs }: { Tabs: React.ReactNode }) {
|
||||
[t]
|
||||
);
|
||||
|
||||
const processMetadataByEvent = useMemo(() => {
|
||||
const metadataProcessorMap = createMetadataProcessorMap();
|
||||
return (event: string, metadata: any) => {
|
||||
const processor = metadataProcessorMap[event as OperationLogEventEnum];
|
||||
return processor ? processor(metadata, t) : metadata;
|
||||
};
|
||||
}, [t]);
|
||||
|
||||
const {
|
||||
data: operationLogs = [],
|
||||
isLoading: loadingLogs,
|
||||
@@ -159,17 +168,7 @@ function OperationLogTable({ Tabs }: { Tabs: React.ReactNode }) {
|
||||
<Tbody>
|
||||
{operationLogs?.map((log) => {
|
||||
const i18nData = operationLogMap[log.event];
|
||||
const metadata = { ...log.metadata };
|
||||
|
||||
if (log.event === OperationLogEventEnum.ASSIGN_PERMISSION) {
|
||||
const permissionValue = parseInt(metadata.permission, 10);
|
||||
|
||||
const permission = new TeamPermission({ per: permissionValue });
|
||||
metadata.appCreate = permission.hasAppCreatePer ? '✔' : '✘';
|
||||
metadata.datasetCreate = permission.hasDatasetCreatePer ? '✔' : '✘';
|
||||
metadata.apiKeyCreate = permission.hasApikeyCreatePer ? '✔' : '✘';
|
||||
metadata.manage = permission.hasManagePer ? '✔' : '✘';
|
||||
}
|
||||
const metadata = processMetadataByEvent(log.event, { ...log.metadata });
|
||||
|
||||
return i18nData ? (
|
||||
<Tr key={log._id} overflow={'unset'}>
|
||||
|
||||
Reference in New Issue
Block a user