fix(auth mnesia api): fix api error when delete sources
This commit is contained in:
parent
d443d26fce
commit
4fa816fa97
|
@ -151,8 +151,9 @@ pre_config_update({{replace_once, Type}, Source}, Conf) when is_map(Source), is_
|
|||
Error -> Error
|
||||
end;
|
||||
pre_config_update({{delete_once, Type}, _Source}, Conf) when is_list(Conf) ->
|
||||
{_, Source} = find_source_by_type(Type),
|
||||
NConf = lists:delete(Source, Conf),
|
||||
{Index, _} = find_source_by_type(Type),
|
||||
{List1, List2} = lists:split(Index, Conf),
|
||||
NConf = lists:droplast(List1) ++ List2,
|
||||
case check_dup_types(NConf) of
|
||||
ok -> {ok, NConf};
|
||||
Error -> Error
|
||||
|
|
|
@ -336,11 +336,8 @@ sources(get, _) ->
|
|||
lists:append(AccIn, [Source#{annotations => #{status => healthy}}])
|
||||
end, [], emqx_authz:lookup()),
|
||||
{200, #{sources => Sources}};
|
||||
sources(post, #{body := #{<<"type">> := <<"file">>, <<"rules">> := Rules}}) when is_list(Rules) ->
|
||||
{ok, Filename} = write_file(filename:join([emqx:get_config([node, data_dir]), "acl.conf"]),
|
||||
erlang:list_to_bitstring([<<Rule/binary, "\n">> || Rule <- Rules])
|
||||
),
|
||||
|
||||
sources(post, #{body := #{<<"type">> := <<"file">>, <<"rules">> := Rules}}) ->
|
||||
{ok, Filename} = write_file(filename:join([emqx:get_config([node, data_dir]), "acl.conf"]), Rules),
|
||||
update_config(head, [#{type => file, enable => true, path => Filename}]);
|
||||
sources(post, #{body := Body}) when is_map(Body) ->
|
||||
update_config(head, [write_cert(Body)]);
|
||||
|
|
|
@ -219,6 +219,7 @@ t_api(_) ->
|
|||
end, Sources),
|
||||
{ok, 200, Result5} = request(get, uri(["authorization", "sources"]), []),
|
||||
?assertEqual([], get_sources(Result5)),
|
||||
?assertEqual([], emqx:get_config([authorization, sources])),
|
||||
ok.
|
||||
|
||||
t_move_source(_) ->
|
||||
|
|
Loading…
Reference in New Issue