import { IKnowledge } from '@/interfaces/database/knowledge'; import i18n from '@/locales/config'; import kbService from '@/services/kbService'; import { message } from 'antd'; import { DvaModel } from 'umi'; export interface KSModelState { isShowPSwModal: boolean; tenantIfo: any; knowledgeDetails: IKnowledge; } const model: DvaModel = { namespace: 'kSModel', state: { isShowPSwModal: false, tenantIfo: {}, knowledgeDetails: {} as any, }, reducers: { updateState(state, { payload }) { return { ...state, ...payload, }; }, setKnowledgeDetails(state, { payload }) { return { ...state, knowledgeDetails: payload }; }, }, effects: { *createKb({ payload = {} }, { call }) { const { data } = yield call(kbService.createKb, payload); const { retcode } = data; if (retcode === 0) { message.success(i18n.t('message.created')); } return data; }, *updateKb({ payload = {} }, { call, put }) { const { data } = yield call(kbService.updateKb, payload); const { retcode } = data; if (retcode === 0) { yield put({ type: 'getKbDetail', payload: { kb_id: payload.kb_id } }); message.success(i18n.t('message.updated')); } }, *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; }, }, }; export default model;