From 090e00ee13571edc7abf63028cecf31a138208ce Mon Sep 17 00:00:00 2001 From: Shrikant Kandula Date: Mon, 27 Apr 2020 08:01:16 +0000 Subject: [PATCH] Add delete service operation for datasources. --- .../services/DatasourceServiceImpl.java | 17 ++++++++++++++++- .../resources/public/appsmith/authz/acl.rego | 1 + .../src/main/resources/public/bundle.tar.gz | Bin 1565 -> 1573 bytes 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/DatasourceServiceImpl.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/DatasourceServiceImpl.java index 94768901db..62eb289604 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/DatasourceServiceImpl.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/DatasourceServiceImpl.java @@ -3,6 +3,7 @@ package com.appsmith.server.services; import com.appsmith.external.models.DatasourceConfiguration; import com.appsmith.external.models.DatasourceTestResult; import com.appsmith.external.plugins.PluginExecutor; +import com.appsmith.server.constants.AnalyticsEvents; import com.appsmith.server.constants.FieldName; import com.appsmith.server.domains.Datasource; import com.appsmith.server.domains.Organization; @@ -49,7 +50,7 @@ public class DatasourceServiceImpl extends BaseService analyticsService, SessionUserService sessionUserService, ObjectMapper objectMapper, PluginService pluginService, @@ -210,4 +211,18 @@ public class DatasourceServiceImpl extends BaseService delete(String id) { + Mono datasourceMono = repository.findById(id) + .switchIfEmpty(Mono.error(new AppsmithException(AppsmithError.NO_RESOURCE_FOUND, "datasource", id))); + return datasourceMono + .flatMap(toDelete -> repository.archive(toDelete).thenReturn(toDelete)) + .flatMap(deletedObj -> + analyticsService.sendEvent( + AnalyticsEvents.DELETE + "_" + deletedObj.getClass().getSimpleName().toUpperCase(), + deletedObj + ) + ); + } + } diff --git a/app/server/appsmith-server/src/main/resources/public/appsmith/authz/acl.rego b/app/server/appsmith-server/src/main/resources/public/appsmith/authz/acl.rego index c4626f3074..ac33bf3f45 100644 --- a/app/server/appsmith-server/src/main/resources/public/appsmith/authz/acl.rego +++ b/app/server/appsmith-server/src/main/resources/public/appsmith/authz/acl.rego @@ -85,6 +85,7 @@ authenticated_operations = [ {"method": "GET", "resource": "datasources", "permission": "read:datasources"}, {"method": "POST", "resource": "datasources", "permission": "create:datasources"}, {"method": "PUT", "resource": "datasources", "permission": "update:datasources"}, + {"method": "DELETE", "resource": "datasources", "permission": "delete:datasources"}, {"method": "GET", "resource": "configs", "permission": "read:configs"}, {"method": "POST", "resource": "configs", "permission": "create:configs"}, diff --git a/app/server/appsmith-server/src/main/resources/public/bundle.tar.gz b/app/server/appsmith-server/src/main/resources/public/bundle.tar.gz index eafd2209ecc59229a9c21b266b3781764db93a98..50c6dca17b11407628abd57fe1773912b1fa08c7 100644 GIT binary patch literal 1573 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 P{;lJ8eGR4?04M+eixB;}