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