Files
ragflow/web/src/pages/agents/use-rename-agent.ts
balibabu 1c6320828c Feat: Rename agent #3221 (#7740)
### What problem does this PR solve?

Feat: Rename agent #3221

### Type of change


- [x] New Feature (non-breaking change which adds functionality)
2025-05-20 19:13:19 +08:00

47 lines
1.3 KiB
TypeScript

import { useSetModalState } from '@/hooks/common-hooks';
import { useUpdateAgentSetting } from '@/hooks/use-agent-request';
import { IFlow } from '@/interfaces/database/flow';
import { pick } from 'lodash';
import { useCallback, useState } from 'react';
export const useRenameAgent = () => {
const [agent, setAgent] = useState<IFlow>({} as IFlow);
const {
visible: agentRenameVisible,
hideModal: hideAgentRenameModal,
showModal: showAgentRenameModal,
} = useSetModalState();
const { updateAgentSetting, loading } = useUpdateAgentSetting();
const onAgentRenameOk = useCallback(
async (name: string) => {
const ret = await updateAgentSetting({
...pick(agent, ['id', 'avatar', 'description', 'permission']),
title: name,
});
if (ret === 0) {
hideAgentRenameModal();
}
},
[updateAgentSetting, agent, hideAgentRenameModal],
);
const handleShowAgentRenameModal = useCallback(
async (record: IFlow) => {
setAgent(record);
showAgentRenameModal();
},
[showAgentRenameModal],
);
return {
agentRenameLoading: loading,
initialAgentName: agent?.title,
onAgentRenameOk,
agentRenameVisible,
hideAgentRenameModal,
showAgentRenameModal: handleShowAgentRenameModal,
};
};