UNPKG

mattermost-redux

Version:

Common code (API client, Redux stores, logic, utility functions) for building a Mattermost client

35 lines (32 loc) 993 B
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. import {combineReducers} from 'redux'; import {BotTypes, UserTypes} from 'action_types'; import {GenericAction} from 'types/actions'; import {Dictionary} from 'types/utilities'; import {Bot} from 'types/bots'; function accounts(state: Dictionary<Bot> = {}, action: GenericAction) { switch (action.type) { case BotTypes.RECEIVED_BOT_ACCOUNTS: { const newBots = action.data; const nextState = {...state}; for (const bot of newBots) { nextState[bot.user_id] = bot; } return nextState; } case BotTypes.RECEIVED_BOT_ACCOUNT: { const bot = action.data; const nextState = {...state}; nextState[bot.user_id] = bot; return nextState; } case UserTypes.LOGOUT_SUCCESS: return {}; default: return state; } } export default combineReducers({ accounts, });