Search.../

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.

Admin Method

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
_id
string

Folder ID. Generated when a folder is created in the Media Manager.

folder
UpdateFolder

Folder to update.

Returns

Information about the updated folder.

Return Type:

Promise<
Folder
>
NAME
TYPE
DESCRIPTION
_createdDate
Date

Date the folder was created.

_id
string

Folder ID. Generated when a folder is created in the Media Manager.

_updatedDate
Date

Date the folder was updated.

displayName
string

Folder name as it appears in the Media Manager.

parentFolderId
string

ID of the folder's parent folder.
Default: media-root folder.

state
string

State of the folder.

Supported values: "OK", "DELETED".

Was this helpful?

Update a folder's name (dashboard page code)

Copy Code
1import { folders } from 'wix-media.v2';
2
3/* Sample id value: '7984b3c5454e4371aqbd4f4eedde96bc'
4 *
5 * Sample folder value:
6 * {
7 * displayName: 'mountains'
8 * }
9 */
10
11async function myUpdateFolderFunction(id, options) {
12 try {
13 const updatedFolder = await folders.updateFolder(id, options);
14
15 console.log(`Updated folder ${updatedFolder.displayName}:`, updatedFolder);
16 return updatedFolder;
17 } catch (error) {
18 console.error(error);
19 // Handle the error
20 }
21}
22
23/* 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 */
Update a folder's name (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
5/* Sample id value: '7984b3c5454e4371aqbd4f4eedde96bc'
6 *
7 * Sample folder value:
8 * {
9 * displayName: 'mountains'
10 * }
11 */
12
13export const myUpdateFolderFunction = webMethod(Permissions.Anyone, async (id, options) => {
14 try {
15 const elevatedUpdateFolder = elevate(folders.updateFolder);
16 const updatedFolder = await elevatedUpdateFolder(id, options);
17
18 console.log(`Updated folder ${updatedFolder.displayName}:`, updatedFolder);
19 return updatedFolder;
20 } catch (error) {
21 console.error(error);
22 // Handle the error
23 }
24});
25
26/* 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
Update a folder's location

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.

Copy Code
1/************************************
2 * Backend code - create-folder.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 listFolders = webMethod(Permissions.Anyone, async () => {
10 try {
11 const elevatedListFolders = elevate(folders.listFolders)
12 const foldersList = await elevatedListFolders();
13
14 return foldersList;
15 } catch (error) {
16 console.error(error);
17 }
18});
19
20export const updateFolder = webMethod(Permissions.Anyone, async (id, options) => {
21 try {
22 const elevatedUpdateFolder = elevate(folders.updateFolder);
23 const updatedFolder = await elevatedUpdateFolder(id, options);
24
25 return updatedFolder;
26 } catch (error) {
27 console.error(error);
28 }
29});
30
31/*************
32 * Page code *
33 ************/
34
35import { updateFolder, listFolders } from 'backend/create-folder.web';
36
37$w.onReady(async () => {
38 await populateFoldersDropdowns();
39
40 $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);
49
50 console.log(`Successfully updated folder ${updatedFolder.displayName}:`, updatedFolder);
51 $w('#updateFolderSuccessMsg').show();
52 });
53});
54
55async function populateFoldersDropdowns() {
56 const folders = await listFolders();
57 const dropdownOptions = folders.map((folder) => {
58 return {
59 label: folder.displayName,
60 value: folder._id
61 };
62 });
63
64 $w('#updateFolderDropdown').options = dropdownOptions;
65 $w('#parentFolderDropdown').options = dropdownOptions;
66};
67