ejabberdsql2prosody: Added support for Private XML Storage
authorWaqas Hussain <waqas20@gmail.com>
Sun, 2 Aug 2009 09:40:34 +0000 (14:40 +0500)
committerWaqas Hussain <waqas20@gmail.com>
Sun, 2 Aug 2009 09:40:34 +0000 (14:40 +0500)
tools/ejabberdsql2prosody.lua

index 21d480ea174fa534f3374328884e7062051c0cbd..4aace0854573de76fbacc9fe9cf1526c9eba7a76 100644 (file)
@@ -278,6 +278,12 @@ function roster_group(node, host, jid, group)
        local ret, err = dm.store(node, host, "roster", roster);
        print("["..(err or "success").."] roster-group: " ..node.."@"..host.." - "..jid.." - "..group);
 end
+function private_storage(node, host, xmlns, stanza)
+       local private = dm.load(node, host, "private") or {};
+       private[stanza.name..":"..xmlns] = st.preserialize(stanza);
+       local ret, err = dm.store(node, host, "private", private);
+       print("["..(err or "success").."] private: " ..node.."@"..host.." - "..xmlns);
+end
 for i, row in ipairs(t["rosterusers"] or NULL) do
        local node, contact = row.username, row.jid;
        local name = row.nick;
@@ -314,3 +320,6 @@ for i, row in ipairs(t["vcard"] or NULL) do
        local ret, err = dm.store(row.username, host, "vcard", st.preserialize(parse_xml(row.vcard)));
        print("["..(err or "success").."] vCard: "..row.username.."@"..host);
 end
+for i, row in ipairs(t["private_storage"] or NULL) do
+       private_storage(row.username, host, row.namespace, st.preserialize(parse_xml(row.data)));
+end