diff options
author | Kim Alvefur <zash@zash.se> | 2016-04-18 19:26:26 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2016-04-18 19:26:26 +0200 |
commit | ad74a6b7198de6964abceeb6dfd94edcd7c4d609 (patch) | |
tree | 5ed9a3084571bc888b5116b6461dd92e36b1b35a /plugins/muc | |
parent | 8a98b8c30eea6ccd72330b1985a94a6d382fac43 (diff) | |
download | prosody-ad74a6b7198de6964abceeb6dfd94edcd7c4d609.tar.gz prosody-ad74a6b7198de6964abceeb6dfd94edcd7c4d609.zip |
MUC: Move room deserialization to muc.lib
Diffstat (limited to 'plugins/muc')
-rw-r--r-- | plugins/muc/mod_muc.lua | 4 | ||||
-rw-r--r-- | plugins/muc/muc.lib.lua | 7 |
2 files changed, 8 insertions, 3 deletions
diff --git a/plugins/muc/mod_muc.lua b/plugins/muc/mod_muc.lua index c8723c16..4410ba16 100644 --- a/plugins/muc/mod_muc.lua +++ b/plugins/muc/mod_muc.lua @@ -130,9 +130,7 @@ local function restore_room(jid) 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 --git a/plugins/muc/muc.lib.lua b/plugins/muc/muc.lib.lua index a7a96865..b289b8ce 100644 --- a/plugins/muc/muc.lib.lua +++ b/plugins/muc/muc.lib.lua @@ -1252,6 +1252,13 @@ function room_mt:freeze() } 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; |