projects
/
prosody.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
6c464da
)
storagemanager: Add set_keys method to map store shim
author
Kim Alvefur
<zash@zash.se>
Tue, 9 Feb 2016 15:54:56 +0000
(16:54 +0100)
committer
Kim Alvefur
<zash@zash.se>
Tue, 9 Feb 2016 15:54:56 +0000
(16:54 +0100)
core/storagemanager.lua
patch
|
blob
|
history
diff --git
a/core/storagemanager.lua
b/core/storagemanager.lua
index cf2c65d5e65946a867d61e46f5d8df21a2fa8177..4f04e594b4ee752143f610354473518d8a18af43 100644
(file)
--- a/
core/storagemanager.lua
+++ b/
core/storagemanager.lua
@@
-118,6
+118,23
@@
local map_shim_mt = {
current[key] = data;
return self.keyval_store:set(username, current);
end;
current[key] = data;
return self.keyval_store:set(username, current);
end;
+ set_keys = function (self, username, keydatas)
+ local current, err = self.keyval_store:get(username);
+ if current == nil then
+ if err then
+ return nil, err;
+ else
+ current = keydatas;
+ end
+ else
+ for k,v in pairs(keydatas) do
+ if v == self.remove then v = nil; end
+ current[k] = v;
+ end
+ end
+ return self.keyval_store:set(username, current);
+ end;
+ remove = {};
};
}
};
}