> 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: listDeletedFolders(options: ListDeletedFoldersOptions) # Method package: wixMediaV2 # Method menu location: wixMediaV2 --> folders --> listDeletedFolders # Method Link: https://dev.wix.com/docs/velo/apis/wix-media-v2/folders/list-deleted-folders.md # Method Description: Retrieves a list of folders in the Media Manager's trash bin. # Method Code Examples: *** Note: do not assume any prop names or enum values other than the ones in the example. ## List deleted folders (dashboard page code) ```javascript import { folders } from 'wix-media.v2'; async function listDeletedFolders() { try { const deletedFolders = await folders.listDeletedFolders(); console.log("Deleted Folders:", deletedFolders); return deletedFolders; } catch (error) { console.error(error); // Handle the error } } /* Promise resolves to: * { * "folders": [ * { * "_createdDate": "2023-08-21T09:32:47.000Z", * "_id": "d4051a6890724365a78678a6208ac37e", * "_updatedDate": "2023-08-21T09:32:47.000Z", * "displayName": "family", * "parentFolderId": "trash-root", * "state": "DELETED" * }, * { * "_createdDate": "2023-08-21T05:34:03.000Z", * "_id": "302fc049d70c41dea33fa4a27ab481ba", * "_updatedDate": "2023-08-21T05:34:03.000Z", * "displayName": "Videos", * "parentFolderId": "trash-root", * "state": "DELETED" * } * ], * "nextCursor": { * "cursors": { * "next": "" * }, * "hasNext": false * } * } */ ``` ## List deleted folders (export from backend code) ```javascript import { Permissions, webMethod } from 'wix-web-module'; import { folders } from 'wix-media.v2'; import { elevate } from 'wix-auth'; export const listDeletedFolders = webMethod(Permissions.Anyone, async () => { try { const elevatedListDeletedFolders = elevate(folders.listDeletedFolders); const deletedFolders = await elevatedListDeletedFolders(); console.log("Deleted Folders:", deletedFolders); return deletedFolders; } catch (error) { console.error(error); // Handle the error } }); /* Promise resolves to: * { * "folders": [ * { * "_createdDate": "2023-08-21T09:32:47.000Z", * "_id": "d4051a6890724365a78678a6208ac37e", * "_updatedDate": "2023-08-21T09:32:47.000Z", * "displayName": "family", * "parentFolderId": "trash-root", * "state": "DELETED" * }, * { * "_createdDate": "2023-08-21T05:34:03.000Z", * "_id": "302fc049d70c41dea33fa4a27ab481ba", * "_updatedDate": "2023-08-21T05:34:03.000Z", * "displayName": "Videos", * "parentFolderId": "trash-root", * "state": "DELETED" * } * ], * "nextCursor": { * "cursors": { * "next": "" * }, * "hasNext": false * } * } */ ``` ## List deleted folders with sort ```javascript import { Permissions, webMethod } from 'wix-web-module'; import { folders } from 'wix-media.v2'; import { elevate } from 'wix-auth'; /* Sample options value: * { * sort: { * fieldName: 'displayName', * order: 'ASC' * } * } */ export const listDeletedFolders = webMethod(Permissions.Anyone, async (options) => { try { const elevatedListDeletedFolders = elevate(folders.listDeletedFolders); const deletedFolders = await elevatedListDeletedFolders(options); console.log("Deleted folders, sorted alphabetically by name:", deletedFolders); return deletedFolders; } catch (error) { console.error(error); // Handle the error } }); /* Promise resolves to: * { * "folders": [ * { * "_createdDate": "2023-08-21T05:34:03.000Z", * "_id": "302fc049d70c41dea33fa4a27ab481ba", * "_updatedDate": "2023-08-21T05:34:03.000Z", * "displayName": "Videos", * "parentFolderId": "trash-root", * "state": "DELETED" * }, * { * "_createdDate": "2023-08-21T09:32:47.000Z", * "_id": "d4051a6890724365a78678a6208ac37e", * "_updatedDate": "2023-08-21T09:32:47.000Z", * "displayName": "family", * "parentFolderId": "trash-root", * "state": "DELETED" * } * ], * "nextCursor": { * "cursors": { * "next": "" * }, * "hasNext": false * } * } */ ``` ## Bulk restore all folders from the trash bin ```javascript /***************************************** * Backend code - restore-folders.web.js * ****************************************/ import { Permissions, webMethod } from 'wix-web-module'; import { folders } from 'wix-media.v2'; import { elevate } from 'wix-auth'; export const restoreAllFolders = webMethod(Permissions.Anyone, async () => { try { const elevatedListDeletedFolders = elevate(folders.listDeletedFolders); const deletedFolders = await elevatedListDeletedFolders(); const deletedFolderIds = deletedFolders.map((folder) => { return folder._id; }); const elevatedBulkRestoreFoldersFromTrashBin = elevate(folders.bulkRestoreFoldersFromTrashBin); const restoredFolders = await elevatedBulkRestoreFoldersFromTrashBin(deletedFolderIds); return restoredFolders; } catch (error) { console.error(error); } }); /************* * Page code * ************/ import { restoreAllFolders } from 'backend/restore-folders.web'; $w.onReady(async () => { $w('#restoreAll').onClick(async () => { const restoredFolders = await restoreAllFolders(); console.log('Restored all folders:', restoredFolders); $w('#bulkRestoreSuccessMsg').show(); }); }); ``` ---