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
child 1136: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,
+}