39 строки
1.3 KiB
JavaScript
39 строки
1.3 KiB
JavaScript
// 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';
|
|
import {Client4} from 'mattermost-redux/client';
|
|
|
|
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});
|
|
}
|
|
}
|
|
);
|
|
}
|
|
|
|
export async function getPublicLink(fileId, success) {
|
|
Client4.getFilePublicLink(fileId).then(
|
|
(data) => {
|
|
if (data && success) {
|
|
success(data.link);
|
|
}
|
|
}
|
|
).catch(
|
|
() => {} //eslint-disable-line no-empty-function
|
|
);
|
|
}
|