Files
jitsi-meet/react/features/file-sharing/actions.ts
damencho e5187de9c3 feat(file-sharing): Uses a filesharing management from ljm.
squash: Change the way we pass the list of files from the backend.

squash: Remove actions to sync local state with remote.
2025-06-17 15:51:41 -05:00

76 lines
1.4 KiB
TypeScript

import {
ADD_FILE,
DOWNLOAD_FILE,
REMOVE_FILE,
UPDATE_FILE_UPLOAD_PROGRESS,
UPLOAD_FILES
} from './actionTypes';
import { IFileMetadata } from './types';
/**
* Upload files.
*
* @param {File[]} files - The files to upload.
* @returns {Object}
*/
export function uploadFiles(files: File[]) {
return {
type: UPLOAD_FILES,
files
};
}
/**
* Update a file's upload progress.
*
* @param {string} fileId - The ID of the file to update.
* @param {number} progress - The new progress value.
* @returns {Object}
*/
export function updateFileProgress(fileId: string, progress: number) {
return {
type: UPDATE_FILE_UPLOAD_PROGRESS,
fileId,
progress
};
}
/**
* Add a file.
*
* @param {IFileMetadata} file - The file to add to the state.
* @returns {Object}
*/
export function addFile(file: IFileMetadata) {
return {
type: ADD_FILE,
file
};
}
/**
* Remove a file from the backend.
*
* @param {string} fileId - The ID of the file to remove.
* @returns {Object}
*/
export function removeFile(fileId: string) {
return {
type: REMOVE_FILE,
fileId
};
}
/**
* Download a file.
*
* @param {string} fileId - The ID of the file to download.
* @returns {Object}
*/
export function downloadFile(fileId: string) {
return {
type: DOWNLOAD_FILE,
fileId
};
}