Software /
code /
prosody-modules
Diff
mod_groups_internal/mod_groups_internal.lua @ 6175:e2d130104b98
mod_groups_internal: Delete all associated MUCs when deleting a group
author | Rémi Bardon <remi@remibardon.name> |
---|---|
date | Fri, 12 Jul 2024 19:55:30 +0200 |
parent | 6131:f80db102fdb1 |
child | 6205:8ff8121ff603 |
line wrap: on
line diff
--- a/mod_groups_internal/mod_groups_internal.lua Wed Jan 29 00:20:01 2025 +0100 +++ b/mod_groups_internal/mod_groups_internal.lua Fri Jul 12 19:55:30 2024 +0200 @@ -207,10 +207,18 @@ function delete(group_id) if group_members_store:set(group_id, nil) then local group_info = get_info(group_id); - if group_info and group_info.muc_jid then - local room = muc_host.get_room_from_jid(group_info.muc_jid) - if room then - room:destroy() + if group_info then + if group_info.muc_jid then + local room = muc_host.get_room_from_jid(group_info.muc_jid) + if room then + room:destroy() + end + end + for _, muc_jid in ipairs(group_info.mucs) do + local room = muc_host.get_room_from_jid(muc_jid) + if room then + room:destroy() + end end end return group_info_store:set(group_id, nil);