fix: alarms api page & limit parameters

This commit is contained in:
DDDHuang 2021-08-24 11:04:39 +08:00
parent 5c93c35559
commit f1ba482ed6
1 changed files with 14 additions and 26 deletions

View File

@ -49,7 +49,7 @@ alarms_api() ->
Metadata = #{ Metadata = #{
get => #{ get => #{
description => <<"EMQ X alarms">>, description => <<"EMQ X alarms">>,
parameters => [#{ parameters => emqx_mgmt_util:page_params() ++ [#{
name => activated, name => activated,
in => query, in => query,
description => <<"All alarms, if not specified">>, description => <<"All alarms, if not specified">>,
@ -69,26 +69,25 @@ alarms_api() ->
%%%============================================================================================== %%%==============================================================================================
%% parameters trans %% parameters trans
alarms(get, Request) -> alarms(get, Request) ->
case proplists:get_value(<<"activated">>, cowboy_req:parse_qs(Request), undefined) of Params = cowboy_req:parse_qs(Request),
undefined -> list(Params);
list(#{activated => undefined});
<<"true">> ->
list(#{activated => true});
<<"false">> ->
list(#{activated => false})
end;
alarms(delete, _Request) -> alarms(delete, _Request) ->
delete(). delete().
%%%============================================================================================== %%%==============================================================================================
%% api apply %% api apply
list(#{activated := true}) -> list(Params) ->
do_list(activated); {Table, Function} =
list(#{activated := false}) -> case proplists:get_value(<<"activated">>, Params, <<"true">>) of
do_list(deactivated); <<"true">> ->
list(#{activated := undefined}) -> {?ACTIVATED_ALARM, query_activated};
do_list(activated). <<"false">> ->
{?DEACTIVATED_ALARM, query_deactivated}
end,
Params1 = proplists:delete(<<"activated">>, Params),
Response = emqx_mgmt_api:cluster_query(Params1, {Table, []}, {?MODULE, Function}),
{200, Response}.
delete() -> delete() ->
_ = emqx_mgmt:delete_all_deactivated_alarms(), _ = emqx_mgmt:delete_all_deactivated_alarms(),
@ -96,17 +95,6 @@ delete() ->
%%%============================================================================================== %%%==============================================================================================
%% internal %% internal
do_list(Type) ->
{Table, Function} =
case Type of
activated ->
{?ACTIVATED_ALARM, query_activated};
deactivated ->
{?DEACTIVATED_ALARM, query_deactivated}
end,
Response = emqx_mgmt_api:cluster_query([], {Table, []}, {?MODULE, Function}),
{200, Response}.
query_activated(_, Start, Limit) -> query_activated(_, Start, Limit) ->
query(?ACTIVATED_ALARM, Start, Limit). query(?ACTIVATED_ALARM, Start, Limit).