Added feature to delete file from a collection.
authorFuad Muhic <fmuhic@capeannenterprises.com>
Fri, 15 Dec 2017 12:00:41 +0000 (13:00 +0100)
committerFuad Muhic <fmuhic@capeannenterprises.com>
Fri, 15 Dec 2017 12:00:41 +0000 (13:00 +0100)
Arvados-DCO-1.1-Signed-off-by: Fuad Muhic <fmuhic@capeannenterprises.com>

sdk/R/.RData
sdk/R/R/Collection.R

index 5745e7da592274eafd78bedff38f6bd491fca3bf..19ecedaef29fa5fc97b138c5f2c557557b0c0eb7 100644 (file)
Binary files a/sdk/R/.RData and b/sdk/R/.RData differ
index 0ebaed8af1852de5dd6132f331f5b6edd2d05197..49a1e81d0767c7b33513a290ecad208f0a7fd216 100644 (file)
@@ -107,11 +107,6 @@ Collection <- R6::R6Class(
 
         createNewFile = function(relativePath, content, contentType)
         {
-            node <- private$fileTree$getNode(relativePath)
-
-            if(is.null(node))
-                stop("File already exists")
-
             fileURL <- paste0(private$api$getWebDavHostName(), "c=", self$uuid, "/", relativePath);
             headers <- list(Authorization = paste("OAuth2", private$api$getToken()), 
                             "Content-Type" = contentType)
@@ -128,6 +123,24 @@ Collection <- R6::R6Class(
             paste0("File created (size = ", fileSize , ")")
         },
 
+        removeFile = function(relativePath)
+        {
+            node <- private$fileTree$getNode(relativePath)
+
+            if(is.null(node))
+                stop("File doesn't exists.")
+
+            fileURL <- paste0(private$api$getWebDavHostName(), "c=", self$uuid, "/", relativePath);
+            headers <- list(Authorization = paste("OAuth2", private$api$getToken())) 
+
+            serverResponse <- private$http$DELETE(fileURL, headers)
+
+            if(serverResponse$status_code != 204)
+                stop(paste("Server code:", serverResponse$status_code))
+
+            "File deleted"
+        },
+
         update = function(subcollection, event)
         {
             #Todo(Fudo): Add some king of check here later on.