You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by sh...@apache.org on 2023/04/10 11:50:52 UTC

[rocketmq-eventbridge] branch main updated: add connection check

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

shenlin pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/rocketmq-eventbridge.git


The following commit(s) were added to refs/heads/main by this push:
     new b506031  add connection check
b506031 is described below

commit b506031bb78c01c23b5607e2b185dfb73c8597d4
Author: zh378814 <wb...@alibaba-inc.com>
AuthorDate: Mon Apr 10 18:15:59 2023 +0800

    add connection check
---
 .../domain/model/apidestination/ApiDestinationService.java   | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/apidestination/ApiDestinationService.java b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/apidestination/ApiDestinationService.java
index 9b87181..94f2931 100644
--- a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/apidestination/ApiDestinationService.java
+++ b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/apidestination/ApiDestinationService.java
@@ -24,6 +24,7 @@ import org.apache.rocketmq.eventbridge.domain.common.EventBridgeConstants;
 import org.apache.rocketmq.eventbridge.domain.common.exception.EventBridgeErrorCode;
 import org.apache.rocketmq.eventbridge.domain.model.AbstractResourceService;
 import org.apache.rocketmq.eventbridge.domain.model.PaginationResult;
+import org.apache.rocketmq.eventbridge.domain.model.connection.ConnectionService;
 import org.apache.rocketmq.eventbridge.domain.model.quota.QuotaService;
 import org.apache.rocketmq.eventbridge.domain.model.apidestination.parameter.HttpApiParameters;
 import org.apache.rocketmq.eventbridge.domain.repository.ApiDestinationRepository;
@@ -43,11 +44,14 @@ public class ApiDestinationService extends AbstractResourceService {
 
     private final ApiDestinationRepository apiDestinationRepository;
 
+    private final ConnectionService connectionService;
+
     private final QuotaService quotaService;
 
-    public ApiDestinationService(ApiDestinationRepository apiDestinationRepository, QuotaService quotaService) {
+    public ApiDestinationService(ApiDestinationRepository apiDestinationRepository, QuotaService quotaService, ConnectionService connectionService) {
         this.apiDestinationRepository = apiDestinationRepository;
         this.quotaService = quotaService;
+        this.connectionService = connectionService;
     }
 
     @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
@@ -58,6 +62,7 @@ public class ApiDestinationService extends AbstractResourceService {
         super.checkQuota(this.getApiDestinationCount(eventApiDestinationDTO.getAccountId()), quotaService.getTotalQuota(eventApiDestinationDTO.getAccountId(), TotalQuotaEnum.API_DESTINATION_COUNT),
                 ApiDestinationCountExceedLimit);
         checkHttpApiParameters(eventApiDestinationDTO.getApiParams());
+        checkConnection(eventApiDestinationDTO);
         final Boolean apiDestination = apiDestinationRepository.createApiDestination(eventApiDestinationDTO);
         if (apiDestination) {
             return eventApiDestinationDTO.getName();
@@ -65,6 +70,10 @@ public class ApiDestinationService extends AbstractResourceService {
         return null;
     }
 
+    private void checkConnection(ApiDestinationDTO eventApiDestinationDTO) {
+        connectionService.getConnection(eventApiDestinationDTO.getAccountId(), eventApiDestinationDTO.getConnectionName());
+    }
+
     private void checkHttpApiParameters(HttpApiParameters httpApiParameters) {
         if (httpApiParameters == null) {
             throw new EventBridgeException(EventBridgeErrorCode.HttpApiParametersIsNull);
@@ -87,6 +96,7 @@ public class ApiDestinationService extends AbstractResourceService {
             throw new EventBridgeException(EventBridgeErrorCode.ApiDestinationNotExist, apiDestinationDTO.getName());
         }
         checkHttpApiParameters(apiDestinationDTO.getApiParams());
+        checkConnection(apiDestinationDTO);
         return apiDestinationRepository.updateApiDestination(apiDestinationDTO);
     }