mod_mam/mamprefs.lib.lua
changeset 1136 a6d4508f7f28
parent 1111 bdbf76730f49
child 1137 431627b07b9f
equal deleted inserted replaced
1135:0d6ab5e4bc30 1136:a6d4508f7f28
     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,