Software /
code /
prosody-modules
Comparison
mod_storage_xmlarchive/mod_storage_xmlarchive.lua @ 2663:6e8c3fc48237
mod_storage_xmlarchive: Use the dates method in more places
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 01 Apr 2017 17:39:39 +0200 |
parent | 2634:71ce798c86cc |
child | 2675:101a2a0b8b33 |
comparison
equal
deleted
inserted
replaced
2662:2d5e0e2938d1 | 2663:6e8c3fc48237 |
---|---|
89 end | 89 end |
90 | 90 |
91 local stream_session = { notopen = true }; | 91 local stream_session = { notopen = true }; |
92 local stream_callbacks = { handlestanza = cb, stream_ns = "jabber:client", default_ns = "jabber:client" }; | 92 local stream_callbacks = { handlestanza = cb, stream_ns = "jabber:client", default_ns = "jabber:client" }; |
93 local stream = new_stream(stream_session, stream_callbacks); | 93 local stream = new_stream(stream_session, stream_callbacks); |
94 local dates = dm.list_load(username, module.host, self.store) or empty; | 94 local dates = self:dates() or empty; |
95 local function reset_stream() | 95 local function reset_stream() |
96 stream:reset(); | 96 stream:reset(); |
97 stream_session.notopen = true; | 97 stream_session.notopen = true; |
98 stream:feed(st.stanza("stream", { xmlns = "jabber:client" }):top_tag()); | 98 stream:feed(st.stanza("stream", { xmlns = "jabber:client" }):top_tag()); |
99 stream_session.notopen = nil; | 99 stream_session.notopen = nil; |
242 if query.with or query.start or query.after then | 242 if query.with or query.start or query.after then |
243 return nil, "not-implemented"; -- Only trimming the oldest messages | 243 return nil, "not-implemented"; -- Only trimming the oldest messages |
244 end | 244 end |
245 local before = query.before or query["end"] or "9999-12-31"; | 245 local before = query.before or query["end"] or "9999-12-31"; |
246 if type(before) == "number" then before = dt.date(before); else before = before:sub(1, 10); end | 246 if type(before) == "number" then before = dt.date(before); else before = before:sub(1, 10); end |
247 local dates, err = dm.list_load(username, module.host, self.store); | 247 local dates, err = self:dates(username); |
248 if not dates or next(dates) == nil then | 248 if not dates or next(dates) == nil then |
249 if not err then return true end -- already empty | 249 if not err then return true end -- already empty |
250 return dates, err; | 250 return dates, err; |
251 end | 251 end |
252 if dates[1] > before then return true; end -- Nothing to delete | 252 if dates[1] > before then return true; end -- Nothing to delete |