Software /
code /
prosody-modules
Comparison
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 |
comparison
equal
deleted
inserted
replaced
6174:877416deacfa | 6175:e2d130104b98 |
---|---|
205 end | 205 end |
206 | 206 |
207 function delete(group_id) | 207 function delete(group_id) |
208 if group_members_store:set(group_id, nil) then | 208 if group_members_store:set(group_id, nil) then |
209 local group_info = get_info(group_id); | 209 local group_info = get_info(group_id); |
210 if group_info and group_info.muc_jid then | 210 if group_info then |
211 local room = muc_host.get_room_from_jid(group_info.muc_jid) | 211 if group_info.muc_jid then |
212 if room then | 212 local room = muc_host.get_room_from_jid(group_info.muc_jid) |
213 room:destroy() | 213 if room then |
214 room:destroy() | |
215 end | |
216 end | |
217 for _, muc_jid in ipairs(group_info.mucs) do | |
218 local room = muc_host.get_room_from_jid(muc_jid) | |
219 if room then | |
220 room:destroy() | |
221 end | |
214 end | 222 end |
215 end | 223 end |
216 return group_info_store:set(group_id, nil); | 224 return group_info_store:set(group_id, nil); |
217 end | 225 end |
218 return nil, "internal-server-error"; | 226 return nil, "internal-server-error"; |