This is an automated email from the ASF dual-hosted git repository.

dimuthuupe pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airavata-mft.git

commit 54be23eb6c302f3fc37d7fc3e6bee3bb590ba0cf
Author: DImuthuUpe <[email protected]>
AuthorDate: Fri Sep 1 21:12:12 2023 +0530

    Supporting storage removal from cli
---
 python-cli/mft_cli/airavata_mft_cli/storage/__init__.py    | 14 ++++++++++++++
 python-cli/mft_cli/pyproject.toml                          |  2 +-
 .../resource/server/backend/sql/SQLResourceBackend.java    |  4 ++--
 .../backend/sql/repository/ResolveStorageRepository.java   |  2 ++
 .../backend/sql/repository/StorageSecretRepository.java    |  2 +-
 .../server/handler/StorageCommonServiceHandler.java        |  7 +++++--
 6 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/python-cli/mft_cli/airavata_mft_cli/storage/__init__.py 
b/python-cli/mft_cli/airavata_mft_cli/storage/__init__.py
index b2dd0ff..ac1110d 100644
--- a/python-cli/mft_cli/airavata_mft_cli/storage/__init__.py
+++ b/python-cli/mft_cli/airavata_mft_cli/storage/__init__.py
@@ -60,6 +60,20 @@ def add_storage():
     except Exception as e:
         exception_handler(e)
 
[email protected]("remove")
+def remove_storage(storage_id):
+    client = mft_client.MFTClient(transfer_api_port = 
configcli.transfer_api_port,
+                                        transfer_api_secured = 
configcli.transfer_api_secured,
+                                        resource_service_host = 
configcli.resource_service_host,
+                                        resource_service_port = 
configcli.resource_service_port,
+                                        resource_service_secured = 
configcli.resource_service_secured,
+                                        secret_service_host = 
configcli.secret_service_host,
+                                        secret_service_port = 
configcli.secret_service_port)
+    delete_request = 
StorageCommon_pb2.SecretForStorageDeleteRequest(storageId=storage_id)
+    delete_response = client.common_api.deleteSecretsForStorage(delete_request)
+    console = Console()
+    console.print("Storage removed: " + str(delete_response.status))
+
 @app.command("list")
 def list_storage():
     try:
diff --git a/python-cli/mft_cli/pyproject.toml 
b/python-cli/mft_cli/pyproject.toml
index 40b726f..9ec3419 100644
--- a/python-cli/mft_cli/pyproject.toml
+++ b/python-cli/mft_cli/pyproject.toml
@@ -18,7 +18,7 @@
 
 [tool.poetry]
 name = "airavata-mft-cli"
-version = "0.1.14"
+version = "0.1.17"
 description = "Command Line Client for Apache Airavata MFT data transfer 
software"
 authors = [
     "Dimuthu Wannipurage <[email protected]>",
diff --git 
a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/backend/sql/SQLResourceBackend.java
 
b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/backend/sql/SQLResourceBackend.java
index 4751130..d46b8c6 100644
--- 
a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/backend/sql/SQLResourceBackend.java
+++ 
b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/backend/sql/SQLResourceBackend.java
@@ -125,8 +125,8 @@ public class SQLResourceBackend implements ResourceBackend {
 
     @Override
     public boolean deleteSecretForStorage(SecretForStorageDeleteRequest 
request) throws Exception {
-        resourceSecretRepository.deleteByStorageId(request.getStorageId());
-        return true;
+        resolveStorageRepository.deleteByStorageId(request.getStorageId());
+        return 
resourceSecretRepository.deleteByStorageId(request.getStorageId()) > 0;
     }
 
     @Override
diff --git 
a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/backend/sql/repository/ResolveStorageRepository.java
 
b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/backend/sql/repository/ResolveStorageRepository.java
index 4f9e380..dcc1e1e 100644
--- 
a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/backend/sql/repository/ResolveStorageRepository.java
+++ 
b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/backend/sql/repository/ResolveStorageRepository.java
@@ -30,4 +30,6 @@ public interface ResolveStorageRepository extends 
CrudRepository<ResolveStorageE
     Optional<ResolveStorageEntity> getByStorageId(String storageID);
     List<ResolveStorageEntity> getByStorageName(String storageName);
     List<ResolveStorageEntity> 
getByStorageType(ResolveStorageEntity.StorageType storageType);
+
+    int deleteByStorageId(String storageId);
 }
diff --git 
a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/backend/sql/repository/StorageSecretRepository.java
 
b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/backend/sql/repository/StorageSecretRepository.java
index 10d4262..d0be00e 100644
--- 
a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/backend/sql/repository/StorageSecretRepository.java
+++ 
b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/backend/sql/repository/StorageSecretRepository.java
@@ -27,5 +27,5 @@ import java.util.Optional;
 public interface StorageSecretRepository extends 
CrudRepository<StorageSecretEntity, String> {
 
     Optional<StorageSecretEntity> findByStorageId(String storageId);
-    void deleteByStorageId(String resourceId);
+    int deleteByStorageId(String resourceId);
 }
diff --git 
a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/StorageCommonServiceHandler.java
 
b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/StorageCommonServiceHandler.java
index 015e278..dd57ef0 100644
--- 
a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/StorageCommonServiceHandler.java
+++ 
b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/handler/StorageCommonServiceHandler.java
@@ -28,6 +28,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Service;
 
+import javax.transaction.Transactional;
+
 @Service("RSStorageCommonServiceHandler")
 @GRpcService
 public class StorageCommonServiceHandler extends 
StorageCommonServiceGrpc.StorageCommonServiceImplBase {
@@ -85,11 +87,12 @@ public class StorageCommonServiceHandler extends 
StorageCommonServiceGrpc.Storag
     }
 
     @Override
+    @Transactional
     public void deleteSecretsForStorage(SecretForStorageDeleteRequest request, 
StreamObserver<SecretForStorageDeleteResponse> responseObserver) {
         try {
-            this.backend.deleteSecretForStorage(request);
+            boolean status = this.backend.deleteSecretForStorage(request);
             SecretForStorageDeleteResponse.Builder builder = 
SecretForStorageDeleteResponse.newBuilder();
-            builder.setStatus(true);
+            builder.setStatus(status);
             responseObserver.onNext(builder.build());
             responseObserver.onCompleted();
         } catch (Exception e) {

Reply via email to