Skip to content

Commit 9cb475c

Browse files
dcorbachodumbbell
authored andcommitted
rabbit_db: Move missed vhost and user Mnesia-specific code
This should have been handled in #6430 but was missed unfortunately.
1 parent 4840ca9 commit 9cb475c

File tree

3 files changed

+32
-4
lines changed

3 files changed

+32
-4
lines changed

deps/rabbit/src/rabbit_auth_backend_internal.erl

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,10 @@ delete_user(Username, ActingUser) ->
300300
rabbit_types:error('not_found').
301301

302302
lookup_user(Username) ->
303-
rabbit_misc:dirty_read({rabbit_user, Username}).
303+
case rabbit_db_user:get(Username) of
304+
undefined -> {error, not_found};
305+
User -> {ok, User}
306+
end.
304307

305308
-spec exists(rabbit_types:username()) -> boolean().
306309

deps/rabbit/src/rabbit_db_user.erl

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
-export([create/1,
1515
update/2,
16+
get/1,
1617
get_all/0,
1718
with_fun_in_mnesia_tx/2,
1819
get_user_permissions/2,
@@ -89,6 +90,30 @@ update_in_mnesia_tx(Username, UpdateFun) ->
8990
mnesia:abort({no_such_user, Username})
9091
end.
9192

93+
%% -------------------------------------------------------------------
94+
%% get().
95+
%% -------------------------------------------------------------------
96+
97+
-spec get(Username) -> User | undefined when
98+
Username :: vhost:name(),
99+
User :: vhost:vhost().
100+
%% @doc Returns the record of the internal user named `Username'.
101+
%%
102+
%% @returns the internal user record or `undefined' if no internal user is named
103+
%% `Username'.
104+
%%
105+
%% @private
106+
107+
get(Username) when is_binary(Username) ->
108+
rabbit_db:run(
109+
#{mnesia => fun() -> get_in_mnesia(Username) end}).
110+
111+
get_in_mnesia(Username) ->
112+
case ets:lookup(?MNESIA_TABLE, Username) of
113+
[User] -> User;
114+
[] -> undefined
115+
end.
116+
92117
%% -------------------------------------------------------------------
93118
%% get_all().
94119
%% -------------------------------------------------------------------

deps/rabbit/src/rabbit_vhost.erl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -506,9 +506,9 @@ default_name() ->
506506

507507
-spec lookup(vhost:name()) -> vhost:vhost() | rabbit_types:ok_or_error(any()).
508508
lookup(VHostName) ->
509-
case rabbit_misc:dirty_read({rabbit_vhost, VHostName}) of
510-
{error, not_found} -> {error, {no_such_vhost, VHostName}};
511-
{ok, Record} -> Record
509+
case rabbit_db_vhost:get(VHostName) of
510+
undefined -> {error, {no_such_vhost, VHostName}};
511+
VHost -> VHost
512512
end.
513513

514514
-spec assert(vhost:name()) -> 'ok'.

0 commit comments

Comments
 (0)