Search.../

listDeletedFolders( )

Retrieves a list of deleted folders from the trash bin.

Description

The listDeletedFolders() function returns a Promise that resolves to information about the specified deleted folders and cursor information.

To retrieve a list of non-deleted folders, use the listFolders() function.

Admin Method

This function requires elevated permissions to run. This function is not universal and runs only on the backend.

Syntax

function listDeletedFolders(options: ListDeletedFoldersOptions): Promise<ListDeletedFoldersResponse>

listDeletedFolders Parameters

NAME
TYPE
DESCRIPTION
options
Optional
ListDeletedFoldersOptions

Options to use when listing deleted folders from the trash bin.

Returns

Return Type:

Promise<
ListDeletedFoldersResponse
>
NAME
TYPE
DESCRIPTION
folders
Array<
Folder
>

List of folders in the Media Manager's trash bin.

nextCursor
PagingMetadataV2

The next cursor if it exists.

Was this helpful?

List deleted folders (dashboard page code)

Copy Code
1import { folders } from 'wix-media.v2';
2
3async function listDeletedFolders() {
4 try {
5 const deletedFolders = await folders.listDeletedFolders();
6
7 console.log("Deleted Folders:", deletedFolders);
8 return deletedFolders;
9 } catch (error) {
10 console.error(error);
11 // Handle the error
12 }
13}
14
15/* Promise resolves to:
16 * {
17 * "folders": [
18 * {
19 * "_createdDate": "2023-08-21T09:32:47.000Z",
20 * "_id": "d4051a6890724365a78678a6208ac37e",
21 * "_updatedDate": "2023-08-21T09:32:47.000Z",
22 * "displayName": "family",
23 * "parentFolderId": "trash-root",
24 * "state": "DELETED"
25 * },
26 * {
27 * "_createdDate": "2023-08-21T05:34:03.000Z",
28 * "_id": "302fc049d70c41dea33fa4a27ab481ba",
29 * "_updatedDate": "2023-08-21T05:34:03.000Z",
30 * "displayName": "Videos",
31 * "parentFolderId": "trash-root",
32 * "state": "DELETED"
33 * }
34 * ],
35 * "nextCursor": {
36 * "cursors": {
37 * "next": ""
38 * },
39 * "hasNext": false
40 * }
41 * }
42 */
List deleted folders (export from backend code)

Copy Code
1import { Permissions, webMethod } from 'wix-web-module';
2import { folders } from 'wix-media.v2';
3import { elevate } from 'wix-auth';
4
5export const listDeletedFolders = webMethod(Permissions.Anyone, async () => {
6 try {
7 const elevatedListDeletedFolders = elevate(folders.listDeletedFolders);
8 const deletedFolders = await elevatedListDeletedFolders();
9
10 console.log("Deleted Folders:", deletedFolders);
11 return deletedFolders;
12 } catch (error) {
13 console.error(error);
14 // Handle the error
15 }
16});
17
18/* Promise resolves to:
19 * {
20 * "folders": [
21 * {
22 * "_createdDate": "2023-08-21T09:32:47.000Z",
23 * "_id": "d4051a6890724365a78678a6208ac37e",
24 * "_updatedDate": "2023-08-21T09:32:47.000Z",
25 * "displayName": "family",
26 * "parentFolderId": "trash-root",
27 * "state": "DELETED"
28 * },
29 * {
30 * "_createdDate": "2023-08-21T05:34:03.000Z",
31 * "_id": "302fc049d70c41dea33fa4a27ab481ba",
32 * "_updatedDate": "2023-08-21T05:34:03.000Z",
33 * "displayName": "Videos",
34 * "parentFolderId": "trash-root",
35 * "state": "DELETED"
36 * }
37 * ],
38 * "nextCursor": {
39 * "cursors": {
40 * "next": ""
41 * },
42 * "hasNext": false
43 * }
44 * }
45 */
List deleted folders with sort

Copy Code
1import { Permissions, webMethod } from 'wix-web-module';
2import { folders } from 'wix-media.v2';
3import { elevate } from 'wix-auth';
4
5/* Sample options value:
6 * {
7 * sort: {
8 * fieldName: 'displayName',
9 * order: 'ASC'
10 * }
11 * }
12 */
13
14export const listDeletedFolders = webMethod(Permissions.Anyone, async (options) => {
15 try {
16 const elevatedListDeletedFolders = elevate(folders.listDeletedFolders);
17 const deletedFolders = await elevatedListDeletedFolders(options);
18
19 console.log("Deleted folders, sorted alphabetically by name:", deletedFolders);
20 return deletedFolders;
21 } catch (error) {
22 console.error(error);
23 // Handle the error
24 }
25});
26
27/* Promise resolves to:
28 * {
29 * "folders": [
30 * {
31 * "_createdDate": "2023-08-21T05:34:03.000Z",
32 * "_id": "302fc049d70c41dea33fa4a27ab481ba",
33 * "_updatedDate": "2023-08-21T05:34:03.000Z",
34 * "displayName": "Videos",
35 * "parentFolderId": "trash-root",
36 * "state": "DELETED"
37 * },
38 * {
39 * "_createdDate": "2023-08-21T09:32:47.000Z",
40 * "_id": "d4051a6890724365a78678a6208ac37e",
41 * "_updatedDate": "2023-08-21T09:32:47.000Z",
42 * "displayName": "family",
43 * "parentFolderId": "trash-root",
44 * "state": "DELETED"
45 * }
46 * ],
47 * "nextCursor": {
48 * "cursors": {
49 * "next": ""
50 * },
51 * "hasNext": false
52 * }
53 * }
54 */
55
Bulk restore all folders from the trash bin

Copy Code
1/*****************************************
2 * Backend code - restore-folders.web.js *
3 ****************************************/
4
5import { Permissions, webMethod } from 'wix-web-module';
6import { folders } from 'wix-media.v2';
7import { elevate } from 'wix-auth';
8
9export const restoreAllFolders = webMethod(Permissions.Anyone, async () => {
10 try {
11 const elevatedListDeletedFolders = elevate(folders.listDeletedFolders);
12 const deletedFolders = await elevatedListDeletedFolders();
13
14 const deletedFolderIds = deletedFolders.map((folder) => {
15 return folder._id;
16 });
17
18 const elevatedBulkRestoreFoldersFromTrashBin = elevate(folders.bulkRestoreFoldersFromTrashBin);
19 const restoredFolders = await elevatedBulkRestoreFoldersFromTrashBin(deletedFolderIds);
20
21 return restoredFolders;
22 } catch (error) {
23 console.error(error);
24 }
25});
26
27
28/*************
29 * Page code *
30 ************/
31
32import { restoreAllFolders } from 'backend/restore-folders.web';
33
34$w.onReady(async () => {
35 $w('#restoreAll').onClick(async () => {
36 const restoredFolders = await restoreAllFolders();
37
38 console.log('Restored all folders:', restoredFolders);
39 $w('#bulkRestoreSuccessMsg').show();
40 });
41});