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 46b060d  Add private network param check (#60)
46b060d is described below

commit 46b060de3ed201125966c59f84225553b4326ca3
Author: zhaohai <[email protected]>
AuthorDate: Wed Mar 22 09:58:07 2023 +0800

    Add private network param check (#60)
    
    Add private network param check
---
 .../common/exception/EventBridgeErrorCode.java     |   1 +
 .../domain/model/connection/ConnectionService.java | 118 +++++++++++++--------
 2 files changed, 74 insertions(+), 45 deletions(-)

diff --git 
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/common/exception/EventBridgeErrorCode.java
 
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/common/exception/EventBridgeErrorCode.java
index 52f5c62..71f45ce 100644
--- 
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/common/exception/EventBridgeErrorCode.java
+++ 
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/common/exception/EventBridgeErrorCode.java
@@ -133,6 +133,7 @@ public enum EventBridgeErrorCode implements BaseErrorCode {
 
     ClientSecretLengthExceed(409, "ClientSecretLengthExceed", "ClientSecret 
length cannot exceed 127 !"),
     AuthorizationEndpointLengthExceed(409, 
"AuthorizationEndpointLengthExceed", "Authorization endpoint length cannot 
exceed 127 !"),
+    NetworkParametersIsEmpty(409, "NetworkParametersIsEmpty", "Network 
required parameter is empty !"),
     RequestParameterInvalid(409, "RequestParameterInvalid", "Request parameter 
Invalid !");
 
     private final int httpCode;
diff --git 
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionService.java
 
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionService.java
index a773d7e..d0ebad5 100644
--- 
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionService.java
+++ 
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionService.java
@@ -90,59 +90,80 @@ public class ConnectionService extends 
AbstractResourceService {
 
     private void checkAuthParameters(AuthParameters authParameters) {
         if (authParameters != null) {
-            BasicAuthParameters basicAuthParameters = 
authParameters.getBasicAuthParameters();
-            if (basicAuthParameters != null && 
AuthorizationTypeEnum.BASIC_AUTH.getType().equals(authParameters.getAuthorizationType()))
 {
-                if (StringUtils.isBlank(basicAuthParameters.getUsername()) || 
StringUtils.isBlank(basicAuthParameters.getPassword())) {
-                    throw new 
EventBridgeException(EventBridgeErrorCode.BasicRequiredParameterIsEmpty);
-                }
-                String username = basicAuthParameters.getUsername();
-                String password = basicAuthParameters.getPassword();
-                if (username.length() > 
EventBridgeConstants.MAX_LENGTH_CONSTANT || username.length() < 
EventBridgeConstants.MIN_LENGTH_CONSTANT) {
-                    throw new 
EventBridgeException(EventBridgeErrorCode.BasicUserNameLengthExceed);
-                }
-                if (password.length() > 
EventBridgeConstants.MAX_LENGTH_CONSTANT || password.length() < 
EventBridgeConstants.MIN_LENGTH_CONSTANT) {
-                    throw new 
EventBridgeException(EventBridgeErrorCode.BasicPassWordLengthExceed);
-                }
+            checkBasicAuthParameters(authParameters);
+            checkApiKeyAuthParameters(authParameters);
+            checkOAuthParameters(authParameters);
+        }
+    }
+
+    private void checkOAuthParameters(AuthParameters authParameters) {
+        OAuthParameters oauthParameters = authParameters.getOauthParameters();
+        if 
(AuthorizationTypeEnum.OAUTH_AUTH.getType().equals(authParameters.getAuthorizationType())
 && oauthParameters == null) {
+            throw new 
EventBridgeException(EventBridgeErrorCode.OAuthRequiredParameterIsEmpty);
+        }
+        if (oauthParameters != null && 
AuthorizationTypeEnum.OAUTH_AUTH.getType().equals(authParameters.getAuthorizationType()))
 {
+            if 
(StringUtils.isBlank(oauthParameters.getAuthorizationEndpoint()) || 
StringUtils.isBlank(oauthParameters.getHttpMethod())) {
+                throw new 
EventBridgeException(EventBridgeErrorCode.OAuthRequiredParameterIsEmpty);
             }
-            ApiKeyAuthParameters apiKeyAuthParameters = 
authParameters.getApiKeyAuthParameters();
-            if (apiKeyAuthParameters != null && 
AuthorizationTypeEnum.API_KEY_AUTH.getType().equals(authParameters.getAuthorizationType()))
 {
-                if (StringUtils.isBlank(apiKeyAuthParameters.getApiKeyName()) 
|| StringUtils.isBlank(apiKeyAuthParameters.getApiKeyValue())) {
-                    throw new 
EventBridgeException(EventBridgeErrorCode.ApiKeyRequiredParameterIsEmpty);
-                }
-                String apiKeyName = apiKeyAuthParameters.getApiKeyName();
-                String apiKeyValue = apiKeyAuthParameters.getApiKeyValue();
-                if (apiKeyName.length() > 
EventBridgeConstants.MAX_LENGTH_CONSTANT || apiKeyName.length() < 
EventBridgeConstants.MIN_LENGTH_CONSTANT) {
-                    throw new 
EventBridgeException(EventBridgeErrorCode.ApiKeyNameLengthExceed);
-                }
-                if (apiKeyValue.length() > 
EventBridgeConstants.MAX_LENGTH_CONSTANT || apiKeyValue.length() < 
EventBridgeConstants.MIN_LENGTH_CONSTANT) {
-                    throw new 
EventBridgeException(EventBridgeErrorCode.ApiKeyValueLengthExceed);
-                }
+            if (oauthParameters.getAuthorizationEndpoint().length() > 
EventBridgeConstants.MAX_LENGTH_CONSTANT || 
oauthParameters.getAuthorizationEndpoint().length() < 
EventBridgeConstants.MIN_LENGTH_CONSTANT) {
+                throw new 
EventBridgeException(EventBridgeErrorCode.AuthorizationEndpointLengthExceed);
             }
-            OAuthParameters oauthParameters = 
authParameters.getOauthParameters();
-            if (oauthParameters != null && 
AuthorizationTypeEnum.OAUTH_AUTH.getType().equals(authParameters.getAuthorizationType()))
 {
-                if 
(StringUtils.isBlank(oauthParameters.getAuthorizationEndpoint()) || 
StringUtils.isBlank(oauthParameters.getHttpMethod())) {
-                    throw new 
EventBridgeException(EventBridgeErrorCode.OAuthRequiredParameterIsEmpty);
-                }
-                if (oauthParameters.getAuthorizationEndpoint().length() > 
EventBridgeConstants.MAX_LENGTH_CONSTANT || 
oauthParameters.getAuthorizationEndpoint().length() < 
EventBridgeConstants.MIN_LENGTH_CONSTANT) {
-                    throw new 
EventBridgeException(EventBridgeErrorCode.AuthorizationEndpointLengthExceed);
+            if (oauthParameters.getClientParameters() != null) {
+                OAuthParameters.ClientParameters clientParameters = 
oauthParameters.getClientParameters();
+                if (StringUtils.isNotBlank(clientParameters.getClientID())
+                        && (clientParameters.getClientID().length() > 
EventBridgeConstants.MAX_LENGTH_CONSTANT
+                        || clientParameters.getClientID().length() < 
EventBridgeConstants.MIN_LENGTH_CONSTANT)) {
+                    throw new 
EventBridgeException(EventBridgeErrorCode.ClientIDLengthExceed);
                 }
-                if (oauthParameters.getClientParameters() != null) {
-                    OAuthParameters.ClientParameters clientParameters = 
oauthParameters.getClientParameters();
-                    if (StringUtils.isNotBlank(clientParameters.getClientID())
-                            && (clientParameters.getClientID().length() > 
EventBridgeConstants.MAX_LENGTH_CONSTANT
-                            || clientParameters.getClientID().length() < 
EventBridgeConstants.MIN_LENGTH_CONSTANT)) {
-                        throw new 
EventBridgeException(EventBridgeErrorCode.ClientIDLengthExceed);
-                    }
-                    if 
(StringUtils.isNotBlank(clientParameters.getClientSecret())
-                            && (clientParameters.getClientSecret().length() > 
EventBridgeConstants.MAX_LENGTH_CONSTANT
-                            || clientParameters.getClientSecret().length() < 
EventBridgeConstants.MIN_LENGTH_CONSTANT)) {
-                        throw new 
EventBridgeException(EventBridgeErrorCode.ClientSecretLengthExceed);
-                    }
+                if (StringUtils.isNotBlank(clientParameters.getClientSecret())
+                        && (clientParameters.getClientSecret().length() > 
EventBridgeConstants.MAX_LENGTH_CONSTANT
+                        || clientParameters.getClientSecret().length() < 
EventBridgeConstants.MIN_LENGTH_CONSTANT)) {
+                    throw new 
EventBridgeException(EventBridgeErrorCode.ClientSecretLengthExceed);
                 }
             }
         }
     }
 
+    private void checkApiKeyAuthParameters(AuthParameters authParameters) {
+        ApiKeyAuthParameters apiKeyAuthParameters = 
authParameters.getApiKeyAuthParameters();
+        if 
(AuthorizationTypeEnum.API_KEY_AUTH.getType().equals(authParameters.getAuthorizationType())
 && apiKeyAuthParameters == null) {
+            throw new 
EventBridgeException(EventBridgeErrorCode.ApiKeyRequiredParameterIsEmpty);
+        }
+        if (apiKeyAuthParameters != null && 
AuthorizationTypeEnum.API_KEY_AUTH.getType().equals(authParameters.getAuthorizationType()))
 {
+            if (StringUtils.isBlank(apiKeyAuthParameters.getApiKeyName()) || 
StringUtils.isBlank(apiKeyAuthParameters.getApiKeyValue())) {
+                throw new 
EventBridgeException(EventBridgeErrorCode.ApiKeyRequiredParameterIsEmpty);
+            }
+            String apiKeyName = apiKeyAuthParameters.getApiKeyName();
+            String apiKeyValue = apiKeyAuthParameters.getApiKeyValue();
+            if (apiKeyName.length() > EventBridgeConstants.MAX_LENGTH_CONSTANT 
|| apiKeyName.length() < EventBridgeConstants.MIN_LENGTH_CONSTANT) {
+                throw new 
EventBridgeException(EventBridgeErrorCode.ApiKeyNameLengthExceed);
+            }
+            if (apiKeyValue.length() > 
EventBridgeConstants.MAX_LENGTH_CONSTANT || apiKeyValue.length() < 
EventBridgeConstants.MIN_LENGTH_CONSTANT) {
+                throw new 
EventBridgeException(EventBridgeErrorCode.ApiKeyValueLengthExceed);
+            }
+        }
+    }
+
+    private void checkBasicAuthParameters(AuthParameters authParameters) {
+        BasicAuthParameters basicAuthParameters = 
authParameters.getBasicAuthParameters();
+        if 
(AuthorizationTypeEnum.BASIC_AUTH.getType().equals(authParameters.getAuthorizationType())
 && basicAuthParameters == null) {
+            throw new 
EventBridgeException(EventBridgeErrorCode.BasicRequiredParameterIsEmpty);
+        }
+        if (basicAuthParameters != null && 
AuthorizationTypeEnum.BASIC_AUTH.getType().equals(authParameters.getAuthorizationType()))
 {
+            if (StringUtils.isBlank(basicAuthParameters.getUsername()) || 
StringUtils.isBlank(basicAuthParameters.getPassword())) {
+                throw new 
EventBridgeException(EventBridgeErrorCode.BasicRequiredParameterIsEmpty);
+            }
+            String username = basicAuthParameters.getUsername();
+            String password = basicAuthParameters.getPassword();
+            if (username.length() > EventBridgeConstants.MAX_LENGTH_CONSTANT 
|| username.length() < EventBridgeConstants.MIN_LENGTH_CONSTANT) {
+                throw new 
EventBridgeException(EventBridgeErrorCode.BasicUserNameLengthExceed);
+            }
+            if (password.length() > EventBridgeConstants.MAX_LENGTH_CONSTANT 
|| password.length() < EventBridgeConstants.MIN_LENGTH_CONSTANT) {
+                throw new 
EventBridgeException(EventBridgeErrorCode.BasicPassWordLengthExceed);
+            }
+        }
+    }
+
     @Transactional(rollbackFor = Exception.class, propagation = 
Propagation.REQUIRED)
     public void deleteConnection(String accountId, String connectionName) {
         if (CollectionUtils.isEmpty(checkConnection(accountId, 
connectionName))) {
@@ -318,5 +339,12 @@ public class ConnectionService extends 
AbstractResourceService {
         if (check) {
             throw new 
EventBridgeException(EventBridgeErrorCode.ConnectionNetworkParametersInvalid);
         }
+        if (NetworkTypeEnum.PRIVATE_NETWORK.getNetworkType().equals(type)) {
+            if (StringUtils.isBlank(networkParameters.getVpcId())
+                    || StringUtils.isBlank(networkParameters.getVswitcheId())
+                    || 
StringUtils.isBlank(networkParameters.getSecurityGroupId())) {
+                throw new 
EventBridgeException(EventBridgeErrorCode.NetworkParametersIsEmpty);
+            }
+        }
     }
 }

Reply via email to