mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-12-19 12:06:42 +08:00
### What problem does this PR solve? fix: cannot save the system model setting #468 feat: rename file in FileManager feat: add FileManager feat: override useSelector type ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
65
web/src/pages/file-manager/model.ts
Normal file
65
web/src/pages/file-manager/model.ts
Normal file
@ -0,0 +1,65 @@
|
||||
import { IFile, IFolder } from '@/interfaces/database/file-manager';
|
||||
import fileManagerService from '@/services/fileManagerService';
|
||||
import { DvaModel } from 'umi';
|
||||
|
||||
export interface FileManagerModelState {
|
||||
fileList: IFile[];
|
||||
parentFolderList: IFolder[];
|
||||
}
|
||||
|
||||
const model: DvaModel<FileManagerModelState> = {
|
||||
namespace: 'fileManager',
|
||||
state: { fileList: [], parentFolderList: [] },
|
||||
reducers: {
|
||||
setFileList(state, { payload }) {
|
||||
return { ...state, fileList: payload };
|
||||
},
|
||||
setParentFolderList(state, { payload }) {
|
||||
return { ...state, parentFolderList: payload };
|
||||
},
|
||||
},
|
||||
effects: {
|
||||
*removeFile({ payload = {} }, { call, put }) {
|
||||
const { data } = yield call(fileManagerService.removeFile, payload);
|
||||
const { retcode } = data;
|
||||
if (retcode === 0) {
|
||||
yield put({
|
||||
type: 'listFile',
|
||||
payload: data.data?.files ?? [],
|
||||
});
|
||||
}
|
||||
},
|
||||
*listFile({ payload = {} }, { call, put }) {
|
||||
const { data } = yield call(fileManagerService.listFile, payload);
|
||||
const { retcode, data: res } = data;
|
||||
|
||||
if (retcode === 0 && Array.isArray(res.files)) {
|
||||
yield put({
|
||||
type: 'setFileList',
|
||||
payload: res.files,
|
||||
});
|
||||
}
|
||||
},
|
||||
*renameFile({ payload = {} }, { call, put }) {
|
||||
const { data } = yield call(fileManagerService.renameFile, payload);
|
||||
if (data.retcode === 0) {
|
||||
yield put({ type: 'listFile' });
|
||||
}
|
||||
return data.retcode;
|
||||
},
|
||||
*getAllParentFolder({ payload = {} }, { call, put }) {
|
||||
const { data } = yield call(
|
||||
fileManagerService.getAllParentFolder,
|
||||
payload,
|
||||
);
|
||||
if (data.retcode === 0) {
|
||||
yield put({
|
||||
type: 'setParentFolderList',
|
||||
payload: data.data?.parent_folders ?? [],
|
||||
});
|
||||
}
|
||||
return data.retcode;
|
||||
},
|
||||
},
|
||||
};
|
||||
export default model;
|
||||
Reference in New Issue
Block a user