chore(message transformation): allow empty operation list

Fixes https://emqx.atlassian.net/browse/EMQX-12682
This commit is contained in:
Thales Macedo Garitezi 2024-07-11 12:17:53 -03:00
parent 01d89be743
commit 5f595966d8
2 changed files with 4 additions and 15 deletions

View File

@ -108,8 +108,7 @@ fields(transformation) ->
hoconsc:array(ref(operation)),
#{
desc => ?DESC("operation"),
required => true,
validator => fun validate_operations/1
default => []
}
)}
];
@ -253,11 +252,6 @@ validate_unique_topics(Topics) ->
{error, Msg}
end.
validate_operations([]) ->
{error, <<"at least one operation must be defined">>};
validate_operations([_ | _]) ->
ok.
compile_variform(Expression, #{make_serializable := true}) ->
case is_binary(Expression) of
true ->

View File

@ -114,14 +114,9 @@ schema_test_() ->
transformation(<<"foo">>, [dummy_operation()])
])
)},
{"operations must be non-empty",
?_assertThrow(
{_Schema, [
#{
reason := <<"at least one operation must be defined">>,
kind := validation_error
}
]},
{"operations may be empty",
?_assertMatch(
[#{<<"operations">> := []}],
parse_and_check([
transformation(
<<"foo">>,