Mercurial > prosody-modules
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mod_mam/mamprefs.lib.lua Fri Jul 12 22:46:15 2013 +0200 @@ -0,0 +1,35 @@ +-- XEP-0313: Message Archive Management for Prosody +-- Copyright (C) 2011-2012 Kim Alvefur +-- +-- This file is MIT/X11 licensed. + +local host = module.host; + +local dm_load = require "util.datamanager".load; +local dm_store = require "util.datamanager".store; + +local global_default_policy = module:get_option("default_archive_policy", false); + +do + local prefs_format = { + [false] = "roster", + -- default ::= true | false | "roster" + -- true = always, false = never, nil = global default + ["romeo@montague.net"] = true, -- always + ["montague@montague.net"] = false, -- newer + }; +end + +local prefs_store = "archive2_prefs"; +local function get_prefs(user) + return dm_load(user, host, prefs_store) or + { [false] = global_default_policy }; +end +local function set_prefs(user, prefs) + return dm_store(user, host, prefs_store, prefs); +end + +return { + get = get_prefs, + set = set_prefs, +}