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.

Authorization

Request

This endpoint does not take any parameters

Response Object

Returns an empty object.

Status/Error Codes

Was this helpful?

Bulk restore deleted files by IDs (dashboard page code)

Copy Code
1import { files } from 'wix-media.v2';
2
3/* Sample fileIds value:
4 * [
5 * 'd4dde1_dee18c9ada174a818ccf75c50e72c739~mv2.jpg',
6 * 'd4dde1_32288e20a5aa4213a52b15426fb27c9f~mv2.png',
7 * 'd4dde1_8dd2bfe6121f43b29ebeaa63988abf54.svg'
8 * ]
9 */
10
11async function myBulkRestoreFilesFromTrashBinFunction(fileIds) {
12 try {
13 const restoredFiles = await files.bulkRestoreFilesFromTrashBin(fileIds);
14
15 console.log('Restored Files:', restoredFiles);
16 return restoredFiles;
17 } catch (error) {
18 console.error(error);
19 }
20}
21
22/* 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';
4
5/* Sample fileIds value:
6 * [
7 * 'd4dde1_dee18c9ada174a818ccf75c50e72c739~mv2.jpg',
8 * 'd4dde1_32288e20a5aa4213a52b15426fb27c9f~mv2.png',
9 * 'd4dde1_8dd2bfe6121f43b29ebeaa63988abf54.svg'
10 * ]
11 */
12
13export const myBulkRestoreFilesFromTrashBinFunction = webMethod(Permissions.Anyone, async (fileIds) => {
14 try {
15 const elevatedBulkRestoreFilesFromTrashBin = elevate(files.bulkRestoreFilesFromTrashBin);
16 const restoredFiles = await elevatedBulkRestoreFilesFromTrashBin(fileIds);
17
18 console.log('Restored Files:', restoredFiles);
19 return restoredFiles;
20 } catch (error) {
21 console.error(error);
22 }
23});
24
25/* 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';
7
8export const restoreFiles = webMethod(Permissions.Anyone, async (mediaTypes) => {
9 let idList = []
10 try {
11 const options = {
12 mediaTypes: mediaTypes
13 };
14 const elevatedListDeletedFiles = elevate(files.listDeletedFiles)
15 const deletedFiles = await elevatedListDeletedFiles(options);
16
17 idList = deletedFiles.files.map((file) => {
18 return file._id
19 });
20 } catch (error) {
21 console.error(error);
22 }
23
24 try {
25 const elevatedBulkRestoreFilesFromTrashBin = elevate(files.bulkRestoreFilesFromTrashBin);
26 const restoredFiles = await elevatedBulkRestoreFilesFromTrashBin(idList);
27
28 console.log('Restored Files:', restoredFiles);
29 return restoredFiles;
30 } catch (error) {
31 console.error(error);
32 }
33});
34
35
36/*************
37 * Page code *
38 ************/
39
40import { restoreFiles } from 'backend/bulk-restore-files.web';
41
42$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);
67
68 $w('#filesRestoredMsg').show();
69 setTimeout(() => {
70 $w('#filesRestoredMsg').hide();
71 }, 5000);
72 });
73});