diff --git a/apps/emqx_bridge_syskeeper/src/emqx_bridge_syskeeper.app.src b/apps/emqx_bridge_syskeeper/src/emqx_bridge_syskeeper.app.src index 8ac88b9bd..4f461ab4e 100644 --- a/apps/emqx_bridge_syskeeper/src/emqx_bridge_syskeeper.app.src +++ b/apps/emqx_bridge_syskeeper/src/emqx_bridge_syskeeper.app.src @@ -1,13 +1,19 @@ {application, emqx_bridge_syskeeper, [ {description, "EMQX Enterprise Data bridge for Syskeeper"}, - {vsn, "0.1.1"}, + {vsn, "0.1.2"}, {registered, []}, {applications, [ kernel, stdlib, emqx_resource ]}, - {env, []}, + {env, [ + {emqx_action_info_modules, [emqx_bridge_syskeeper_action_info]}, + {emqx_connector_info_modules, [ + emqx_bridge_syskeeper_connector_info, + emqx_bridge_syskeeper_proxy_connector_info + ]} + ]}, {modules, []}, {links, []} ]}. diff --git a/apps/emqx_bridge_syskeeper/src/emqx_bridge_syskeeper_connector_info.erl b/apps/emqx_bridge_syskeeper/src/emqx_bridge_syskeeper_connector_info.erl new file mode 100644 index 000000000..5dac5fcdd --- /dev/null +++ b/apps/emqx_bridge_syskeeper/src/emqx_bridge_syskeeper_connector_info.erl @@ -0,0 +1,46 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2023-2024 EMQ Technologies Co., Ltd. All Rights Reserved. +%%-------------------------------------------------------------------- +-module(emqx_bridge_syskeeper_connector_info). + +-behaviour(emqx_connector_info). + +-export([ + type_name/0, + bridge_types/0, + resource_callback_module/0, + config_transform_module/0, + config_schema/0, + schema_module/0, + api_schema/1 +]). + +type_name() -> + syskeeper_forwarder. + +bridge_types() -> + [syskeeper_forwarder]. + +resource_callback_module() -> + emqx_bridge_syskeeper_connector. + +config_transform_module() -> + emqx_bridge_syskeeper_connector. + +config_schema() -> + {syskeeper_forwarder, + hoconsc:mk( + hoconsc:map(name, hoconsc:ref(emqx_bridge_syskeeper_connector, config)), + #{ + desc => <<"Syskeeper Connector Config">>, + required => false + } + )}. + +schema_module() -> + emqx_bridge_syskeeper_connector. + +api_schema(Method) -> + emqx_connector_schema:api_ref( + emqx_bridge_syskeeper_connector, <<"syskeeper_forwarder">>, Method + ). diff --git a/apps/emqx_bridge_syskeeper/src/emqx_bridge_syskeeper_proxy_connector_info.erl b/apps/emqx_bridge_syskeeper/src/emqx_bridge_syskeeper_proxy_connector_info.erl new file mode 100644 index 000000000..cd0bf2428 --- /dev/null +++ b/apps/emqx_bridge_syskeeper/src/emqx_bridge_syskeeper_proxy_connector_info.erl @@ -0,0 +1,47 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2022-2024 EMQ Technologies Co., Ltd. All Rights Reserved. +%%-------------------------------------------------------------------- + +-module(emqx_bridge_syskeeper_proxy_connector_info). + +-behaviour(emqx_connector_info). + +-export([ + type_name/0, + bridge_types/0, + resource_callback_module/0, + config_transform_module/0, + config_schema/0, + schema_module/0, + api_schema/1 +]). + +type_name() -> + syskeeper_proxy. + +bridge_types() -> + []. + +resource_callback_module() -> + emqx_bridge_syskeeper_proxy_server. + +config_transform_module() -> + emqx_bridge_syskeeper_proxy. + +config_schema() -> + {syskeeper_proxy, + hoconsc:mk( + hoconsc:map(name, hoconsc:ref(emqx_bridge_syskeeper_proxy, config)), + #{ + desc => <<"Syskeeper Proxy Connector Config">>, + required => false + } + )}. + +schema_module() -> + emqx_bridge_syskeeper_proxy. + +api_schema(Method) -> + emqx_connector_schema:api_ref( + emqx_bridge_syskeeper_proxy, <<"syskeeper_proxy">>, Method + ). diff --git a/apps/emqx_connector/src/emqx_connector_info.erl b/apps/emqx_connector/src/emqx_connector_info.erl index 18f952733..bc80ed6c7 100644 --- a/apps/emqx_connector/src/emqx_connector_info.erl +++ b/apps/emqx_connector/src/emqx_connector_info.erl @@ -75,7 +75,9 @@ hard_coded_connector_info_modules_ee() -> emqx_bridge_clickhouse_connector_info, emqx_bridge_mysql_connector_info, emqx_bridge_redis_connector_info, - emqx_bridge_rocketmq_connector_info + emqx_bridge_rocketmq_connector_info, + emqx_bridge_syskeeper_connector_info, + emqx_bridge_syskeeper_proxy_connector_info ]. -else. hard_coded_connector_info_modules_ee() -> diff --git a/apps/emqx_connector/src/schema/emqx_connector_ee_schema.erl b/apps/emqx_connector/src/schema/emqx_connector_ee_schema.erl index 60c94625d..0db605bfe 100644 --- a/apps/emqx_connector/src/schema/emqx_connector_ee_schema.erl +++ b/apps/emqx_connector/src/schema/emqx_connector_ee_schema.erl @@ -21,10 +21,6 @@ resource_type(Type) when is_binary(Type) -> resource_type(binary_to_atom(Type, utf8)); -resource_type(syskeeper_forwarder) -> - emqx_bridge_syskeeper_connector; -resource_type(syskeeper_proxy) -> - emqx_bridge_syskeeper_proxy_server; resource_type(sqlserver) -> emqx_bridge_sqlserver_connector; resource_type(iotdb) -> @@ -71,22 +67,6 @@ fields(connectors) -> connector_structs() -> [ - {syskeeper_forwarder, - mk( - hoconsc:map(name, ref(emqx_bridge_syskeeper_connector, config)), - #{ - desc => <<"Syskeeper Connector Config">>, - required => false - } - )}, - {syskeeper_proxy, - mk( - hoconsc:map(name, ref(emqx_bridge_syskeeper_proxy, config)), - #{ - desc => <<"Syskeeper Proxy Connector Config">>, - required => false - } - )}, {sqlserver, mk( hoconsc:map(name, ref(emqx_bridge_sqlserver, "config_connector")), @@ -163,8 +143,6 @@ connector_structs() -> schema_modules() -> [ - emqx_bridge_syskeeper_connector, - emqx_bridge_syskeeper_proxy, emqx_bridge_sqlserver, emqx_postgresql_connector_schema, emqx_bridge_iotdb_connector, @@ -181,8 +159,6 @@ api_schemas(Method) -> [ %% We need to map the `type' field of a request (binary) to a %% connector schema module. - api_ref(emqx_bridge_syskeeper_connector, <<"syskeeper_forwarder">>, Method), - api_ref(emqx_bridge_syskeeper_proxy, <<"syskeeper_proxy">>, Method), api_ref(emqx_bridge_sqlserver, <<"sqlserver">>, Method ++ "_connector"), api_ref(emqx_bridge_iotdb_connector, <<"iotdb">>, Method), api_ref(emqx_bridge_es_connector, <<"elasticsearch">>, Method), diff --git a/apps/emqx_connector/src/schema/emqx_connector_schema.erl b/apps/emqx_connector/src/schema/emqx_connector_schema.erl index 327e305e4..529de41a0 100644 --- a/apps/emqx_connector/src/schema/emqx_connector_schema.erl +++ b/apps/emqx_connector/src/schema/emqx_connector_schema.erl @@ -122,10 +122,6 @@ connector_info_schema_modules() -> %% @doc Return old bridge(v1) and/or connector(v2) type %% from the latest connector type name. -connector_type_to_bridge_types(syskeeper_forwarder) -> - [syskeeper_forwarder]; -connector_type_to_bridge_types(syskeeper_proxy) -> - []; connector_type_to_bridge_types(sqlserver) -> [sqlserver]; connector_type_to_bridge_types(iotdb) ->