plugins/archive.lua

changeset 457
73d4eb93657b
parent 428
bde804b01f28
child 462
51c3da615ff4
equal deleted inserted replaced
456:6a65142052c8 457:73d4eb93657b
5 local verse = require "verse"; 5 local verse = require "verse";
6 local st = require "util.stanza"; 6 local st = require "util.stanza";
7 local xmlns_mam = "urn:xmpp:mam:2" 7 local xmlns_mam = "urn:xmpp:mam:2"
8 local xmlns_forward = "urn:xmpp:forward:0"; 8 local xmlns_forward = "urn:xmpp:forward:0";
9 local xmlns_delay = "urn:xmpp:delay"; 9 local xmlns_delay = "urn:xmpp:delay";
10 local uuid = require "util.uuid".generate; 10 local new_id = require "util.id".short;
11 local parse_datetime = require "util.datetime".parse; 11 local parse_datetime = require "util.datetime".parse;
12 local datetime = require "util.datetime".datetime; 12 local datetime = require "util.datetime".datetime;
13 local dataform = require"util.dataforms".new; 13 local dataform = require"util.dataforms".new;
14 local rsm = require "util.rsm"; 14 local rsm = require "util.rsm";
15 local NULL = {}; 15 local NULL = {};
21 { name = "end"; type = "text-single"; }; 21 { name = "end"; type = "text-single"; };
22 }; 22 };
23 23
24 function verse.plugins.archive(stream) 24 function verse.plugins.archive(stream)
25 function stream:query_archive(where, query_params, callback) 25 function stream:query_archive(where, query_params, callback)
26 local queryid = uuid(); 26 local queryid = new_id();
27 local query_st = st.iq{ type="set", to = where } 27 local query_st = st.iq{ id = queryid, type="set", to = where }
28 :tag("query", { xmlns = xmlns_mam, queryid = queryid }); 28 :tag("query", { xmlns = xmlns_mam, queryid = queryid });
29 29
30 30
31 local qstart, qend = tonumber(query_params["start"]), tonumber(query_params["end"]); 31 local qstart, qend = tonumber(query_params["start"]), tonumber(query_params["end"]);
32 query_params["start"] = qstart and datetime(qstart); 32 query_params["start"] = qstart and datetime(qstart);

mercurial