fix: schema fixes for connector and kafka as connector
This commit is contained in:
parent
64faf32842
commit
229bc0ee34
|
@ -18,7 +18,8 @@
|
||||||
-import(hoconsc, [mk/2, enum/1, ref/2]).
|
-import(hoconsc, [mk/2, enum/1, ref/2]).
|
||||||
|
|
||||||
-export([
|
-export([
|
||||||
conn_bridge_examples/1
|
conn_bridge_examples/1,
|
||||||
|
connector_examples/1
|
||||||
]).
|
]).
|
||||||
|
|
||||||
-export([
|
-export([
|
||||||
|
@ -34,6 +35,18 @@
|
||||||
%% -------------------------------------------------------------------------------------------------
|
%% -------------------------------------------------------------------------------------------------
|
||||||
%% api
|
%% api
|
||||||
|
|
||||||
|
connector_examples(_Method) ->
|
||||||
|
[
|
||||||
|
#{
|
||||||
|
<<"kafka">> => #{
|
||||||
|
summary => <<"Kafka Connector">>,
|
||||||
|
value => maps:merge(
|
||||||
|
#{name => <<"my_connector">>, type => <<"kafka">>}, values(common_config)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
].
|
||||||
|
|
||||||
conn_bridge_examples(Method) ->
|
conn_bridge_examples(Method) ->
|
||||||
[
|
[
|
||||||
#{
|
#{
|
||||||
|
@ -150,15 +163,19 @@ namespace() -> "bridge_kafka".
|
||||||
roots() -> ["config_consumer", "config_producer"].
|
roots() -> ["config_consumer", "config_producer"].
|
||||||
|
|
||||||
fields("post_" ++ Type) ->
|
fields("post_" ++ Type) ->
|
||||||
[type_field(), name_field() | fields("config_" ++ Type)];
|
[type_field(Type), name_field() | fields("config_" ++ Type)];
|
||||||
fields("put_" ++ Type) ->
|
fields("put_" ++ Type) ->
|
||||||
fields("config_" ++ Type);
|
fields("config_" ++ Type);
|
||||||
fields("get_" ++ Type) ->
|
fields("get_" ++ Type) ->
|
||||||
emqx_bridge_schema:status_fields() ++ fields("post_" ++ Type);
|
emqx_bridge_schema:status_fields() ++ fields("post_" ++ Type);
|
||||||
|
fields("config_connector") ->
|
||||||
|
fields(kafka_connector);
|
||||||
fields("config_producer") ->
|
fields("config_producer") ->
|
||||||
fields(kafka_producer);
|
fields(kafka_producer);
|
||||||
fields("config_consumer") ->
|
fields("config_consumer") ->
|
||||||
fields(kafka_consumer);
|
fields(kafka_consumer);
|
||||||
|
fields(kafka_connector) ->
|
||||||
|
fields("config");
|
||||||
fields(kafka_producer) ->
|
fields(kafka_producer) ->
|
||||||
fields("config") ++ fields(producer_opts);
|
fields("config") ++ fields(producer_opts);
|
||||||
fields(kafka_producer_action) ->
|
fields(kafka_producer_action) ->
|
||||||
|
@ -511,7 +528,9 @@ struct_names() ->
|
||||||
|
|
||||||
%% -------------------------------------------------------------------------------------------------
|
%% -------------------------------------------------------------------------------------------------
|
||||||
%% internal
|
%% internal
|
||||||
type_field() ->
|
type_field("connector") ->
|
||||||
|
{type, mk(enum([kafka]), #{required => true, desc => ?DESC("desc_type")})};
|
||||||
|
type_field(_) ->
|
||||||
{type,
|
{type,
|
||||||
%% TODO: rename `kafka' to `kafka_producer' after alias
|
%% TODO: rename `kafka' to `kafka_producer' after alias
|
||||||
%% support is added to hocon; keeping this as just `kafka' for
|
%% support is added to hocon; keeping this as just `kafka' for
|
||||||
|
|
|
@ -49,7 +49,7 @@ examples(Method) ->
|
||||||
end,
|
end,
|
||||||
Fun =
|
Fun =
|
||||||
fun(Module, Examples) ->
|
fun(Module, Examples) ->
|
||||||
ConnectorExamples = erlang:apply(Module, conn_bridge_examples, [Method]),
|
ConnectorExamples = erlang:apply(Module, connector_examples, [Method]),
|
||||||
lists:foldl(MergeFun, Examples, ConnectorExamples)
|
lists:foldl(MergeFun, Examples, ConnectorExamples)
|
||||||
end,
|
end,
|
||||||
lists:foldl(Fun, #{}, schema_modules()).
|
lists:foldl(Fun, #{}, schema_modules()).
|
||||||
|
@ -65,7 +65,7 @@ api_schemas(Method) ->
|
||||||
%% connector schema module.
|
%% connector schema module.
|
||||||
%% TODO: rename this to `kafka_producer' after alias support is added
|
%% TODO: rename this to `kafka_producer' after alias support is added
|
||||||
%% to hocon; keeping this as just `kafka' for backwards compatibility.
|
%% to hocon; keeping this as just `kafka' for backwards compatibility.
|
||||||
api_ref(emqx_bridge_kafka, <<"kafka">>, Method ++ "_producer")
|
api_ref(emqx_bridge_kafka, <<"kafka">>, Method ++ "_connector")
|
||||||
].
|
].
|
||||||
|
|
||||||
api_ref(Module, Type, Method) ->
|
api_ref(Module, Type, Method) ->
|
||||||
|
|
|
@ -223,8 +223,8 @@ api_schema(Method) ->
|
||||||
Broker = [
|
Broker = [
|
||||||
{Type, ref(Mod, Method)}
|
{Type, ref(Mod, Method)}
|
||||||
|| {Type, Mod} <- [
|
|| {Type, Mod} <- [
|
||||||
{<<"webhook">>, emqx_bridge_http_schema},
|
%% {<<"webhook">>, emqx_bridge_http_schema},
|
||||||
{<<"mqtt">>, emqx_bridge_mqtt_schema}
|
%% {<<"mqtt">>, emqx_bridge_mqtt_schema}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
EE = enterprise_api_schemas(Method),
|
EE = enterprise_api_schemas(Method),
|
||||||
|
|
Loading…
Reference in New Issue