Change from number to atom.

This commit is contained in:
Tony Garnock-Jones 2009-06-03 15:26:47 +01:00
parent c73554779a
commit 6d62e9c26a
2 changed files with 11 additions and 5 deletions

View File

@ -45,11 +45,13 @@
-ifdef(use_specs). -ifdef(use_specs).
-type(permission_atom() :: 'configure' | 'read' | 'write').
-spec(check_login/2 :: (binary(), binary()) -> user()). -spec(check_login/2 :: (binary(), binary()) -> user()).
-spec(user_pass_login/2 :: (username(), password()) -> user()). -spec(user_pass_login/2 :: (username(), password()) -> user()).
-spec(check_vhost_access/2 :: (user(), vhost()) -> 'ok'). -spec(check_vhost_access/2 :: (user(), vhost()) -> 'ok').
-spec(check_resource_access/3 :: -spec(check_resource_access/3 ::
(username(), r(atom()), non_neg_integer()) -> 'ok'). (username(), r(atom()), permission_atom()) -> 'ok').
-spec(add_user/2 :: (username(), password()) -> 'ok'). -spec(add_user/2 :: (username(), password()) -> 'ok').
-spec(delete_user/1 :: (username()) -> 'ok'). -spec(delete_user/1 :: (username()) -> 'ok').
-spec(change_password/2 :: (username(), password()) -> 'ok'). -spec(change_password/2 :: (username(), password()) -> 'ok').
@ -137,6 +139,10 @@ check_vhost_access(#user{username = Username}, VHostPath) ->
[VHostPath, Username]) [VHostPath, Username])
end. end.
permission_index(configure) -> #permission.configure;
permission_index(write) -> #permission.write;
permission_index(read) -> #permission.read.
check_resource_access(Username, check_resource_access(Username,
R = #resource{kind = exchange, name = <<"">>}, R = #resource{kind = exchange, name = <<"">>},
Permission) -> Permission) ->
@ -158,7 +164,7 @@ check_resource_access(Username,
[#user_permission{permission = P}] -> [#user_permission{permission = P}] ->
case regexp:match( case regexp:match(
binary_to_list(Name), binary_to_list(Name),
binary_to_list(element(Permission, P))) of binary_to_list(element(permission_index(Permission), P))) of
{match, _, _} -> true; {match, _, _} -> true;
nomatch -> false nomatch -> false
end end

View File

@ -231,13 +231,13 @@ clear_permission_cache() ->
ok. ok.
check_configure_permitted(Resource, #ch{ username = Username}) -> check_configure_permitted(Resource, #ch{ username = Username}) ->
check_resource_access(Username, Resource, #permission.configure). check_resource_access(Username, Resource, configure).
check_write_permitted(Resource, #ch{ username = Username}) -> check_write_permitted(Resource, #ch{ username = Username}) ->
check_resource_access(Username, Resource, #permission.write). check_resource_access(Username, Resource, write).
check_read_permitted(Resource, #ch{ username = Username}) -> check_read_permitted(Resource, #ch{ username = Username}) ->
check_resource_access(Username, Resource, #permission.read). check_resource_access(Username, Resource, read).
expand_queue_name_shortcut(<<>>, #ch{ most_recently_declared_queue = <<>> }) -> expand_queue_name_shortcut(<<>>, #ch{ most_recently_declared_queue = <<>> }) ->
rabbit_misc:protocol_error( rabbit_misc:protocol_error(