Search...
bulkRestoreFilesFromTrashBin( )
Restores the specified files from the Media Manager's trash bin, and moves them to their original locations in the Media Manager.
Description
The bulkRestoreFilesFromTrashBin()
function returns a Promise that resolves when the files have been restored.
Admin Method
This function requires elevated permissions to run. This function is not universal and runs only on the backend.
Syntax
function bulkRestoreFilesFromTrashBin(fileIds: Array<string>): Promise<void>
bulkRestoreFilesFromTrashBin Parameters
NAME
TYPE
DESCRIPTION
fileIds
Array<
string
>IDs of the files to restore from the Media Manager's trash bin.
Returns
Return Type:
Promise<
void
>Was this helpful?
Bulk restore deleted files by IDs (dashboard page code)
Copy Code
1import { files } from 'wix-media.v2';23/* Sample fileIds value:4 * [5 * 'd4dde1_dee18c9ada174a818ccf75c50e72c739~mv2.jpg',6 * 'd4dde1_32288e20a5aa4213a52b15426fb27c9f~mv2.png',7 * 'd4dde1_8dd2bfe6121f43b29ebeaa63988abf54.svg'8 * ]9 */1011async function myBulkRestoreFilesFromTrashBinFunction(fileIds) {12 try {13 const restoredFiles = await files.bulkRestoreFilesFromTrashBin(fileIds);1415 console.log('Restored Files:', restoredFiles);16 return restoredFiles;17 } catch (error) {18 console.error(error);19 }20}2122/* Promise resolves to void */
Bulk restore deleted files by IDs (export from backend code)
Copy Code
1import { Permissions, webMethod } from 'wix-web-module';2import { files } from 'wix-media.v2';3import { elevate } from 'wix-auth';45/* Sample fileIds value:6 * [7 * 'd4dde1_dee18c9ada174a818ccf75c50e72c739~mv2.jpg',8 * 'd4dde1_32288e20a5aa4213a52b15426fb27c9f~mv2.png',9 * 'd4dde1_8dd2bfe6121f43b29ebeaa63988abf54.svg'10 * ]11 */1213export const myBulkRestoreFilesFromTrashBinFunction = webMethod(Permissions.Anyone, async (fileIds) => {14 try {15 const elevatedBulkRestoreFilesFromTrashBin = elevate(files.bulkRestoreFilesFromTrashBin);16 const restoredFiles = await elevatedBulkRestoreFilesFromTrashBin(fileIds);1718 console.log('Restored Files:', restoredFiles);19 return restoredFiles;20 } catch (error) {21 console.error(error);22 }23});2425/* Promise resolves to void */26
Bulk restores all non-permanently deleted files of chosen types
This code is an example of a page on which a visitor chooses a media type (or types). All files of that type/those types in which have been (non-permanently) deleted are restored.
Copy Code
1/********************************************2 * Backend code - bulk-restore-files.web.js *3 *******************************************/4import { Permissions, webMethod } from 'wix-web-module';5import { files } from 'wix-media.v2';6import { elevate } from 'wix-auth';78export const restoreFiles = webMethod(Permissions.Anyone, async (mediaTypes) => {9 let idList = []10 try {11 const options = {12 mediaTypes: mediaTypes13 };14 const elevatedListDeletedFiles = elevate(files.listDeletedFiles)15 const deletedFiles = await elevatedListDeletedFiles(options);1617 idList = deletedFiles.files.map((file) => {18 return file._id19 });20 } catch (error) {21 console.error(error);22 }2324 try {25 const elevatedBulkRestoreFilesFromTrashBin = elevate(files.bulkRestoreFilesFromTrashBin);26 const restoredFiles = await elevatedBulkRestoreFilesFromTrashBin(idList);2728 console.log('Restored Files:', restoredFiles);29 return restoredFiles;30 } catch (error) {31 console.error(error);32 }33});343536/*************37 * Page code *38 ************/3940import { restoreFiles } from 'backend/bulk-restore-files.web';4142$w.onReady(() => {43 $w('#restoreMedia').onClick(async () => {44 const mediaTypes = []45 if ($w('#image').checked) {46 mediaTypes.push("IMAGE")47 }48 if ($w('#video').checked) {49 mediaTypes.push("VIDEO")50 }51 if ($w('#audio').checked) {52 mediaTypes.push("AUDIO")53 }54 if ($w('#document').checked) {55 mediaTypes.push("DOCUMENT")56 }57 if ($w('#vector').checked) {58 mediaTypes.push("VECTOR")59 }60 if ($w('#archive').checked) {61 mediaTypes.push("ARCHIVE")62 }63 if ($w('#model3d').checked) {64 mediaTypes.push("MODEL3D")65 }66 await restoreFiles(mediaTypes);6768 $w('#filesRestoredMsg').show();69 setTimeout(() => {70 $w('#filesRestoredMsg').hide();71 }, 5000);72 });73});