fix(retainer): retainer message page read

This commit is contained in:
JimMoen 2022-05-05 15:57:37 +08:00
parent 97e778e797
commit 6895ce9978
1 changed files with 12 additions and 7 deletions

View File

@ -18,8 +18,7 @@
-behaviour(minirest_api). -behaviour(minirest_api).
-include_lib("emqx/include/emqx.hrl"). -include("emqx_retainer.hrl").
-include_lib("typerefl/include/types.hrl").
-include_lib("hocon/include/hoconsc.hrl"). -include_lib("hocon/include/hoconsc.hrl").
%% API %% API
@ -31,7 +30,7 @@
config/2 config/2
]). ]).
-import(hoconsc, [mk/2, ref/1, ref/2, array/1]). -import(hoconsc, [mk/1, mk/2, ref/1, ref/2, array/1]).
-import(emqx_dashboard_swagger, [error_codes/2]). -import(emqx_dashboard_swagger, [error_codes/2]).
%% 1MB = 1024 x 1024 %% 1MB = 1024 x 1024
@ -76,7 +75,10 @@ schema(?PREFIX ++ "/messages") ->
description => ?DESC(list_retained_api), description => ?DESC(list_retained_api),
parameters => page_params(), parameters => page_params(),
responses => #{ responses => #{
200 => mk(array(ref(message_summary)), #{desc => ?DESC(retained_list)}), 200 => [
{data, mk(array(ref(message_summary)), #{desc => ?DESC(retained_list)})},
{meta, mk(hoconsc:ref(emqx_dashboard_swagger, meta))}
],
400 => error_codes(['BAD_REQUEST'], ?DESC(unsupported_backend)) 400 => error_codes(['BAD_REQUEST'], ?DESC(unsupported_backend))
} }
} }
@ -163,10 +165,13 @@ config(put, #{body := Body}) ->
%% Interval Funcs %% Interval Funcs
%%------------------------------------------------------------------------------ %%------------------------------------------------------------------------------
lookup_retained(get, #{query_string := Qs}) -> lookup_retained(get, #{query_string := Qs}) ->
Page = maps:get(page, Qs, 1), Page = maps:get(<<"page">>, Qs, 1),
Limit = maps:get(page, Qs, emqx_mgmt:max_row_limit()), Limit = maps:get(<<"limit">>, Qs, emqx_mgmt:max_row_limit()),
{ok, Msgs} = emqx_retainer_mnesia:page_read(undefined, undefined, Page, Limit), {ok, Msgs} = emqx_retainer_mnesia:page_read(undefined, undefined, Page, Limit),
{200, [format_message(Msg) || Msg <- Msgs]}. {200, #{
data => [format_message(Msg) || Msg <- Msgs],
meta => #{page => Page, limit => Limit, count => emqx_retainer_mnesia:size(?TAB_MESSAGE)}
}}.
with_topic(get, #{bindings := Bindings}) -> with_topic(get, #{bindings := Bindings}) ->
Topic = maps:get(topic, Bindings), Topic = maps:get(topic, Bindings),