- return datamanager.store(username, host, "roster", roster);
+ if jid == nil then
+ local roster_store = storagemanager.open(host, "roster", "keyval");
+ return roster_store:set(username, roster);
+ else
+ local roster_store = storagemanager.open(host, "roster", "map");
+ return roster_store:set_keys(username, { [false] = metadata, [jid] = roster[jid] or roster_store.remove });
+ end