refactor(authz): unifined function names and var names
This commit is contained in:
parent
e659748153
commit
843e12ad16
|
@ -125,78 +125,76 @@ update({?CMD_DELETE, Type}, Sources) ->
|
||||||
update(Cmd, Sources) ->
|
update(Cmd, Sources) ->
|
||||||
emqx_authz_utils:update_config(?CONF_KEY_PATH, {Cmd, Sources}).
|
emqx_authz_utils:update_config(?CONF_KEY_PATH, {Cmd, Sources}).
|
||||||
|
|
||||||
do_update({?CMD_MOVE, Type, ?CMD_MOVE_FRONT}, Conf) when is_list(Conf) ->
|
pre_config_update(_, Cmd, Sources) ->
|
||||||
{Source, Front, Rear} = take(Type, Conf),
|
{ok, do_pre_config_update(Cmd, Sources)}.
|
||||||
|
|
||||||
|
do_pre_config_update({?CMD_MOVE, Type, ?CMD_MOVE_FRONT}, Sources) ->
|
||||||
|
{Source, Front, Rear} = take(Type, Sources),
|
||||||
[Source | Front] ++ Rear;
|
[Source | Front] ++ Rear;
|
||||||
do_update({?CMD_MOVE, Type, ?CMD_MOVE_REAR}, Conf) when is_list(Conf) ->
|
do_pre_config_update({?CMD_MOVE, Type, ?CMD_MOVE_REAR}, Sources) ->
|
||||||
{Source, Front, Rear} = take(Type, Conf),
|
{Source, Front, Rear} = take(Type, Sources),
|
||||||
Front ++ Rear ++ [Source];
|
Front ++ Rear ++ [Source];
|
||||||
do_update({?CMD_MOVE, Type, ?CMD_MOVE_BEFORE(Before)}, Conf) when is_list(Conf) ->
|
do_pre_config_update({?CMD_MOVE, Type, ?CMD_MOVE_BEFORE(Before)}, Sources) ->
|
||||||
{S1, Front1, Rear1} = take(Type, Conf),
|
{S1, Front1, Rear1} = take(Type, Sources),
|
||||||
{S2, Front2, Rear2} = take(Before, Front1 ++ Rear1),
|
{S2, Front2, Rear2} = take(Before, Front1 ++ Rear1),
|
||||||
Front2 ++ [S1, S2] ++ Rear2;
|
Front2 ++ [S1, S2] ++ Rear2;
|
||||||
do_update({?CMD_MOVE, Type, ?CMD_MOVE_AFTER(After)}, Conf) when is_list(Conf) ->
|
do_pre_config_update({?CMD_MOVE, Type, ?CMD_MOVE_AFTER(After)}, Sources) ->
|
||||||
{S1, Front1, Rear1} = take(Type, Conf),
|
{S1, Front1, Rear1} = take(Type, Sources),
|
||||||
{S2, Front2, Rear2} = take(After, Front1 ++ Rear1),
|
{S2, Front2, Rear2} = take(After, Front1 ++ Rear1),
|
||||||
Front2 ++ [S2, S1] ++ Rear2;
|
Front2 ++ [S2, S1] ++ Rear2;
|
||||||
do_update({?CMD_PREPEND, Sources}, Conf) when is_list(Sources), is_list(Conf) ->
|
do_pre_config_update({?CMD_PREPEND, NewSources}, Sources) ->
|
||||||
NConf = Sources ++ Conf,
|
NSources = NewSources ++ Sources,
|
||||||
ok = check_dup_types(NConf),
|
ok = check_dup_types(NSources),
|
||||||
NConf;
|
NSources;
|
||||||
do_update({?CMD_APPEND, Sources}, Conf) when is_list(Sources), is_list(Conf) ->
|
do_pre_config_update({?CMD_APPEND, NewSources}, Sources) ->
|
||||||
NConf = Conf ++ Sources,
|
NSources = Sources ++ NewSources,
|
||||||
ok = check_dup_types(NConf),
|
ok = check_dup_types(NSources),
|
||||||
NConf;
|
NSources;
|
||||||
do_update({{?CMD_REPLACE, Type}, #{<<"enable">> := Enable} = Source}, Conf)
|
do_pre_config_update({{?CMD_REPLACE, Type}, #{<<"enable">> := Enable} = Source}, Sources)
|
||||||
when is_map(Source), is_list(Conf), ?IS_ENABLED(Enable) ->
|
when ?IS_ENABLED(Enable) ->
|
||||||
case create_dry_run(Type, Source) of
|
case create_dry_run(Type, Source) of
|
||||||
ok ->
|
ok ->
|
||||||
{_Old, Front, Rear} = take(Type, Conf),
|
{_Old, Front, Rear} = take(Type, Sources),
|
||||||
NConf = Front ++ [Source | Rear],
|
NSources = Front ++ [Source | Rear],
|
||||||
ok = check_dup_types(NConf),
|
ok = check_dup_types(NSources),
|
||||||
NConf;
|
NSources;
|
||||||
{error, _} = Error -> Error
|
{error, _} = Error -> Error
|
||||||
end;
|
end;
|
||||||
do_update({{?CMD_REPLACE, Type}, Source}, Conf)
|
do_pre_config_update({{?CMD_REPLACE, Type}, Source}, Sources) ->
|
||||||
when is_map(Source), is_list(Conf) ->
|
{_Old, Front, Rear} = take(Type, Sources),
|
||||||
{_Old, Front, Rear} = take(Type, Conf),
|
NSources = Front ++ [Source | Rear],
|
||||||
NConf = Front ++ [Source | Rear],
|
ok = check_dup_types(NSources),
|
||||||
ok = check_dup_types(NConf),
|
NSources;
|
||||||
NConf;
|
do_pre_config_update({{?CMD_DELETE, Type}, _Source}, Sources) ->
|
||||||
do_update({{?CMD_DELETE, Type}, _Source}, Conf) when is_list(Conf) ->
|
{_Old, Front, Rear} = take(Type, Sources),
|
||||||
{_Old, Front, Rear} = take(Type, Conf),
|
NSources = Front ++ Rear,
|
||||||
NConf = Front ++ Rear,
|
NSources;
|
||||||
NConf;
|
do_pre_config_update({?CMD_REPLACE, Sources}, _OldSources) ->
|
||||||
do_update({_, Sources}, _Conf) when is_list(Sources)->
|
|
||||||
%% overwrite the entire config!
|
%% overwrite the entire config!
|
||||||
Sources;
|
Sources;
|
||||||
do_update({Op, Sources}, Conf) ->
|
do_pre_config_update({Op, Source}, Sources) ->
|
||||||
error({bad_request, #{op => Op, sources => Sources, conf => Conf}}).
|
error({bad_request, #{op => Op, source => Source, sources => Sources}}).
|
||||||
|
|
||||||
pre_config_update(_, Cmd, Conf) ->
|
post_config_update(_, _, undefined, _OldSource, _AppEnvs) ->
|
||||||
{ok, do_update(Cmd, Conf)}.
|
|
||||||
|
|
||||||
|
|
||||||
post_config_update(_, _, undefined, _Conf, _AppEnvs) ->
|
|
||||||
ok;
|
ok;
|
||||||
post_config_update(_, Cmd, NewSources, _OldSource, _AppEnvs) ->
|
post_config_update(_, Cmd, NewSources, _OldSource, _AppEnvs) ->
|
||||||
ok = do_post_update(Cmd, NewSources),
|
ok = do_post_config_update(Cmd, NewSources),
|
||||||
ok = emqx_authz_cache:drain_cache().
|
ok = emqx_authz_cache:drain_cache().
|
||||||
|
|
||||||
do_post_update({?CMD_MOVE, _Type, _Where} = Cmd, _NewSources) ->
|
do_post_config_update({?CMD_MOVE, _Type, _Where} = Cmd, _NewSources) ->
|
||||||
InitedSources = lookup(),
|
InitedSources = lookup(),
|
||||||
MovedSources = do_update(Cmd, InitedSources),
|
MovedSources = do_pre_config_update(Cmd, InitedSources),
|
||||||
ok = emqx_hooks:put('client.authorize', {?MODULE, authorize, [MovedSources]}, -1),
|
ok = emqx_hooks:put('client.authorize', {?MODULE, authorize, [MovedSources]}, -1),
|
||||||
ok = emqx_authz_cache:drain_cache();
|
ok = emqx_authz_cache:drain_cache();
|
||||||
do_post_update({?CMD_PREPEND, Sources}, _NewSources) ->
|
do_post_config_update({?CMD_PREPEND, Sources}, _NewSources) ->
|
||||||
InitedSources = init_sources(check_sources(Sources)),
|
InitedSources = init_sources(check_sources(Sources)),
|
||||||
ok = emqx_hooks:put('client.authorize', {?MODULE, authorize, [InitedSources ++ lookup()]}, -1),
|
ok = emqx_hooks:put('client.authorize', {?MODULE, authorize, [InitedSources ++ lookup()]}, -1),
|
||||||
ok = emqx_authz_cache:drain_cache();
|
ok = emqx_authz_cache:drain_cache();
|
||||||
do_post_update({?CMD_APPEND, Sources}, _NewSources) ->
|
do_post_config_update({?CMD_APPEND, Sources}, _NewSources) ->
|
||||||
InitedSources = init_sources(check_sources(Sources)),
|
InitedSources = init_sources(check_sources(Sources)),
|
||||||
emqx_hooks:put('client.authorize', {?MODULE, authorize, [lookup() ++ InitedSources]}, -1),
|
emqx_hooks:put('client.authorize', {?MODULE, authorize, [lookup() ++ InitedSources]}, -1),
|
||||||
ok = emqx_authz_cache:drain_cache();
|
ok = emqx_authz_cache:drain_cache();
|
||||||
do_post_update({{?CMD_REPLACE, Type}, Source}, _NewSources) when is_map(Source) ->
|
do_post_config_update({{?CMD_REPLACE, Type}, Source}, _NewSources) when is_map(Source) ->
|
||||||
OldInitedSources = lookup(),
|
OldInitedSources = lookup(),
|
||||||
{OldSource, Front, Rear} = take(Type, OldInitedSources),
|
{OldSource, Front, Rear} = take(Type, OldInitedSources),
|
||||||
ok = ensure_resource_deleted(OldSource),
|
ok = ensure_resource_deleted(OldSource),
|
||||||
|
@ -204,13 +202,13 @@ do_post_update({{?CMD_REPLACE, Type}, Source}, _NewSources) when is_map(Source)
|
||||||
ok = emqx_hooks:put( 'client.authorize'
|
ok = emqx_hooks:put( 'client.authorize'
|
||||||
, {?MODULE, authorize, [Front ++ InitedSources ++ Rear]}, -1),
|
, {?MODULE, authorize, [Front ++ InitedSources ++ Rear]}, -1),
|
||||||
ok = emqx_authz_cache:drain_cache();
|
ok = emqx_authz_cache:drain_cache();
|
||||||
do_post_update({{?CMD_DELETE, Type}, _Source}, _NewSources) ->
|
do_post_config_update({{?CMD_DELETE, Type}, _Source}, _NewSources) ->
|
||||||
OldInitedSources = lookup(),
|
OldInitedSources = lookup(),
|
||||||
{OldSource, Front, Rear} = take(Type, OldInitedSources),
|
{OldSource, Front, Rear} = take(Type, OldInitedSources),
|
||||||
ok = ensure_resource_deleted(OldSource),
|
ok = ensure_resource_deleted(OldSource),
|
||||||
ok = emqx_hooks:put('client.authorize', {?MODULE, authorize, [Front ++ Rear]}, -1),
|
ok = emqx_hooks:put('client.authorize', {?MODULE, authorize, [Front ++ Rear]}, -1),
|
||||||
ok = emqx_authz_cache:drain_cache();
|
ok = emqx_authz_cache:drain_cache();
|
||||||
do_post_update({?CMD_REPLACE, Sources}, _NewSources) ->
|
do_post_config_update({?CMD_REPLACE, Sources}, _NewSources) ->
|
||||||
%% overwrite the entire config!
|
%% overwrite the entire config!
|
||||||
OldInitedSources = lookup(),
|
OldInitedSources = lookup(),
|
||||||
InitedSources = init_sources(check_sources(Sources)),
|
InitedSources = init_sources(check_sources(Sources)),
|
||||||
|
@ -307,7 +305,7 @@ do_authorize(_Client, _PubSub, _Topic, []) ->
|
||||||
do_authorize(Client, PubSub, Topic, [#{enable := false} | Rest]) ->
|
do_authorize(Client, PubSub, Topic, [#{enable := false} | Rest]) ->
|
||||||
do_authorize(Client, PubSub, Topic, Rest);
|
do_authorize(Client, PubSub, Topic, Rest);
|
||||||
do_authorize(Client, PubSub, Topic,
|
do_authorize(Client, PubSub, Topic,
|
||||||
[Connector = #{type := Type} | Tail] ) ->
|
[Connector = #{type := Type} | Tail] ) ->
|
||||||
Module = authz_module(Type),
|
Module = authz_module(Type),
|
||||||
case Module:authorize(Client, PubSub, Topic, Connector) of
|
case Module:authorize(Client, PubSub, Topic, Connector) of
|
||||||
nomatch -> do_authorize(Client, PubSub, Topic, Tail);
|
nomatch -> do_authorize(Client, PubSub, Topic, Tail);
|
||||||
|
|
Loading…
Reference in New Issue