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) {
