fix(bridge_schema): ensure atom exists

This commit is contained in:
Zaiming Shi 2021-09-04 23:06:12 +02:00
parent 6f99f14540
commit 687114eeb1
1 changed files with 7 additions and 8 deletions

View File

@ -14,13 +14,12 @@ fields("emqx_data_bridge") ->
[{bridges, #{type => hoconsc:array(hoconsc:union(?BRIDGES)), [{bridges, #{type => hoconsc:array(hoconsc:union(?BRIDGES)),
default => []}}]; default => []}}];
fields(mysql) -> connector_fields(mysql); fields(mysql) -> connector_fields(emqx_connector_mysql, mysql);
fields(pgsql) -> connector_fields(pgsql); fields(pgsql) -> connector_fields(emqx_connector_pgsql, pgsql);
fields(mongo) -> connector_fields(mongo); fields(mongo) -> connector_fields(emqx_connector_mongo, mongo);
fields(redis) -> connector_fields(redis); fields(redis) -> connector_fields(emqx_connector_redis, redis);
fields(ldap) -> connector_fields(ldap). fields(ldap) -> connector_fields(emqx_connector_ldap, ldap).
connector_fields(DB) -> connector_fields(ConnectModule, DB) ->
Mod = list_to_existing_atom(io_lib:format("~s_~s",[emqx_connector, DB])),
[{name, hoconsc:mk(typerefl:binary())}, [{name, hoconsc:mk(typerefl:binary())},
{type, #{type => DB}}] ++ Mod:roots(). {type, #{type => DB}}] ++ ConnectModule:roots().