equal
deleted
inserted
replaced
1 -- XEP-0313: Message Archive Management for Prosody |
1 -- XEP-0313: Message Archive Management for Prosody |
2 -- Copyright (C) 2011-2012 Kim Alvefur |
2 -- Copyright (C) 2011-2013 Kim Alvefur |
3 -- |
3 -- |
4 -- This file is MIT/X11 licensed. |
4 -- This file is MIT/X11 licensed. |
5 |
|
6 local host = module.host; |
|
7 |
|
8 local dm_load = require "util.datamanager".load; |
|
9 local dm_store = require "util.datamanager".store; |
|
10 |
5 |
11 local global_default_policy = module:get_option("default_archive_policy", false); |
6 local global_default_policy = module:get_option("default_archive_policy", false); |
12 |
7 |
13 do |
8 do |
14 local prefs_format = { |
9 local prefs_format = { |
18 ["romeo@montague.net"] = true, -- always |
13 ["romeo@montague.net"] = true, -- always |
19 ["montague@montague.net"] = false, -- newer |
14 ["montague@montague.net"] = false, -- newer |
20 }; |
15 }; |
21 end |
16 end |
22 |
17 |
23 local prefs_store = "archive2_prefs"; |
18 local prefs = module:open_store("archive2_prefs"); |
24 local function get_prefs(user) |
19 local function get_prefs(user) |
25 return dm_load(user, host, prefs_store) or |
20 return prefs:get(user) or { [false] = global_default_policy }; |
26 { [false] = global_default_policy }; |
|
27 end |
21 end |
28 local function set_prefs(user, prefs) |
22 local function set_prefs(user, user_prefs) |
29 return dm_store(user, host, prefs_store, prefs); |
23 return prefs:set(user, user_prefs); |
30 end |
24 end |
31 |
25 |
32 return { |
26 return { |
33 get = get_prefs, |
27 get = get_prefs, |
34 set = set_prefs, |
28 set = set_prefs, |