Files
ragflow_python/web/src/pages/add-knowledge/components/knowledge-setting/model.ts

59 lines
1.6 KiB
TypeScript
Raw Normal View History

import { IKnowledge } from '@/interfaces/database/knowledge';
2024-01-17 09:37:01 +08:00
import kbService from '@/services/kbService';
import { message } from 'antd';
import { DvaModel } from 'umi';
2024-01-17 09:37:01 +08:00
export interface KSModelState {
isShowPSwModal: boolean;
isShowTntModal: boolean;
tenantIfo: any;
knowledgeDetails: IKnowledge;
}
const model: DvaModel<KSModelState> = {
2024-01-17 09:37:01 +08:00
namespace: 'kSModel',
state: {
isShowPSwModal: false,
isShowTntModal: false,
tenantIfo: {},
knowledgeDetails: {} as any,
},
reducers: {
updateState(state, { payload }) {
return {
...state,
...payload,
};
},
setKnowledgeDetails(state, { payload }) {
return { ...state, knowledgeDetails: payload };
},
2024-01-17 09:37:01 +08:00
},
effects: {
*createKb({ payload = {} }, { call }) {
const { data } = yield call(kbService.createKb, payload);
const { retcode } = data;
2024-01-17 09:37:01 +08:00
if (retcode === 0) {
message.success('Created!');
2024-01-17 09:37:01 +08:00
}
return data;
2024-01-17 09:37:01 +08:00
},
*updateKb({ payload = {} }, { call, put }) {
const { data } = yield call(kbService.updateKb, payload);
const { retcode } = data;
2024-01-17 09:37:01 +08:00
if (retcode === 0) {
yield put({ type: 'getKbDetail', payload: { kb_id: payload.kb_id } });
message.success('Updated!');
2024-01-17 09:37:01 +08:00
}
},
*getKbDetail({ payload = {} }, { call, put }) {
const { data } = yield call(kbService.get_kb_detail, payload);
if (data.retcode === 0) {
yield put({ type: 'setKnowledgeDetails', payload: data.data });
}
return data;
2024-01-17 09:37:01 +08:00
},
},
};
export default model;