aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/muc/util.lib.lua
diff options
context:
space:
mode:
authordaurnimator <quae@daurnimator.com>2014-04-03 17:09:04 -0400
committerdaurnimator <quae@daurnimator.com>2014-04-03 17:09:04 -0400
commitadb653030ff70cff8ecbc10eb3650cc6ff79fba9 (patch)
tree014ba9557260d298e7b01409075e4f8c349b1ae7 /plugins/muc/util.lib.lua
parente14f89d1d228c410f3a67cfd59792f660ad9562d (diff)
downloadprosody-adb653030ff70cff8ecbc10eb3650cc6ff79fba9.tar.gz
prosody-adb653030ff70cff8ecbc10eb3650cc6ff79fba9.zip
plugins/muc: Move valid_roles, valid_affiliations and is_kickable_error to new muc/util module
Diffstat (limited to 'plugins/muc/util.lib.lua')
-rw-r--r--plugins/muc/util.lib.lua44
1 files changed, 44 insertions, 0 deletions
diff --git a/plugins/muc/util.lib.lua b/plugins/muc/util.lib.lua
new file mode 100644
index 00000000..90a3a183
--- /dev/null
+++ b/plugins/muc/util.lib.lua
@@ -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;