1 /**
  2  * Workflow to delete a list of assets/folders given their assetID/Path using a REST call
  3  */
  4 var REST = library.REST.REST();
  5 var myData = {};
  6 
  7 /**
  8  * Deletes the file or folder and adds an object with the ID/path to myData
  9  *
 10  * @param theSource - the Id of the asset to delete or the path of the folder to delete
 11  */
 12 function fileOrFolderDelete(theSource) {
 13   var aFile = fileManager.getFileObjectById(theSource);
 14   var aFolder;
 15   if (aFile == null) {
 16     try {
 17       aFolder = new ManagedFolder(theSource);
 18       fileManager.folderDelete(aFolder);
 19       myData[theSource] = aFolder.path;
 20       return;
 21     } catch (err) {
 22       REST.submitError(theSource, "The file or folder does not exist");
 23       return;
 24     }
 25   }
 26   fileManager.fileDelete(aFile);
 27   myData[theSource] = aFile.assetId;
 28 }
 29 
 30 /**
 31  * Deletes files or folders by their AssetIDs or paths.
 32  * @description  Deletes the files specified by AssetID or path in 'src' and returns the AssetID or path given for
 33  * each. These AssetIDs or paths are parsed into a text object keyed by AssetID from the JSON file in which they are
 34  * contained, and by default are displayed to the user.
 35  * @example 'MBurl'/wf/restapi/1/delete?src=["AssetID"]
 36  * @example <a target="_blank" href=http://127.0.0.1:55555/wf/restapi/1/delete?src=["12345"]>http://127.0.0.1:55555/wf/restapi/1/delete?src=["12345"]</a>
 37  * @class Deletes files or folders by their AssetIDs or paths.
 38  * @name Delete
 39  * @param src AssetID/list of assetIDs or path/list of paths of files or folders for deletion.
 40  * @returns ( {'AssetID': "AssetID/path",...} )
 41  */
 42 function main() {
 43   var aParameters = REST.getParametersToIterate("src");
 44   if (myData.error != null) {
 45     return REST.formatResponse();
 46   }
 47   REST.iterateThroughParameters(aParameters, fileOrFolderDelete);
 48   return REST.formatResponse();
 49 }
 50 main();
 51