comparison core/storagemanager.lua @ 11200:bf8f2da84007

Merge 0.11->trunk
author Kim Alvefur <zash@zash.se>
date Thu, 05 Nov 2020 22:31:25 +0100
parents 19692fc5c106
children 52fcdfe710ca
comparison
equal deleted inserted replaced
11199:6c7c50a4de32 11200:bf8f2da84007
165 current[k] = v; 165 current[k] = v;
166 end 166 end
167 return self.keyval_store:set(username, current); 167 return self.keyval_store:set(username, current);
168 end; 168 end;
169 remove = {}; 169 remove = {};
170 get_all = function (self, key)
171 if type(key) ~= "string" or key == "" then
172 return nil, "get_all only supports non-empty string keys";
173 end
174 local ret;
175 for username in self.keyval_store:users() do
176 local key_data = self:get(username, key);
177 if key_data then
178 if not ret then
179 ret = {};
180 end
181 ret[username] = key_data;
182 end
183 end
184 return ret;
185 end;
186 delete_all = function (self, key)
187 if type(key) ~= "string" or key == "" then
188 return nil, "delete_all only supports non-empty string keys";
189 end
190 local data = { [key] = self.remove };
191 local last_err;
192 for username in self.keyval_store:users() do
193 local ok, err = self:set_keys(username, data);
194 if not ok then
195 last_err = err;
196 end
197 end
198 if last_err then
199 return nil, last_err;
200 end
201 return true;
202 end;
170 }; 203 };
171 } 204 }
172 205
173 local open; -- forward declaration 206 local open; -- forward declaration
174 207