import { PayloadAction, createSlice } from '@reduxjs/toolkit'; import { Logger } from '../../utils/Log'; import { IConversation, IConversationsState } from './types'; import { conversationsService } from '../../services/conversations-service'; const logger = new Logger('conversationsSlice'); const initialState: IConversationsState = { loading: false, conversations: [] } const conversationsSlice = createSlice({ name: 'conversations', initialState, reducers: { getConversations(state){ state.loading = true; conversationsService.getConversations(); }, getConversationsResult(state, action: PayloadAction){ state.loading = false; state.conversations = action.payload; }, sendConversationsByEmail(state, action: PayloadAction){ conversationsService.sendConversationByEmail(action.payload); }, deleteConversationMessages(state, action: PayloadAction){ conversationsService.deleteConversationMessages(action.payload); } } }); // Export action creators and reducer export const { getConversations, getConversationsResult, sendConversationsByEmail, deleteConversationMessages } = conversationsSlice.actions; export default conversationsSlice.reducer;