Merge pull request #12480 from lafirest/fix/td_v1_schema

fix(tdengine): keep the bridge schema still compatible with v1
This commit is contained in:
lafirest 2024-02-05 18:17:55 +08:00 committed by GitHub
commit 571786b6c5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 10 additions and 7 deletions

View File

@ -47,16 +47,13 @@ roots() ->
[{config, #{type => hoconsc:ref(?MODULE, config)}}]. [{config, #{type => hoconsc:ref(?MODULE, config)}}].
fields(config) -> fields(config) ->
[ base_config(true);
{server, server()}
| adjust_fields(emqx_connector_schema_lib:relational_db_fields())
];
%%===================================================================== %%=====================================================================
%% V2 Hocon schema %% V2 Hocon schema
fields("config_connector") -> fields("config_connector") ->
emqx_connector_schema:common_fields() ++ emqx_connector_schema:common_fields() ++
fields(config) ++ base_config(false) ++
emqx_connector_schema:resource_opts_ref(?MODULE, connector_resource_opts); emqx_connector_schema:resource_opts_ref(?MODULE, connector_resource_opts);
fields(connector_resource_opts) -> fields(connector_resource_opts) ->
emqx_connector_schema:resource_opts_fields(); emqx_connector_schema:resource_opts_fields();
@ -67,6 +64,12 @@ fields("put") ->
fields("get") -> fields("get") ->
emqx_bridge_schema:status_fields() ++ fields("post"). emqx_bridge_schema:status_fields() ++ fields("post").
base_config(HasDatabase) ->
[
{server, server()}
| adjust_fields(emqx_connector_schema_lib:relational_db_fields(), HasDatabase)
].
desc(config) -> desc(config) ->
?DESC("desc_config"); ?DESC("desc_config");
desc(connector_resource_opts) -> desc(connector_resource_opts) ->
@ -78,7 +81,7 @@ desc(Method) when Method =:= "get"; Method =:= "put"; Method =:= "post" ->
desc(_) -> desc(_) ->
undefined. undefined.
adjust_fields(Fields) -> adjust_fields(Fields, HasDatabase) ->
lists:filtermap( lists:filtermap(
fun fun
({username, OrigUsernameFn}) -> ({username, OrigUsernameFn}) ->
@ -86,7 +89,7 @@ adjust_fields(Fields) ->
({password, _}) -> ({password, _}) ->
{true, {password, emqx_connector_schema_lib:password_field(#{required => true})}}; {true, {password, emqx_connector_schema_lib:password_field(#{required => true})}};
({database, _}) -> ({database, _}) ->
false; HasDatabase;
(_Field) -> (_Field) ->
true true
end, end,