> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # Method name: bulkRestoreFilesFromTrashBin(fileIds: Array) # Method package: wixMediaV2 # Method menu location: wixMediaV2 --> files --> bulkRestoreFilesFromTrashBin # Method Link: https://dev.wix.com/docs/velo/apis/wix-media-v2/files/bulk-restore-files-from-trash-bin.md # Method Description: Restores the specified files from the Media Manager's trash bin, and moves them to their original locations in the Media Manager. # Method Code Examples: *** Note: do not assume any prop names or enum values other than the ones in the example. ## Bulk restore deleted files by IDs (dashboard page code) ```javascript import { files } from 'wix-media.v2'; /* Sample fileIds value: * [ * 'd4dde1_dee18c9ada174a818ccf75c50e72c739~mv2.jpg', * 'd4dde1_32288e20a5aa4213a52b15426fb27c9f~mv2.png', * 'd4dde1_8dd2bfe6121f43b29ebeaa63988abf54.svg' * ] */ async function myBulkRestoreFilesFromTrashBinFunction(fileIds) { try { const restoredFiles = await files.bulkRestoreFilesFromTrashBin(fileIds); console.log('Restored Files:', restoredFiles); return restoredFiles; } catch (error) { console.error(error); } } /* Promise resolves to void */ ``` ## Bulk restore deleted files by IDs (export from backend code) ```javascript import { Permissions, webMethod } from 'wix-web-module'; import { files } from 'wix-media.v2'; import { elevate } from 'wix-auth'; /* Sample fileIds value: * [ * 'd4dde1_dee18c9ada174a818ccf75c50e72c739~mv2.jpg', * 'd4dde1_32288e20a5aa4213a52b15426fb27c9f~mv2.png', * 'd4dde1_8dd2bfe6121f43b29ebeaa63988abf54.svg' * ] */ export const myBulkRestoreFilesFromTrashBinFunction = webMethod(Permissions.Anyone, async (fileIds) => { try { const elevatedBulkRestoreFilesFromTrashBin = elevate(files.bulkRestoreFilesFromTrashBin); const restoredFiles = await elevatedBulkRestoreFilesFromTrashBin(fileIds); console.log('Restored Files:', restoredFiles); return restoredFiles; } catch (error) { console.error(error); } }); /* Promise resolves to void */ ``` ## Bulk restores all non-permanently deleted files of chosen types ```javascript /******************************************** * Backend code - bulk-restore-files.web.js * *******************************************/ import { Permissions, webMethod } from 'wix-web-module'; import { files } from 'wix-media.v2'; import { elevate } from 'wix-auth'; export const restoreFiles = webMethod(Permissions.Anyone, async (mediaTypes) => { let idList = [] try { const options = { mediaTypes: mediaTypes }; const elevatedListDeletedFiles = elevate(files.listDeletedFiles) const deletedFiles = await elevatedListDeletedFiles(options); idList = deletedFiles.files.map((file) => { return file._id }); } catch (error) { console.error(error); } try { const elevatedBulkRestoreFilesFromTrashBin = elevate(files.bulkRestoreFilesFromTrashBin); const restoredFiles = await elevatedBulkRestoreFilesFromTrashBin(idList); console.log('Restored Files:', restoredFiles); return restoredFiles; } catch (error) { console.error(error); } }); /************* * Page code * ************/ import { restoreFiles } from 'backend/bulk-restore-files.web'; $w.onReady(() => { $w('#restoreMedia').onClick(async () => { const mediaTypes = [] if ($w('#image').checked) { mediaTypes.push("IMAGE") } if ($w('#video').checked) { mediaTypes.push("VIDEO") } if ($w('#audio').checked) { mediaTypes.push("AUDIO") } if ($w('#document').checked) { mediaTypes.push("DOCUMENT") } if ($w('#vector').checked) { mediaTypes.push("VECTOR") } if ($w('#archive').checked) { mediaTypes.push("ARCHIVE") } if ($w('#model3d').checked) { mediaTypes.push("MODEL3D") } await restoreFiles(mediaTypes); $w('#filesRestoredMsg').show(); setTimeout(() => { $w('#filesRestoredMsg').hide(); }, 5000); }); }); ``` ---