import ConversationAPI from '../../api/inbox/conversation'; import types from '../mutation-types'; export const initialState = { records: [], uiFlags: { isFetching: false, }, }; export const getters = { getConversations(state) { return state.records; }, getUIFlags(state) { return state.uiFlags; }, }; export const actions = { async get({ commit }, { q }) { commit(types.SEARCH_CONVERSATIONS_SET, []); if (!q) { return; } commit(types.SEARCH_CONVERSATIONS_SET_UI_FLAG, { isFetching: true }); try { const { data: { payload }, } = await ConversationAPI.search({ q }); commit(types.SEARCH_CONVERSATIONS_SET, payload); } catch (error) { // Ignore error } finally { commit(types.SEARCH_CONVERSATIONS_SET_UI_FLAG, { isFetching: false }); } }, }; export const mutations = { [types.SEARCH_CONVERSATIONS_SET](state, records) { state.records = records; }, [types.SEARCH_CONVERSATIONS_SET_UI_FLAG](state, uiFlags) { state.uiFlags = { ...state.uiFlags, ...uiFlags }; }, }; export default { namespaced: true, state: initialState, getters, actions, mutations, };