Software /
code /
prosody
Comparison
core/usermanager.lua @ 6779:6236668da30a
core.*: Remove use of module() function
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 21 Feb 2015 10:42:19 +0100 |
parent | 6663:d3023dd07cb6 |
child | 6979:0ce2b400663b |
comparison
equal
deleted
inserted
replaced
6778:4009ae66e0f0 | 6779:6236668da30a |
---|---|
21 | 21 |
22 local setmetatable = setmetatable; | 22 local setmetatable = setmetatable; |
23 | 23 |
24 local default_provider = "internal_plain"; | 24 local default_provider = "internal_plain"; |
25 | 25 |
26 module "usermanager" | 26 local _ENV = nil; |
27 | 27 |
28 function new_null_provider() | 28 local function new_null_provider() |
29 local function dummy() return nil, "method not implemented"; end; | 29 local function dummy() return nil, "method not implemented"; end; |
30 local function dummy_get_sasl_handler() return sasl_new(nil, {}); end | 30 local function dummy_get_sasl_handler() return sasl_new(nil, {}); end |
31 return setmetatable({name = "null", get_sasl_handler = dummy_get_sasl_handler}, { | 31 return setmetatable({name = "null", get_sasl_handler = dummy_get_sasl_handler}, { |
32 __index = function(self, method) return dummy; end --luacheck: ignore 212 | 32 __index = function(self, method) return dummy; end --luacheck: ignore 212 |
33 }); | 33 }); |
34 end | 34 end |
35 | 35 |
36 local provider_mt = { __index = new_null_provider() }; | 36 local provider_mt = { __index = new_null_provider() }; |
37 | 37 |
38 function initialize_host(host) | 38 local function initialize_host(host) |
39 local host_session = hosts[host]; | 39 local host_session = hosts[host]; |
40 if host_session.type ~= "local" then return; end | 40 if host_session.type ~= "local" then return; end |
41 | 41 |
42 host_session.events.add_handler("item-added/auth-provider", function (event) | 42 host_session.events.add_handler("item-added/auth-provider", function (event) |
43 local provider = event.item; | 43 local provider = event.item; |
66 modulemanager.load(host, "auth_"..auth_provider); | 66 modulemanager.load(host, "auth_"..auth_provider); |
67 end | 67 end |
68 end; | 68 end; |
69 prosody.events.add_handler("host-activated", initialize_host, 100); | 69 prosody.events.add_handler("host-activated", initialize_host, 100); |
70 | 70 |
71 function test_password(username, host, password) | 71 local function test_password(username, host, password) |
72 return hosts[host].users.test_password(username, password); | 72 return hosts[host].users.test_password(username, password); |
73 end | 73 end |
74 | 74 |
75 function get_password(username, host) | 75 local function get_password(username, host) |
76 return hosts[host].users.get_password(username); | 76 return hosts[host].users.get_password(username); |
77 end | 77 end |
78 | 78 |
79 function set_password(username, password, host) | 79 local function set_password(username, password, host) |
80 return hosts[host].users.set_password(username, password); | 80 return hosts[host].users.set_password(username, password); |
81 end | 81 end |
82 | 82 |
83 function user_exists(username, host) | 83 local function user_exists(username, host) |
84 return hosts[host].users.user_exists(username); | 84 return hosts[host].users.user_exists(username); |
85 end | 85 end |
86 | 86 |
87 function create_user(username, password, host) | 87 local function create_user(username, password, host) |
88 return hosts[host].users.create_user(username, password); | 88 return hosts[host].users.create_user(username, password); |
89 end | 89 end |
90 | 90 |
91 function delete_user(username, host) | 91 local function delete_user(username, host) |
92 local ok, err = hosts[host].users.delete_user(username); | 92 local ok, err = hosts[host].users.delete_user(username); |
93 if not ok then return nil, err; end | 93 if not ok then return nil, err; end |
94 prosody.events.fire_event("user-deleted", { username = username, host = host }); | 94 prosody.events.fire_event("user-deleted", { username = username, host = host }); |
95 return storagemanager.purge(username, host); | 95 return storagemanager.purge(username, host); |
96 end | 96 end |
97 | 97 |
98 function users(host) | 98 local function users(host) |
99 return hosts[host].users.users(); | 99 return hosts[host].users.users(); |
100 end | 100 end |
101 | 101 |
102 function get_sasl_handler(host, session) | 102 local function get_sasl_handler(host, session) |
103 return hosts[host].users.get_sasl_handler(session); | 103 return hosts[host].users.get_sasl_handler(session); |
104 end | 104 end |
105 | 105 |
106 function get_provider(host) | 106 local function get_provider(host) |
107 return hosts[host].users; | 107 return hosts[host].users; |
108 end | 108 end |
109 | 109 |
110 function is_admin(jid, host) | 110 local function is_admin(jid, host) |
111 if host and not hosts[host] then return false; end | 111 if host and not hosts[host] then return false; end |
112 if type(jid) ~= "string" then return false; end | 112 if type(jid) ~= "string" then return false; end |
113 | 113 |
114 local is_admin; | 114 local is_admin; |
115 jid = jid_bare(jid); | 115 jid = jid_bare(jid); |
149 is_admin = hosts[host].users.is_admin(jid); | 149 is_admin = hosts[host].users.is_admin(jid); |
150 end | 150 end |
151 return is_admin or false; | 151 return is_admin or false; |
152 end | 152 end |
153 | 153 |
154 return _M; | 154 return { |
155 new_null_provider = new_null_provider; | |
156 initialize_host = initialize_host; | |
157 test_password = test_password; | |
158 get_password = get_password; | |
159 set_password = set_password; | |
160 user_exists = user_exists; | |
161 create_user = create_user; | |
162 delete_user = delete_user; | |
163 users = users; | |
164 get_sasl_handler = get_sasl_handler; | |
165 get_provider = get_provider; | |
166 is_admin = is_admin; | |
167 }; |