UNPKG

mattermost-redux

Version:

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

43 lines (35 loc) 1.4 kB
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. import {combineReducers} from 'redux'; import {SearchTypes} from 'action_types'; import {GenericAction} from 'types/actions'; import {SearchRequestsStatuses, RequestStatusType} from 'types/requests'; import {handleRequest, initialRequestState} from './helpers'; function flaggedPosts(state: RequestStatusType = initialRequestState(), action: GenericAction): RequestStatusType { if (action.type === SearchTypes.REMOVE_SEARCH_POSTS) { return initialRequestState(); } return handleRequest( SearchTypes.SEARCH_FLAGGED_POSTS_REQUEST, SearchTypes.SEARCH_FLAGGED_POSTS_SUCCESS, SearchTypes.SEARCH_FLAGGED_POSTS_FAILURE, state, action, ); } function pinnedPosts(state: RequestStatusType = initialRequestState(), action: GenericAction): RequestStatusType { if (action.type === SearchTypes.REMOVE_SEARCH_POSTS) { return initialRequestState(); } return handleRequest( SearchTypes.SEARCH_PINNED_POSTS_REQUEST, SearchTypes.SEARCH_PINNED_POSTS_SUCCESS, SearchTypes.SEARCH_PINNED_POSTS_FAILURE, state, action, ); } export default (combineReducers({ flaggedPosts, pinnedPosts, }) as (b: SearchRequestsStatuses, a: GenericAction) => SearchRequestsStatuses);