MUC: Move room deserialization to muc.lib
authorKim Alvefur <zash@zash.se>
Mon, 18 Apr 2016 19:26:26 +0200
changeset 7370 2aef5e8b69e9
parent 7369 eb3928903009
child 7371 4e24aff1e4df
MUC: Move room deserialization to muc.lib
plugins/muc/mod_muc.lua
plugins/muc/muc.lib.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
--- 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;