diff --git a/doc/vernemq_dev_api.html b/doc/vernemq_dev_api.html index 7131dc7..8467599 100644 --- a/doc/vernemq_dev_api.html +++ b/doc/vernemq_dev_api.html @@ -37,6 +37,7 @@
| disconnect_by_subscriber_id/2 | Disconnect a client by subscriber_id() |
| has_session/1 | Check if a subscriber_id() has an existing session. |
| unword_topic/1 | Convert a topic() list into an iolist()
which can be flattened into a binary. |
has_session(SId) -> true | false +
Check if a subscriber_id() has an existing session
unword_topic(Topic) -> iolist() diff --git a/src/vernemq_dev_api.erl b/src/vernemq_dev_api.erl index 222408f..9063f4e 100644 --- a/src/vernemq_dev_api.erl +++ b/src/vernemq_dev_api.erl @@ -17,6 +17,7 @@ -export([unword_topic/1, disconnect_by_subscriber_id/2, + has_session/1, reauthorize_subscriptions/3]). -type disconnect_flag() :: do_cleanup. @@ -36,6 +37,20 @@ disconnect_by_subscriber_id(SubscriberId, Opts) -> vmq_queue:force_disconnect(QueuePid, normal, proplists:get_bool(do_cleanup, Opts)) end. +%% @doc Check if a {@link subscriber_id().} has an existing session +%% +%% Given a subscriber_id, this function checks if it has an existing +%% session. +-spec has_session(SId) -> true | false when + SId :: subscriber_id(). +has_session(SubscriberId) -> + case vmq_subscriber_db:read(SubscriberId) of + undefined -> + false; + _Subs -> + true + end. + %% @doc Reauthorize subscriptions by username and subscriber_id %% %% Given a username and subscriber_id all subscriptions