diff options
author | Kim Alvefur <zash@zash.se> | 2016-04-17 22:09:44 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2016-04-17 22:09:44 +0200 |
commit | a92b3b499c6319f0510af1772c92ea6637a456af (patch) | |
tree | f4da662947e7ae0a5aa9fd715382a142608b96db | |
parent | bedf8e457aeae1f2f003a74de91adf3b8b214ac5 (diff) | |
download | prosody-a92b3b499c6319f0510af1772c92ea6637a456af.tar.gz prosody-a92b3b499c6319f0510af1772c92ea6637a456af.zip |
MUC: Move 'preserialization' step to muc.lib
-rw-r--r-- | plugins/muc/mod_muc.lua | 6 | ||||
-rw-r--r-- | plugins/muc/muc.lib.lua | 8 |
2 files changed, 9 insertions, 5 deletions
diff --git a/plugins/muc/mod_muc.lua b/plugins/muc/mod_muc.lua index 871b90b4..354ab1d1 100644 --- a/plugins/muc/mod_muc.lua +++ b/plugins/muc/mod_muc.lua @@ -102,11 +102,7 @@ local function room_save(room, forced) local is_persistent = persistent.get(room); persistent_rooms:set(nil, room.jid, is_persistent); if is_persistent then - local data = { - jid = room.jid; - _data = room._data; - _affiliations = room._affiliations; - }; + local data = room:freeze(); room_configs:set(node, data); elseif forced then room_configs:set(node, nil); diff --git a/plugins/muc/muc.lib.lua b/plugins/muc/muc.lib.lua index 42a0af25..2026bc47 100644 --- a/plugins/muc/muc.lib.lua +++ b/plugins/muc/muc.lib.lua @@ -1235,6 +1235,14 @@ function _M.new_room(jid, config) -- luacheck: ignore 212 }, room_mt); end +function room_mt:freeze() + return { + jid = self.jid; + _data = self._data; + _affiliations = self._affiliations; + } +end + _M.room_mt = room_mt; return _M; |