feat(authn_scram): authn_scram users page query
This commit is contained in:
parent
c6ea575d35
commit
295b1312be
|
@ -38,7 +38,7 @@
|
||||||
, delete_user/2
|
, delete_user/2
|
||||||
, update_user/3
|
, update_user/3
|
||||||
, lookup_user/2
|
, lookup_user/2
|
||||||
, list_users/1
|
, list_users/2
|
||||||
]).
|
]).
|
||||||
|
|
||||||
-define(TAB, ?MODULE).
|
-define(TAB, ?MODULE).
|
||||||
|
@ -181,23 +181,21 @@ update_user(UserID, User,
|
||||||
salt = Salt}
|
salt = Salt}
|
||||||
end,
|
end,
|
||||||
mnesia:write(?TAB, UserInfo2, write),
|
mnesia:write(?TAB, UserInfo2, write),
|
||||||
{ok, serialize_user_info(UserInfo2)}
|
{ok, format_user_info(UserInfo2)}
|
||||||
end
|
end
|
||||||
end).
|
end).
|
||||||
|
|
||||||
lookup_user(UserID, #{user_group := UserGroup}) ->
|
lookup_user(UserID, #{user_group := UserGroup}) ->
|
||||||
case mnesia:dirty_read(?TAB, {UserGroup, UserID}) of
|
case mnesia:dirty_read(?TAB, {UserGroup, UserID}) of
|
||||||
[UserInfo] ->
|
[UserInfo] ->
|
||||||
{ok, serialize_user_info(UserInfo)};
|
{ok, format_user_info(UserInfo)};
|
||||||
[] ->
|
[] ->
|
||||||
{error, not_found}
|
{error, not_found}
|
||||||
end.
|
end.
|
||||||
|
|
||||||
%% TODO: Support Pagination
|
list_users(PageParams, #{user_group := UserGroup}) ->
|
||||||
list_users(#{user_group := UserGroup}) ->
|
MatchSpec = [{{user_info, {UserGroup, '_'}, '_', '_', '_', '_'}, [], ['$_']}],
|
||||||
Users = [serialize_user_info(UserInfo) ||
|
{ok, emqx_mgmt_api:paginate(?TAB, MatchSpec, PageParams, fun format_user_info/1)}.
|
||||||
#user_info{user_id = {UserGroup0, _}} = UserInfo <- ets:tab2list(?TAB), UserGroup0 =:= UserGroup],
|
|
||||||
{ok, Users}.
|
|
||||||
|
|
||||||
%%------------------------------------------------------------------------------
|
%%------------------------------------------------------------------------------
|
||||||
%% Internal functions
|
%% Internal functions
|
||||||
|
@ -269,5 +267,5 @@ trans(Fun, Args) ->
|
||||||
{aborted, Reason} -> {error, Reason}
|
{aborted, Reason} -> {error, Reason}
|
||||||
end.
|
end.
|
||||||
|
|
||||||
serialize_user_info(#user_info{user_id = {_, UserID}, is_superuser = IsSuperuser}) ->
|
format_user_info(#user_info{user_id = {_, UserID}, is_superuser = IsSuperuser}) ->
|
||||||
#{user_id => UserID, is_superuser => IsSuperuser}.
|
#{user_id => UserID, is_superuser => IsSuperuser}.
|
||||||
|
|
Loading…
Reference in New Issue