From 9a78f812e1b7fb488458c31ead2a26ee0bd1b83b Mon Sep 17 00:00:00 2001 From: Zaiming Shi Date: Mon, 14 Jun 2021 20:34:51 +0200 Subject: [PATCH] fix(emqx_resource): fix schema schema definition --- apps/emqx/src/emqx_schema.erl | 1 - .../emqx_connector/src/emqx_connector_mysql.erl | 7 ++++++- apps/emqx_resource/src/emqx_resource_schema.erl | 17 +---------------- 3 files changed, 7 insertions(+), 18 deletions(-) diff --git a/apps/emqx/src/emqx_schema.erl b/apps/emqx/src/emqx_schema.erl index 3d2242aa7..2ad3d8829 100644 --- a/apps/emqx/src/emqx_schema.erl +++ b/apps/emqx/src/emqx_schema.erl @@ -1,6 +1,5 @@ -module(emqx_schema). -% tmp -dialyzer(no_return). -dialyzer(no_match). -dialyzer(no_contracts). diff --git a/apps/emqx_connector/src/emqx_connector_mysql.erl b/apps/emqx_connector/src/emqx_connector_mysql.erl index 6fbbe11c6..41e52cef3 100644 --- a/apps/emqx_connector/src/emqx_connector_mysql.erl +++ b/apps/emqx_connector/src/emqx_connector_mysql.erl @@ -18,7 +18,8 @@ -include_lib("typerefl/include/types.hrl"). -include_lib("emqx_resource/include/emqx_resource_behaviour.hrl"). --export([ schema/0 +-export([ structs/0 + , fields/1 ]). %% callbacks of behaviour emqx_resource @@ -34,6 +35,10 @@ -export([do_health_check/1]). %%===================================================================== + +structs() -> ["config"]. +fields("config") -> schema(). + schema() -> emqx_connector_schema_lib:relational_db_fields() ++ emqx_connector_schema_lib:ssl_fields(). diff --git a/apps/emqx_resource/src/emqx_resource_schema.erl b/apps/emqx_resource/src/emqx_resource_schema.erl index 62d9cb6bc..1de3e4f84 100644 --- a/apps/emqx_resource/src/emqx_resource_schema.erl +++ b/apps/emqx_resource/src/emqx_resource_schema.erl @@ -18,21 +18,6 @@ -export([check/2]). --export([structs/0, fields/1]). - --behaviour(hocon_schema). - check(SchemaMod, Conf) -> - _ = erlang:erase(res_schema_mod), - erlang:put(res_schema_mod, SchemaMod), - hocon_schema:check(?MODULE, Conf). + hocon_schema:check(SchemaMod, Conf, #{nullable => false}). -structs() -> ["config"]. - -fields("config") -> - [fun(type) -> "schema"; - (_) -> undefined - end]; -fields("schema") -> - SchemaMod = erlang:get(res_schema_mod), - SchemaMod:schema().