plugins/muc: Move valid_roles, valid_affiliations and is_kickable_error to new muc/util module
authordaurnimator <quae@daurnimator.com>
Thu, 03 Apr 2014 17:09:04 -0400
changeset 6218 bf11910bad5a
parent 6217 657c707d9229
child 6219 a90159cfa530
plugins/muc: Move valid_roles, valid_affiliations and is_kickable_error to new muc/util module
plugins/muc/muc.lib.lua
plugins/muc/util.lib.lua
--- a/plugins/muc/muc.lib.lua	Thu Apr 03 16:10:43 2014 -0400
+++ b/plugins/muc/muc.lib.lua	Thu Apr 03 17:09:04 2014 -0400
@@ -23,26 +23,9 @@
 local md5 = require "util.hashes".md5;
 
 local occupant_lib = module:require "muc/occupant"
-
-
-local is_kickable_error do
-	local kickable_error_conditions = {
-		["gone"] = true;
-		["internal-server-error"] = true;
-		["item-not-found"] = true;
-		["jid-malformed"] = true;
-		["recipient-unavailable"] = true;
-		["redirect"] = true;
-		["remote-server-not-found"] = true;
-		["remote-server-timeout"] = true;
-		["service-unavailable"] = true;
-		["malformed error"] = true;
-	};
-	function is_kickable_error(stanza)
-		local cond = select(2, stanza:get_error()) or "malformed error";
-		return kickable_error_conditions[cond];
-	end
-end
+local muc_util = module:require "muc/util";
+local is_kickable_error = muc_util.is_kickable_error;
+local valid_roles, valid_affiliations = muc_util.valid_roles, muc_util.valid_affiliations;
 
 local room_mt = {};
 room_mt.__index = room_mt;
@@ -55,21 +38,6 @@
 	return self._jid_nick[real_jid]
 end
 
-local valid_affiliations = {
-	outcast = 0;
-	none = 1;
-	member = 2;
-	admin = 3;
-	owner = 4;
-};
-
-local valid_roles = {
-	none = 0;
-	visitor = 1;
-	participant = 2;
-	moderator = 3;
-};
-
 function room_mt:get_default_role(affiliation)
 	if affiliation == "owner" or affiliation == "admin" then
 		return "moderator";
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/muc/util.lib.lua	Thu Apr 03 17:09:04 2014 -0400
@@ -0,0 +1,44 @@
+-- Prosody IM
+-- Copyright (C) 2008-2010 Matthew Wild
+-- Copyright (C) 2008-2010 Waqas Hussain
+-- Copyright (C) 2014 Daurnimator
+--
+-- This project is MIT/X11 licensed. Please see the
+-- COPYING file in the source package for more information.
+--
+
+local _M = {};
+
+_M.valid_affiliations = {
+	outcast = -1;
+	none = 0;
+	member = 1;
+	admin = 2;
+	owner = 3;
+};
+
+_M.valid_roles = {
+	none = 0;
+	visitor = 1;
+	participant = 2;
+	moderator = 3;
+};
+
+local kickable_error_conditions = {
+	["gone"] = true;
+	["internal-server-error"] = true;
+	["item-not-found"] = true;
+	["jid-malformed"] = true;
+	["recipient-unavailable"] = true;
+	["redirect"] = true;
+	["remote-server-not-found"] = true;
+	["remote-server-timeout"] = true;
+	["service-unavailable"] = true;
+	["malformed error"] = true;
+};
+function _M.is_kickable_error(stanza)
+	local cond = select(2, stanza:get_error()) or "malformed error";
+	return kickable_error_conditions[cond];
+end
+
+return _M;