emqx_access_control.hrl 1.6 KB

12345678910111213141516171819202122232425262728293031323334
  1. %%--------------------------------------------------------------------
  2. %% Copyright (c) 2022-2023 EMQ Technologies Co., Ltd. All Rights Reserved.
  3. %%
  4. %% Licensed under the Apache License, Version 2.0 (the "License");
  5. %% you may not use this file except in compliance with the License.
  6. %% You may obtain a copy of the License at
  7. %%
  8. %% http://www.apache.org/licenses/LICENSE-2.0
  9. %%
  10. %% Unless required by applicable law or agreed to in writing, software
  11. %% distributed under the License is distributed on an "AS IS" BASIS,
  12. %% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. %% See the License for the specific language governing permissions and
  14. %% limitations under the License.
  15. %%--------------------------------------------------------------------
  16. %% config root name all auth providers have to agree on.
  17. -define(EMQX_AUTHORIZATION_CONFIG_ROOT_NAME, "authorization").
  18. -define(EMQX_AUTHORIZATION_CONFIG_ROOT_NAME_ATOM, authorization).
  19. -define(EMQX_AUTHORIZATION_CONFIG_ROOT_NAME_BINARY, <<"authorization">>).
  20. -define(DEFAULT_ACTION_QOS, 0).
  21. -define(DEFAULT_ACTION_RETAIN, false).
  22. -define(AUTHZ_SUBSCRIBE(QOS), #{action_type => subscribe, qos => QOS}).
  23. -define(AUTHZ_SUBSCRIBE, ?AUTHZ_SUBSCRIBE(?DEFAULT_ACTION_QOS)).
  24. -define(AUTHZ_PUBLISH(QOS, RETAIN), #{action_type => publish, qos => QOS, retain => RETAIN}).
  25. -define(AUTHZ_PUBLISH(QOS), ?AUTHZ_PUBLISH(QOS, ?DEFAULT_ACTION_RETAIN)).
  26. -define(AUTHZ_PUBLISH, ?AUTHZ_PUBLISH(?DEFAULT_ACTION_QOS)).
  27. -define(authz_action(PUBSUB, QOS), #{action_type := PUBSUB, qos := QOS}).
  28. -define(authz_action(PUBSUB), ?authz_action(PUBSUB, _)).
  29. -define(authz_action, ?authz_action(_)).