UNPKG

mattermost-redux

Version:

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

50 lines (49 loc) 1.85 kB
"use strict"; // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. Object.defineProperty(exports, "__esModule", { value: true }); exports.handleUploadFilesRequest = handleUploadFilesRequest; 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 handleUploadFilesRequest(REQUEST, SUCCESS, FAILURE, CANCEL, state, action) { switch (action.type) { case REQUEST: return { ...state, status: constants_1.RequestStatus.STARTED, }; case SUCCESS: return { ...state, status: constants_1.RequestStatus.SUCCESS, error: null, }; case FAILURE: { let error = action.error; if (error instanceof Error) { error = Object.hasOwn(error, 'intl') ? { ...error } : error.toString(); } return { ...state, status: constants_1.RequestStatus.FAILURE, error, }; } case CANCEL: return { ...state, status: constants_1.RequestStatus.CANCELLED, error: null, }; default: return state; } } function uploadFiles(state = (0, helpers_1.initialRequestState)(), action) { return handleUploadFilesRequest(action_types_1.FileTypes.UPLOAD_FILES_REQUEST, action_types_1.FileTypes.UPLOAD_FILES_SUCCESS, action_types_1.FileTypes.UPLOAD_FILES_FAILURE, action_types_1.FileTypes.UPLOAD_FILES_CANCEL, state, action); } exports.default = (0, redux_1.combineReducers)({ uploadFiles, });