From 0b1800fc107b86894b8d30260f8320e56c66230a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Sautret?= Date: Thu, 5 Jan 2023 14:58:18 +0100 Subject: [PATCH] Add hooks for mqtt subscribe & unsubscribe events --- src/mod_mqtt.erl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mod_mqtt.erl b/src/mod_mqtt.erl index f20919206..24e1844f0 100644 --- a/src/mod_mqtt.erl +++ b/src/mod_mqtt.erl @@ -147,6 +147,7 @@ subscribe({_, S, _} = USR, TopicFilter, SubOpts, ID) -> allow -> case check_subscribe_access(TopicFilter, USR) of allow -> + ejabberd_hooks:run(mqtt_subscribe, S, [USR, TopicFilter, SubOpts, ID]), Mod:subscribe(USR, TopicFilter, SubOpts, ID); deny -> {error, subscribe_forbidden} @@ -158,6 +159,7 @@ subscribe({_, S, _} = USR, TopicFilter, SubOpts, ID) -> -spec unsubscribe(jid:ljid(), binary()) -> ok | {error, notfound | db_failure}. unsubscribe({U, S, R}, Topic) -> Mod = gen_mod:ram_db_mod(S, ?MODULE), + ejabberd_hooks:run(mqtt_unsubscribe, S, [{U, S, R}, Topic]), Mod:unsubscribe({U, S, R}, Topic). -spec select_retained(jid:ljid(), binary(), qos(), non_neg_integer()) ->