summaryrefslogtreecommitdiffstats
path: root/webapp/actions/file_actions.jsx
blob: 628144676d504113d47261444e74919d6e735ab3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.

import store from 'stores/redux_store.jsx';
const dispatch = store.dispatch;
const getState = store.getState;
import {uploadFile as uploadFileRedux} from 'mattermost-redux/actions/files';

export function uploadFile(file, name, channelId, clientId, success, error) {
    const fileFormData = new FormData();
    fileFormData.append('files', file, name);
    fileFormData.append('channel_id', channelId);
    fileFormData.append('client_ids', clientId);

    uploadFileRedux(channelId, null, [clientId], fileFormData)(dispatch, getState).then(
        (data) => {
            if (data && success) {
                success(data);
            } else if (data == null && error) {
                const serverError = getState().requests.files.uploadFiles.error;
                error({id: serverError.server_error_id, ...serverError});
            }
        }
    );
}