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";