UNPKG

mattermost-redux

Version:

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

49 lines (48 loc) 2.47 kB
"use strict"; // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. Object.defineProperty(exports, "__esModule", { value: true }); const redux_1 = require("redux"); const action_types_1 = require("mattermost-redux/action_types"); const constants_1 = require("mattermost-redux/constants"); const helpers_1 = require("./helpers"); function login(state = (0, helpers_1.initialRequestState)(), action) { switch (action.type) { case action_types_1.UserTypes.LOGIN_REQUEST: return { ...state, status: constants_1.RequestStatus.STARTED }; case action_types_1.UserTypes.LOGIN_SUCCESS: return { ...state, status: constants_1.RequestStatus.SUCCESS, error: null }; case action_types_1.UserTypes.LOGIN_FAILURE: return { ...state, status: constants_1.RequestStatus.FAILURE, error: action.error }; case action_types_1.UserTypes.LOGOUT_SUCCESS: return { ...state, status: constants_1.RequestStatus.NOT_STARTED, error: null }; default: return state; } } function logout(state = (0, helpers_1.initialRequestState)(), action) { switch (action.type) { case action_types_1.UserTypes.LOGOUT_REQUEST: return { ...state, status: constants_1.RequestStatus.STARTED }; case action_types_1.UserTypes.LOGOUT_SUCCESS: return { ...state, status: constants_1.RequestStatus.SUCCESS, error: null }; case action_types_1.UserTypes.LOGOUT_FAILURE: return { ...state, status: constants_1.RequestStatus.FAILURE, error: action.error }; case action_types_1.UserTypes.RESET_LOGOUT_STATE: return (0, helpers_1.initialRequestState)(); default: return state; } } function autocompleteUsers(state = (0, helpers_1.initialRequestState)(), action) { return (0, helpers_1.handleRequest)(action_types_1.UserTypes.AUTOCOMPLETE_USERS_REQUEST, action_types_1.UserTypes.AUTOCOMPLETE_USERS_SUCCESS, action_types_1.UserTypes.AUTOCOMPLETE_USERS_FAILURE, state, action); } function updateMe(state = (0, helpers_1.initialRequestState)(), action) { return (0, helpers_1.handleRequest)(action_types_1.UserTypes.UPDATE_ME_REQUEST, action_types_1.UserTypes.UPDATE_ME_SUCCESS, action_types_1.UserTypes.UPDATE_ME_FAILURE, state, action); } exports.default = (0, redux_1.combineReducers)({ login, logout, autocompleteUsers, updateMe, });