Comparison

plugins/mod_mam/mamprefs.lib.lua @ 7836:30fac9154fd4

mod_mam: Import from prosody-modules
author Kim Alvefur <zash@zash.se>
date Fri, 04 Nov 2016 13:48:21 +0100
child 7850:10d91860172f
comparison
equal deleted inserted replaced
7835:a809dcfd0c5b 7836:30fac9154fd4
1 -- XEP-0313: Message Archive Management for Prosody
2 -- Copyright (C) 2011-2013 Kim Alvefur
3 --
4 -- This file is MIT/X11 licensed.
5
6 local global_default_policy = module:get_option("default_archive_policy", true);
7
8 do
9 local prefs_format = {
10 [false] = "roster",
11 -- default ::= true | false | "roster"
12 -- true = always, false = never, nil = global default
13 ["romeo@montague.net"] = true, -- always
14 ["montague@montague.net"] = false, -- newer
15 };
16 end
17
18 local sessions = hosts[module.host].sessions;
19 local prefs = module:open_store("archive2_prefs");
20
21 local function get_prefs(user)
22 local user_sessions = sessions[user];
23 local user_prefs = user_sessions and user_sessions.archive_prefs
24 if not user_prefs and user_sessions then
25 user_prefs = prefs:get(user);
26 user_sessions.archive_prefs = user_prefs;
27 end
28 return user_prefs or { [false] = global_default_policy };
29 end
30 local function set_prefs(user, user_prefs)
31 local user_sessions = sessions[user];
32 if user_sessions then
33 user_sessions.archive_prefs = user_prefs;
34 end
35 return prefs:set(user, user_prefs);
36 end
37
38 return {
39 get = get_prefs,
40 set = set_prefs,
41 }