From 84be602aa503f2bc7f221337d66597368ccb4f2e Mon Sep 17 00:00:00 2001
From: Riccardo Binetti topic()
Function Index
@@ -52,6 +53,15 @@
+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.disconnect_by_subsc
Given a subscriber_id the client is looked up in the cluster and
disconnected.
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