fix(mongodb_action): make `batch_size` hidden and fixed in the API

Fixes https://emqx.atlassian.net/browse/ED-1171

The old bridge schema already had this override, but it had not been ported to actions.
This commit is contained in:
Thales Macedo Garitezi 2024-01-12 09:37:20 -03:00
parent d1ae6f5195
commit a5e7db793b
4 changed files with 25 additions and 6 deletions

View File

@ -50,8 +50,8 @@
]). ]).
-export([ -export([
make_producer_action_schema/1, make_producer_action_schema/1, make_producer_action_schema/2,
make_consumer_action_schema/1, make_consumer_action_schema/1, make_consumer_action_schema/2,
top_level_common_action_keys/0, top_level_common_action_keys/0,
project_to_actions_resource_opts/1 project_to_actions_resource_opts/1
]). ]).
@ -282,12 +282,19 @@ top_level_common_action_keys() ->
%%====================================================================================== %%======================================================================================
make_producer_action_schema(ActionParametersRef) -> make_producer_action_schema(ActionParametersRef) ->
make_producer_action_schema(ActionParametersRef, _Opts = #{}).
make_producer_action_schema(ActionParametersRef, Opts) ->
[ [
{local_topic, mk(binary(), #{required => false, desc => ?DESC(mqtt_topic)})} {local_topic, mk(binary(), #{required => false, desc => ?DESC(mqtt_topic)})}
| make_consumer_action_schema(ActionParametersRef) | make_consumer_action_schema(ActionParametersRef, Opts)
]. ].
make_consumer_action_schema(ActionParametersRef) -> make_consumer_action_schema(ActionParametersRef) ->
make_consumer_action_schema(ActionParametersRef, _Opts = #{}).
make_consumer_action_schema(ActionParametersRef, Opts) ->
ResourceOptsRef = maps:get(resource_opts_ref, Opts, ref(?MODULE, resource_opts)),
[ [
{enable, mk(boolean(), #{desc => ?DESC("config_enable"), default => true})}, {enable, mk(boolean(), #{desc => ?DESC("config_enable"), default => true})},
{connector, {connector,
@ -297,7 +304,7 @@ make_consumer_action_schema(ActionParametersRef) ->
{description, emqx_schema:description_schema()}, {description, emqx_schema:description_schema()},
{parameters, ActionParametersRef}, {parameters, ActionParametersRef},
{resource_opts, {resource_opts,
mk(ref(?MODULE, resource_opts), #{ mk(ResourceOptsRef, #{
default => #{}, default => #{},
desc => ?DESC(emqx_resource_schema, "resource_opts") desc => ?DESC(emqx_resource_schema, "resource_opts")
})} })}

View File

@ -1,6 +1,6 @@
{application, emqx_bridge_mongodb, [ {application, emqx_bridge_mongodb, [
{description, "EMQX Enterprise MongoDB Bridge"}, {description, "EMQX Enterprise MongoDB Bridge"},
{vsn, "0.2.2"}, {vsn, "0.2.3"},
{registered, []}, {registered, []},
{applications, [ {applications, [
kernel, kernel,

View File

@ -86,7 +86,8 @@ fields(mongodb_action) ->
emqx_bridge_v2_schema:make_producer_action_schema( emqx_bridge_v2_schema:make_producer_action_schema(
mk(ref(?MODULE, action_parameters), #{ mk(ref(?MODULE, action_parameters), #{
required => true, desc => ?DESC(action_parameters) required => true, desc => ?DESC(action_parameters)
}) }),
#{resource_opts_ref => ref(?MODULE, action_resource_opts)}
); );
fields(action_parameters) -> fields(action_parameters) ->
[ [
@ -95,6 +96,14 @@ fields(action_parameters) ->
]; ];
fields(connector_resource_opts) -> fields(connector_resource_opts) ->
emqx_connector_schema:resource_opts_fields(); emqx_connector_schema:resource_opts_fields();
fields(action_resource_opts) ->
emqx_bridge_v2_schema:resource_opts_fields([
{batch_size, #{
importance => ?IMPORTANCE_HIDDEN,
converter => fun(_, _) -> 1 end,
desc => ?DESC("batch_size")
}}
]);
fields(resource_opts) -> fields(resource_opts) ->
fields("creation_opts"); fields("creation_opts");
fields(mongodb_rs) -> fields(mongodb_rs) ->
@ -213,6 +222,8 @@ desc("creation_opts") ->
?DESC(emqx_resource_schema, "creation_opts"); ?DESC(emqx_resource_schema, "creation_opts");
desc(resource_opts) -> desc(resource_opts) ->
?DESC(emqx_resource_schema, "resource_opts"); ?DESC(emqx_resource_schema, "resource_opts");
desc(action_resource_opts) ->
?DESC(emqx_resource_schema, "resource_opts");
desc(connector_resource_opts) -> desc(connector_resource_opts) ->
?DESC(emqx_resource_schema, "resource_opts"); ?DESC(emqx_resource_schema, "resource_opts");
desc(mongodb_rs) -> desc(mongodb_rs) ->

View File

@ -0,0 +1 @@
Removed the `resource_opts.batch_size` field from the MongoDB Action schema, as it's still not supported.