1 var REST = library.REST.REST(); 2 var myData = {}; 3 4 /** 5 * Renames the source file or folder and pushes it into the response 6 * @param theJSON {"directory":"folder/", "name": "newName"} or {"id" : 123456, "name":"newFileName.txt"} 7 */ 8 function rename(theJSON) { 9 if (!!theJSON.directory) { 10 var aFolder = null; 11 try { 12 aFolder = new ManagedFolder(REST.getFullPath(theJSON.directory)); 13 } catch (err) { 14 REST.pushError( 15 REST.errors.e404, 16 "The src folder does not exist: " + theJSON.directory 17 ); 18 return; 19 } 20 aFolder = fileManager.folderRename(aFolder, theJSON.name); 21 REST.push(aFolder); 22 } else if (!!theJSON.id) { 23 var aFile = fileManager.getFileObjectById(theJSON.id); 24 if (!aFile) { 25 REST.pushError( 26 REST.errors.e404, 27 "The src file does not exist: " + theJSON.id 28 ); 29 return; 30 } 31 if (theJSON.name.indexOf(".") >= 0) { 32 aFile = fileManager.fileRename(aFile, theJSON.name); 33 } else { 34 aFile = fileManager.fileRename( 35 aFile, 36 theJSON.name + "." + aFile.fileNameExtension 37 ); 38 } 39 REST.push(aFile); 40 } 41 } 42 43 /** 44 * @name Rename 45 * @class Renames files and directories. 46 * @description Given the files/directories in "data" , this endpoint renames each to the provided name. 47 * @param data an array of files/directories and their intended names [{"directory":"folder/", "name": "newName"}, {"id" : 123456, "name":"newFileName.txt"}, ...] 48 * @param [verbose=false] Setting this to true will collect a variety of default values for each asset. 49 * @param [fields] An array of field id's to collect the values for each asset 50 * @returns [{assetInfo},{directoryInfo}, ... ] 51 * 52 * @example /wf/restapi/v2/rename 53 * 54 * Parameters: 55 * data=[{"id":201629375,"name":"newName"},{"directory":"rename/directory/","name":"NewDirName"}] 56 * verbose=true 57 * 58 * Response: 59 [ 60 { 61 "id": 201629375, 62 "name": "newName.txt", 63 "path": "rename/newName.txt", 64 "height": 0, 65 "width": 0, 66 "bytes": 0, 67 "lastModified": 1508167049000, 68 "mimeType": "text/plain", 69 "previews": { 70 "thumbnail": "../servlet/jb.view?table=thumbnails&col=thumbnails&id=pe_323031363239333735", 71 "viewex": "../servlet/jb.view?table=viewex&col=viewex&id=pe_323031363239333735", 72 "downloadUrl": "../servlet/dload?id=pe_323031363239333735" 73 } 74 }, 75 { 76 "path": "rename/NewDirName/", 77 "name": "NewDirName", 78 "resolver": "directory://158" 79 } 80 ] 81 */ 82 function main() { 83 REST.setCallback(rename); 84 return REST.execute("data"); 85 } 86 main(); 87