From 0d335456a910d3c3b661e21614b9a062487852a9 Mon Sep 17 00:00:00 2001 From: DDDHuang <44492639+DDDHuang@users.noreply.github.com> Date: Tue, 26 Apr 2022 18:04:28 +0800 Subject: [PATCH] feat: app api support show expired --- .../emqx_management/src/emqx_mgmt_api_app.erl | 3 ++- apps/emqx_management/src/emqx_mgmt_auth.erl | 25 +++++++++++-------- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/apps/emqx_management/src/emqx_mgmt_api_app.erl b/apps/emqx_management/src/emqx_mgmt_api_app.erl index 3668a4aea..5649b1ca0 100644 --- a/apps/emqx_management/src/emqx_mgmt_api_app.erl +++ b/apps/emqx_management/src/emqx_mgmt_api_app.erl @@ -141,7 +141,8 @@ fields(app) -> binary(), #{example => <<"Note">>, required => false} )}, - {enable, hoconsc:mk(boolean(), #{desc => "Enable/Disable", required => false})} + {enable, hoconsc:mk(boolean(), #{desc => "Enable/Disable", required => false})}, + {expired, hoconsc:mk(boolean(), #{desc => "Expired", required => false})} ]; fields(name) -> [ diff --git a/apps/emqx_management/src/emqx_mgmt_auth.erl b/apps/emqx_management/src/emqx_mgmt_auth.erl index cb9c4e7ab..6a8ca561f 100644 --- a/apps/emqx_management/src/emqx_mgmt_auth.erl +++ b/apps/emqx_management/src/emqx_mgmt_auth.erl @@ -129,17 +129,20 @@ ensure_not_undefined(undefined, Old) -> Old; ensure_not_undefined(New, _Old) -> New. to_map(Apps) when is_list(Apps) -> - Fields = record_info(fields, ?APP), - lists:map( - fun(Trace0 = #?APP{}) -> - [_ | Values] = tuple_to_list(Trace0), - maps:remove(api_secret_hash, maps:from_list(lists:zip(Fields, Values))) - end, - Apps - ); -to_map(App0) -> - [App] = to_map([App0]), - App. + [to_map(App) || App <- Apps]; +to_map(#?APP{name = N, api_key = K, enable = E, expired_at = ET, created_at = CT, desc = D}) -> + #{ + name => N, + api_key => K, + enable => E, + expired_at => ET, + created_at => CT, + desc => D, + expired => is_expired(ET) + }. + +is_expired(undefined) -> false; +is_expired(ExpiredTime) -> ExpiredTime < erlang:system_time(second). create_app(Name, Enable, ExpiredAt, Desc) -> ApiSecret = generate_api_secret(),