Mercurial > prosody-modules
comparison mod_mam/mamprefs.lib.lua @ 1111:bdbf76730f49
mod_mam: Split out preference functions into a lib for easy reuse
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 12 Jul 2013 22:46:15 +0200 |
parents | |
children | a6d4508f7f28 |
comparison
equal
deleted
inserted
replaced
1110:97e238ce37ce | 1111:bdbf76730f49 |
---|---|
1 -- XEP-0313: Message Archive Management for Prosody | |
2 -- Copyright (C) 2011-2012 Kim Alvefur | |
3 -- | |
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 | |
11 local global_default_policy = module:get_option("default_archive_policy", false); | |
12 | |
13 do | |
14 local prefs_format = { | |
15 [false] = "roster", | |
16 -- default ::= true | false | "roster" | |
17 -- true = always, false = never, nil = global default | |
18 ["romeo@montague.net"] = true, -- always | |
19 ["montague@montague.net"] = false, -- newer | |
20 }; | |
21 end | |
22 | |
23 local prefs_store = "archive2_prefs"; | |
24 local function get_prefs(user) | |
25 return dm_load(user, host, prefs_store) or | |
26 { [false] = global_default_policy }; | |
27 end | |
28 local function set_prefs(user, prefs) | |
29 return dm_store(user, host, prefs_store, prefs); | |
30 end | |
31 | |
32 return { | |
33 get = get_prefs, | |
34 set = set_prefs, | |
35 } |