From 6940a4174302a9fa552bd3aaae2fa11dda4ab543 Mon Sep 17 00:00:00 2001 From: k32 <10274441+k32@users.noreply.github.com> Date: Wed, 19 Jan 2022 11:43:09 +0100 Subject: [PATCH] refactor(emqx_mgmt): Decorate get_full_config RPC --- apps/emqx_management/src/emqx_mgmt_api_configs.erl | 4 ++-- apps/emqx_management/src/proto/emqx_management_proto_v1.erl | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/emqx_management/src/emqx_mgmt_api_configs.erl b/apps/emqx_management/src/emqx_mgmt_api_configs.erl index efab75791..599073704 100644 --- a/apps/emqx_management/src/emqx_mgmt_api_configs.erl +++ b/apps/emqx_management/src/emqx_mgmt_api_configs.erl @@ -158,12 +158,12 @@ configs(get, Params, _Req) -> case lists:member(Node, mria_mnesia:running_nodes()) andalso - rpc:call(Node, ?MODULE, get_full_config, []) + emqx_management_proto_v1:get_full_config(Node) of false -> Message = list_to_binary(io_lib:format("Bad node ~p, reason not found", [Node])), {500, #{code => 'BAD_NODE', message => Message}}; - {error, {badrpc, R}} -> + {badrpc, R} -> Message = list_to_binary(io_lib:format("Bad node ~p, reason ~p", [Node, R])), {500, #{code => 'BAD_NODE', message => Message}}; Res -> diff --git a/apps/emqx_management/src/proto/emqx_management_proto_v1.erl b/apps/emqx_management/src/proto/emqx_management_proto_v1.erl index d3d8ff989..306145ade 100644 --- a/apps/emqx_management/src/proto/emqx_management_proto_v1.erl +++ b/apps/emqx_management/src/proto/emqx_management_proto_v1.erl @@ -32,6 +32,8 @@ , unsubscribe/3 , call_client/3 + + , get_full_config/1 ]). -include_lib("emqx/include/bpapi.hrl"). @@ -77,3 +79,7 @@ unsubscribe(Node, ClientId, Topic) -> -spec call_client(node(), emqx_types:clientid(), term()) -> term(). call_client(Node, ClientId, Req) -> rpc:call(Node, emqx_mgmt, do_call_client, [ClientId, Req]). + +-spec get_full_config(node()) -> map() | list() | {badrpc, _}. +get_full_config(Node) -> + rpc:call(Node, emqx_mgmt_api_configs, get_full_config, []).