updateFolder( )
Updates a folder.
Description
The updateFolder()
function returns a Promise that resolves to information about the updated folder.
You can use the parentFolderId
parameter to move a folder from its current parent folder to a different parent folder.
This function requires elevated permissions to run. This function is not universal and runs only on the backend.
Syntax
function updateFolder(_id: string, folder: UpdateFolder): Promise<Folder>
updateFolder Parameters
NAME
TYPE
DESCRIPTION
Folder ID. Generated when a folder is created in the Media Manager.
Folder to update.
Returns
Information about the updated folder.
Return Type:
NAME
TYPE
DESCRIPTION
Date the folder was created.
Folder ID. Generated when a folder is created in the Media Manager.
Date the folder was updated.
Folder name as it appears in the Media Manager.
ID of the folder's parent folder.
Default: media-root
folder.
State of the folder.
Supported values: "OK"
, "DELETED"
.
Was this helpful?
1import { folders } from 'wix-media.v2';23/* Sample id value: '7984b3c5454e4371aqbd4f4eedde96bc'4 *5 * Sample folder value:6 * {7 * displayName: 'mountains'8 * }9 */1011async function myUpdateFolderFunction(id, options) {12 try {13 const updatedFolder = await folders.updateFolder(id, options);1415 console.log(`Updated folder ${updatedFolder.displayName}:`, updatedFolder);16 return updatedFolder;17 } catch (error) {18 console.error(error);19 // Handle the error20 }21}2223/* Promise resolves to:24 * {25 * "_createdDate": "2023-08-21T09:32:34.000Z",26 * "_id": "7984b3c5454e4371acbd4f4eedde96bc",27 * "_updatedDate": "2023-08-21T11:10:51.000Z",28 * "displayName": "mountains",29 * "parentFolderId": "103601562ec94214bee61f470b403dd5",30 * "state": "OK"31 * }32 */
1import { Permissions, webMethod } from 'wix-web-module';2import { folders } from 'wix-media.v2';3import { elevate } from 'wix-auth';45/* Sample id value: '7984b3c5454e4371aqbd4f4eedde96bc'6 *7 * Sample folder value:8 * {9 * displayName: 'mountains'10 * }11 */1213export const myUpdateFolderFunction = webMethod(Permissions.Anyone, async (id, options) => {14 try {15 const elevatedUpdateFolder = elevate(folders.updateFolder);16 const updatedFolder = await elevatedUpdateFolder(id, options);1718 console.log(`Updated folder ${updatedFolder.displayName}:`, updatedFolder);19 return updatedFolder;20 } catch (error) {21 console.error(error);22 // Handle the error23 }24});2526/* Promise resolves to:27 * {28 * "_createdDate": "2023-08-21T09:32:34.000Z",29 * "_id": "7984b3c5454e4371acbd4f4eedde96bc",30 * "_updatedDate": "2023-08-21T11:10:51.000Z",31 * "displayName": "mountains",32 * "parentFolderId": "103601562ec94214bee61f470b403dd5",33 * "state": "OK"34 * }35 */36
This code is an example of a page on which a visitor chooses a folder from a dropdown list, and then creates a folder within that folder.
1/************************************2 * Backend code - create-folder.web.js *3 ***********************************/45import { Permissions, webMethod } from 'wix-web-module';6import { folders } from 'wix-media.v2';7import { elevate } from 'wix-auth';89export const listFolders = webMethod(Permissions.Anyone, async () => {10 try {11 const elevatedListFolders = elevate(folders.listFolders)12 const foldersList = await elevatedListFolders();1314 return foldersList;15 } catch (error) {16 console.error(error);17 }18});1920export const updateFolder = webMethod(Permissions.Anyone, async (id, options) => {21 try {22 const elevatedUpdateFolder = elevate(folders.updateFolder);23 const updatedFolder = await elevatedUpdateFolder(id, options);2425 return updatedFolder;26 } catch (error) {27 console.error(error);28 }29});3031/*************32 * Page code *33 ************/3435import { updateFolder, listFolders } from 'backend/create-folder.web';3637$w.onReady(async () => {38 await populateFoldersDropdowns();3940 $w('#updateFolderLocation').onClick(async () => {41 const folderId = $w('#updateFolderDropdown').value;42 const parentFolderId = $w('#parentFolderDropdown').value;43 if (folderId === parentFolderId) {44 $w('#folderIsParentFolderMsg').show();45 return;46 };47 const options = {parentFolderId};48 const updatedFolder = await updateFolder(folderId, options);4950 console.log(`Successfully updated folder ${updatedFolder.displayName}:`, updatedFolder);51 $w('#updateFolderSuccessMsg').show();52 });53});5455async function populateFoldersDropdowns() {56 const folders = await listFolders();57 const dropdownOptions = folders.map((folder) => {58 return {59 label: folder.displayName,60 value: folder._id61 };62 });6364 $w('#updateFolderDropdown').options = dropdownOptions;65 $w('#parentFolderDropdown').options = dropdownOptions;66};67