# HG changeset patch # User Kim Alvefur # Date 1461000386 -7200 # Node ID 2aef5e8b69e94fce2905515eb8eca4b73b081539 # Parent eb3928903009a67813f9463c9c41fc3f37eef0b4 MUC: Move room deserialization to muc.lib diff -r eb3928903009 -r 2aef5e8b69e9 plugins/muc/mod_muc.lua --- a/plugins/muc/mod_muc.lua Mon Apr 18 19:20:51 2016 +0200 +++ b/plugins/muc/mod_muc.lua Mon Apr 18 19:26:26 2016 +0200 @@ -130,9 +130,7 @@ local node = jid_split(jid); local data = room_configs:get(node); if data then - local room = muclib.new_room(jid); - room._data = data._data; - room._affiliations = data._affiliations; + local room = muclib.restore_room(data); track_room(room); return room; end diff -r eb3928903009 -r 2aef5e8b69e9 plugins/muc/muc.lib.lua --- a/plugins/muc/muc.lib.lua Mon Apr 18 19:20:51 2016 +0200 +++ b/plugins/muc/muc.lib.lua Mon Apr 18 19:26:26 2016 +0200 @@ -1252,6 +1252,13 @@ } end +function _M.restore_room(frozen) + local room_jid = frozen.jid; + local room = _M.new_room(room_jid, frozen._data); + room._affiliations = frozen._affiliations; + return room; +end + _M.room_mt = room_mt; return _M;