diff options
| author | wangwei <[email protected]> | 2024-11-05 17:55:44 +0800 |
|---|---|---|
| committer | wangwei <[email protected]> | 2024-11-05 17:55:44 +0800 |
| commit | ad32855bd20e5792303215e6e04829cc27f3c21f (patch) | |
| tree | c446fc0aa360afc08b794463502f7a2994c74402 | |
| parent | 1479d02c1ae5b0d01b75bcfbcda35a85ad9a4865 (diff) | |
[Fix][database] 支持Schema is_encrypted更新操作(TSG-22629)
| -rw-r--r-- | src/main/java/com/mesalab/qgw/controller/DatabaseController.java | 5 | ||||
| -rw-r--r-- | src/main/java/com/mesalab/qgw/service/impl/DatabaseServiceImpl.java | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/main/java/com/mesalab/qgw/controller/DatabaseController.java b/src/main/java/com/mesalab/qgw/controller/DatabaseController.java index e6d89cf1..d0255482 100644 --- a/src/main/java/com/mesalab/qgw/controller/DatabaseController.java +++ b/src/main/java/com/mesalab/qgw/controller/DatabaseController.java @@ -37,6 +37,7 @@ public class DatabaseController { private DatabaseService databaseService; private final static HashSet<String> VISIBILITY = Sets.newHashSet("enabled", "hidden", "disabled"); + private final static HashSet<String> IS_ENCRYPTED = Sets.newHashSet("true", "false"); @RequestMapping(value = "/table/{table_name}/schema", method = RequestMethod.GET, consumes = "application/x-www-form-urlencoded") @@ -138,6 +139,10 @@ public class DatabaseController { throw new QGWBusinessException(HttpStatusCodeEnum.BAD_REQUEST.getCode(), CommonErrorCode.PARAMETER_ERROR.getCode(), String.format(CommonErrorCode.PARAMETER_ERROR.getMessage(), QGWMessageConst.SCHEMA_ERROR_VISIBILITY_VALUE)); } + if (!IS_ENCRYPTED.containsAll(JsonPath.read(param, "$.fields[?(@.doc.is_encrypted != null)].doc.is_encrypted"))) { + throw new QGWBusinessException(HttpStatusCodeEnum.BAD_REQUEST.getCode(), CommonErrorCode.PARAMETER_ERROR.getCode(), + String.format(CommonErrorCode.PARAMETER_ERROR.getMessage(), QGWMessageConst.SCHEMA_ERROR_VISIBILITY_VALUE)); + } List<Object> schemaDocTTL = JsonPath.read(param, "$.[?(@.doc.ttl != null)].doc.ttl"); if (StringUtil.isNotEmpty(schemaDocTTL.stream().filter(o -> !(NumberUtil.isLong(String.valueOf(o)))).toArray())) { throw new QGWBusinessException(HttpStatusCodeEnum.BAD_REQUEST.getCode(), CommonErrorCode.PARAMETER_ERROR.getCode(), diff --git a/src/main/java/com/mesalab/qgw/service/impl/DatabaseServiceImpl.java b/src/main/java/com/mesalab/qgw/service/impl/DatabaseServiceImpl.java index fc8f44be..f437e993 100644 --- a/src/main/java/com/mesalab/qgw/service/impl/DatabaseServiceImpl.java +++ b/src/main/java/com/mesalab/qgw/service/impl/DatabaseServiceImpl.java @@ -422,6 +422,7 @@ public class DatabaseServiceImpl implements DatabaseService, EnvironmentAware { field.put("doc", rewriteDoc("ttl", field.get("doc"), JsonPath.read(paramMap, "$.fields[?(@.name == \"" + field.get("name") + "\")].doc"))); } field.put("doc", rewriteDoc("visibility", field.get("doc"), JsonPath.read(paramMap, "$.fields[?(@.name == \"" + field.get("name") + "\")].doc"))); + field.put("doc", rewriteDoc("is_encrypted", field.get("doc"), JsonPath.read(paramMap, "$.fields[?(@.name == \"" + field.get("name") + "\")].doc"))); } content = JSON.toJSONString(data, JSONWriter.Feature.WriteNulls); log.info("push Schema, content is: {}", content); |
