Mercurial > prosody-modules
annotate mod_storage_metronome_readonly/mod_storage_metronome_readonly.lua @ 6319:04c3273cb81f
mod_auth_cyrus: Add empty 'profile' table to SASL handler objects
This is for compatibility with Prosody's built-in util.sasl objects.
A SASL profile table usually includes methods supported by the backend, which
can be used by SASL mechanism handlers to perform operations (such as testing
the password). It also optionally contains a 'cb' field with channel binding
method handlers.
The Cyrus backend doesn't support channel binding, and doesn't have the same
concept of auth backend methods (it handles all that internally, and Prosody
has no insight or control over it).
Thus, we create an empty profile which informs Prosody that the SASL handler
does not support any of the auth or channel binding methods. Some features
will not work, but they didn't work anyway. This just makes it explicit.
This fixes a traceback in mod_sasl2_fast, which expected SASL handlers to
always contain a 'profile' field.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Thu, 04 Sep 2025 10:14:46 +0100 |
| parents | 877416deacfa |
| children |
| rev | line source |
|---|---|
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
1 local datamanager = require "prosody.core.storagemanager".olddm; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
2 local datetime = require "prosody.util.datetime"; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
3 local st = require "prosody.util.stanza"; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
4 local now = require "prosody.util.time".now; |
|
6141
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
5 local gen_id = require "prosody.util.id".medium; |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
6 local set = require "prosody.util.set"; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
7 local envloadfile = require"prosody.util.envload".envloadfile; |
|
6142
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
8 local dir = require "lfs".dir; |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
9 |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
10 local host = module.host; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
11 |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
12 local archive_item_limit = module:get_option_integer("storage_archive_item_limit", 10000, 0); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
13 |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
14 -- Metronome doesn’t store the item publish time, so fallback to the migration time. |
|
6141
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
15 local time_now = math.floor(now()); |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
16 |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
17 local function encode (s) |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
18 return s and (s:gsub("%W", function (c) return string.format("%%%02x", c:byte()); end)); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
19 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
20 |
|
6137
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
21 local file = io.open("/etc/mime.types"); |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
22 local mimes = {}; |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
23 while true do |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
24 local line = file:read("*l"); |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
25 if not line then |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
26 break; |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
27 end |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
28 if line ~= "" then |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
29 local first_char = line:sub(1, 1); |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
30 if first_char ~= "#" then |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
31 --local line:match("(%S+)%s+")); |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
32 local match = line:gmatch("%S+"); |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
33 local mime = match(); |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
34 for ext in match do |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
35 mimes[ext] = mime; |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
36 end |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
37 end |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
38 end |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
39 end |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
40 file:close(); |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
41 |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
42 local driver = {}; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
43 |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
44 function driver:open(store, typ) |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
45 local mt = self[typ or "keyval"] |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
46 if not mt then |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
47 return nil, "unsupported-store"; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
48 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
49 return setmetatable({ store = store, type = typ }, mt); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
50 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
51 |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
52 function driver:stores(username) -- luacheck: ignore 212/self |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
53 if username == true then |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
54 local nodes = set.new(); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
55 for user in datamanager.users(host, "pep") do |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
56 local data = datamanager.load(user, host, "pep"); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
57 |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
58 for _, node in ipairs(data["nodes"]) do |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
59 nodes:add("pep_" .. node); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
60 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
61 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
62 return function() |
|
6141
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
63 -- luacheck: ignore 512 |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
64 for node in nodes do |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
65 nodes:remove(node); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
66 return node; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
67 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
68 end; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
69 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
70 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
71 |
|
6141
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
72 function driver:purge(user) -- luacheck: ignore 212/self user |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
73 return nil, "unsupported-store"; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
74 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
75 |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
76 local keyval = { }; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
77 driver.keyval = { __index = keyval }; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
78 |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
79 function keyval:get(user) |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
80 if self.store == "pep" then |
|
6141
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
81 local ret = datamanager.load(user, host, self.store); |
|
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
82 local nodes = ret["nodes"]; |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
83 local result = {}; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
84 |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
85 local pep_base_path = datamanager.getpath(user, host, self.store):sub(1, -5); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
86 |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
87 for _, node in ipairs(nodes) do |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
88 local path = ("%s/%s.dat"):format(pep_base_path, encode(node)); |
|
6141
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
89 local get_data = envloadfile(path, {}); |
|
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
90 if not get_data then |
|
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
91 module:log("error", "Failed to load metronome storage"); |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
92 return nil, "Error reading storage"; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
93 end |
|
6141
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
94 local success, data = pcall(get_data); |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
95 if not success then |
|
6141
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
96 module:log("error", "Unable to load metronome storage"); |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
97 return nil, "Error reading storage"; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
98 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
99 local new_node = {}; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
100 new_node["name"] = node; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
101 new_node["subscribers"] = data["subscribers"]; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
102 new_node["affiliations"] = data["affiliations"]; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
103 new_node["config"] = data["config"]; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
104 result[node] = new_node; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
105 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
106 return result; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
107 elseif self.store == "cloud_notify" then |
|
6141
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
108 local ret = datamanager.load(user, host, "push"); |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
109 local result = {}; |
|
6141
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
110 for jid, data in pairs(ret) do |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
111 local secret = data["secret"]; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
112 for node in pairs(data["nodes"]) do |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
113 -- TODO: Does Metronome store more info than that? |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
114 local options; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
115 if secret then |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
116 options = st.preserialize(st.stanza("x", { xmlns = "jabber:x:data", type = "submit" }) |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
117 :tag("field", { var = "FORM_TYPE" }) |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
118 :text_tag("value", "http://jabber.org/protocol/pubsub#publish-options") |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
119 :up() |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
120 :tag("field", { var = "secret" }) |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
121 :text_tag("value", secret)); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
122 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
123 result[jid.."<"..node] = { |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
124 jid = jid, |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
125 node = node, |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
126 options = options, |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
127 }; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
128 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
129 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
130 return result; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
131 elseif self.store == "roster" then |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
132 return datamanager.load(user, host, self.store); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
133 elseif self.store == "vcard" then |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
134 return datamanager.load(user, host, self.store); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
135 elseif self.store == "private" then |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
136 return datamanager.load(user, host, self.store); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
137 |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
138 -- After that, handle MUC specific stuff, not tested yet whatsoever. |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
139 elseif self.store == "persistent" then |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
140 return datamanager.load(user, host, self.store); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
141 elseif self.store == "config" then |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
142 return datamanager.load(user, host, self.store); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
143 elseif self.store == "vcard_muc" then |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
144 local data = datamanager.load(user, host, "room_icons"); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
145 return data and data["photo"]; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
146 else |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
147 return nil, "unsupported-store"; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
148 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
149 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
150 |
|
6141
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
151 function keyval:set(user, data) -- luacheck: ignore 212/self user data |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
152 return nil, "unsupported-store"; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
153 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
154 |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
155 function keyval:users() |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
156 local store; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
157 if self.store == "vcard_muc" then |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
158 store = "room_icons"; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
159 elseif self.store == "cloud_notify" then |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
160 store = "push"; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
161 else |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
162 store = self.store; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
163 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
164 return datamanager.users(host, store, self.type); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
165 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
166 |
|
6144
983549664bd4
mod_storage_metronome_readonly: Fix wrongly done refactoring
Link Mauve <linkmauve@linkmauve.fr>
parents:
6143
diff
changeset
|
167 local function parse_logs(logs, jid) |
|
6142
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
168 local iter = ipairs(logs); |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
169 local i = 0; |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
170 local message; |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
171 return function() |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
172 i, message = iter(logs, i); |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
173 if not message then |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
174 return; |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
175 end |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
176 |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
177 local with; |
|
6143
44f77f4f653a
mod_storage_metronome_readonly: Revert non-working is_muc hack, the correct with is "message<groupchat"
Link Mauve <linkmauve@linkmauve.fr>
parents:
6142
diff
changeset
|
178 local bare_to = message["bare_to"]; |
|
44f77f4f653a
mod_storage_metronome_readonly: Revert non-working is_muc hack, the correct with is "message<groupchat"
Link Mauve <linkmauve@linkmauve.fr>
parents:
6142
diff
changeset
|
179 local bare_from = message["bare_from"]; |
|
44f77f4f653a
mod_storage_metronome_readonly: Revert non-working is_muc hack, the correct with is "message<groupchat"
Link Mauve <linkmauve@linkmauve.fr>
parents:
6142
diff
changeset
|
180 if jid == bare_to then |
|
44f77f4f653a
mod_storage_metronome_readonly: Revert non-working is_muc hack, the correct with is "message<groupchat"
Link Mauve <linkmauve@linkmauve.fr>
parents:
6142
diff
changeset
|
181 -- received |
|
44f77f4f653a
mod_storage_metronome_readonly: Revert non-working is_muc hack, the correct with is "message<groupchat"
Link Mauve <linkmauve@linkmauve.fr>
parents:
6142
diff
changeset
|
182 with = bare_from; |
|
6142
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
183 else |
|
6143
44f77f4f653a
mod_storage_metronome_readonly: Revert non-working is_muc hack, the correct with is "message<groupchat"
Link Mauve <linkmauve@linkmauve.fr>
parents:
6142
diff
changeset
|
184 -- sent |
|
44f77f4f653a
mod_storage_metronome_readonly: Revert non-working is_muc hack, the correct with is "message<groupchat"
Link Mauve <linkmauve@linkmauve.fr>
parents:
6142
diff
changeset
|
185 with = bare_to; |
|
6142
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
186 end |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
187 |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
188 local to = message["to"]; |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
189 local from = message["from"]; |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
190 local id = message["id"]; |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
191 local type = message["type"]; |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
192 |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
193 local key = message["uid"]; |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
194 local when = message["timestamp"]; |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
195 local item = st.message({ to = to, from = from, id = id, type = type }, message["body"]); |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
196 if message["tags"] then |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
197 for _, tag in ipairs(message["tags"]) do |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
198 setmetatable(tag, st.stanza_mt); |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
199 item:add_direct_child(tag); |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
200 end |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
201 end |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
202 if message["marker"] then |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
203 item:tag(message["marker"], { xmlns = "urn:xmpp:chat-markers:0", id = message["marker_id"] }); |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
204 end |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
205 return key, item, when, with; |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
206 end; |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
207 end |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
208 |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
209 local archive = {}; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
210 driver.archive = { __index = archive }; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
211 |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
212 archive.caps = { |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
213 total = true; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
214 quota = archive_item_limit; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
215 full_id_range = true; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
216 ids = true; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
217 }; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
218 |
|
6141
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
219 function archive:append(username, key, value, when, with) -- luacheck: ignore 212/self username key value when with |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
220 return nil, "unsupported-store"; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
221 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
222 |
|
6141
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
223 function archive:find(username, query) -- luacheck: ignore 212/self query |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
224 if self.store == "archive" then |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
225 local jid = username.."@"..host; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
226 local data = datamanager.load(username, host, "archiving"); |
|
6144
983549664bd4
mod_storage_metronome_readonly: Fix wrongly done refactoring
Link Mauve <linkmauve@linkmauve.fr>
parents:
6143
diff
changeset
|
227 return parse_logs(data["logs"], jid); |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
228 |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
229 elseif self.store:sub(1, 4) == "pep_" then |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
230 local node = self.store:sub(5); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
231 |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
232 local pep_base_path = datamanager.getpath(username, host, "pep"):sub(1, -5); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
233 local path = ("%s/%s.dat"):format(pep_base_path, encode(node)); |
|
6141
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
234 local get_data = envloadfile(path, {}); |
|
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
235 if not get_data then |
|
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
236 module:log("debug", "Failed to load metronome storage"); |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
237 return {}; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
238 end |
|
6141
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
239 local success, data = pcall(get_data); |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
240 if not success then |
|
6141
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
241 module:log("error", "Unable to load metronome storage"); |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
242 return nil, "Error reading storage"; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
243 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
244 |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
245 local iter = pairs(data["data"]); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
246 local key = nil; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
247 local payload; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
248 return function() |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
249 key, payload = iter(data["data"], key); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
250 if not key then |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
251 return; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
252 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
253 local item = st.deserialize(payload[1]); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
254 local with = data["data_author"][key]; |
|
6141
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
255 return key, item, time_now, with; |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
256 end; |
|
6142
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
257 |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
258 elseif self.store == "offline" then |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
259 -- This is mostly copy/pasted from mod_storage_internal. |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
260 local list, err = datamanager.list_open(username, host, self.store); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
261 if not list then |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
262 if err then |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
263 return list, err; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
264 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
265 return function() |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
266 end; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
267 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
268 |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
269 local i = 0; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
270 local iter = function() |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
271 i = i + 1; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
272 return list[i]; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
273 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
274 |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
275 return function() |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
276 local item = iter(); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
277 if item == nil then |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
278 if list.close then |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
279 list:close(); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
280 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
281 return |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
282 end |
|
6141
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
283 local key = gen_id(); |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
284 local when = item.attr and datetime.parse(item.attr.stamp); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
285 local with = ""; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
286 item.key, item.when, item.with = nil, nil, nil; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
287 item.attr.stamp = nil; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
288 -- COMPAT Stored data may still contain legacy XEP-0091 timestamp |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
289 item.attr.stamp_legacy = nil; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
290 item = st.deserialize(item); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
291 return key, item, when, with; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
292 end |
|
6142
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
293 |
|
6137
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
294 elseif self.store == "uploads" then |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
295 local list = {}; |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
296 |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
297 for user in datamanager.users(host, "http_upload", "list") do |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
298 local data, err = datamanager.list_open(user, host, "http_upload"); |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
299 if not data then |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
300 if err then |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
301 return data, err; |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
302 end |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
303 return function() |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
304 end; |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
305 end |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
306 |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
307 for _, stuff in ipairs(data) do |
|
6144
983549664bd4
mod_storage_metronome_readonly: Fix wrongly done refactoring
Link Mauve <linkmauve@linkmauve.fr>
parents:
6143
diff
changeset
|
308 local key = stuff.dir; |
|
6137
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
309 local size = tostring(stuff.size); |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
310 local time = stuff.time; |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
311 local filename = stuff.filename; |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
312 local ext = filename:match(".*%.(%S+)"):lower(); |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
313 local mime = mimes[ext] or "application/octet-stream"; |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
314 local stanza = st.stanza("request", { xmlns = "urn:xmpp:http:upload:0", size = size, ["content-type"] = mime, filename = filename }) |
|
6144
983549664bd4
mod_storage_metronome_readonly: Fix wrongly done refactoring
Link Mauve <linkmauve@linkmauve.fr>
parents:
6143
diff
changeset
|
315 list[key] = {user.."@"..host, time, stanza}; |
|
6137
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
316 end |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
317 end |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
318 |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
319 local iter = pairs(list); |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
320 local key = nil; |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
321 local payload; |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
322 return function() |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
323 key, payload = iter(list, key); |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
324 if not key then |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
325 return; |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
326 end |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
327 local with = payload[1]; |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
328 local when = payload[2]; |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
329 local stanza = payload[3]; |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
330 return key, stanza, when, with; |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
331 end; |
|
6142
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
332 |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
333 elseif self.store == "muc_log" then |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
334 local base_path = datamanager.getpath("", host, "stanza_log"):sub(1, -5); |
|
6146
877416deacfa
mod_storage_metronome_readonly: Sort the days first before iterating on MUC MAM entries
Link Mauve <linkmauve@linkmauve.fr>
parents:
6144
diff
changeset
|
335 local days = {}; |
|
877416deacfa
mod_storage_metronome_readonly: Sort the days first before iterating on MUC MAM entries
Link Mauve <linkmauve@linkmauve.fr>
parents:
6144
diff
changeset
|
336 for date in dir(base_path) do |
|
877416deacfa
mod_storage_metronome_readonly: Sort the days first before iterating on MUC MAM entries
Link Mauve <linkmauve@linkmauve.fr>
parents:
6144
diff
changeset
|
337 if date ~= "." and date ~= ".." then |
|
877416deacfa
mod_storage_metronome_readonly: Sort the days first before iterating on MUC MAM entries
Link Mauve <linkmauve@linkmauve.fr>
parents:
6144
diff
changeset
|
338 table.insert(days, date); |
|
877416deacfa
mod_storage_metronome_readonly: Sort the days first before iterating on MUC MAM entries
Link Mauve <linkmauve@linkmauve.fr>
parents:
6144
diff
changeset
|
339 end |
|
877416deacfa
mod_storage_metronome_readonly: Sort the days first before iterating on MUC MAM entries
Link Mauve <linkmauve@linkmauve.fr>
parents:
6144
diff
changeset
|
340 end |
|
877416deacfa
mod_storage_metronome_readonly: Sort the days first before iterating on MUC MAM entries
Link Mauve <linkmauve@linkmauve.fr>
parents:
6144
diff
changeset
|
341 table.sort(days); |
|
6142
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
342 local list = {}; |
|
6146
877416deacfa
mod_storage_metronome_readonly: Sort the days first before iterating on MUC MAM entries
Link Mauve <linkmauve@linkmauve.fr>
parents:
6144
diff
changeset
|
343 for _, date in ipairs(days) do |
|
877416deacfa
mod_storage_metronome_readonly: Sort the days first before iterating on MUC MAM entries
Link Mauve <linkmauve@linkmauve.fr>
parents:
6144
diff
changeset
|
344 local path = base_path..date.."/"..encode(username)..".dat"; |
|
877416deacfa
mod_storage_metronome_readonly: Sort the days first before iterating on MUC MAM entries
Link Mauve <linkmauve@linkmauve.fr>
parents:
6144
diff
changeset
|
345 local get_data = envloadfile(path, {}); |
|
877416deacfa
mod_storage_metronome_readonly: Sort the days first before iterating on MUC MAM entries
Link Mauve <linkmauve@linkmauve.fr>
parents:
6144
diff
changeset
|
346 if get_data then |
|
877416deacfa
mod_storage_metronome_readonly: Sort the days first before iterating on MUC MAM entries
Link Mauve <linkmauve@linkmauve.fr>
parents:
6144
diff
changeset
|
347 local success, data = pcall(get_data); |
|
877416deacfa
mod_storage_metronome_readonly: Sort the days first before iterating on MUC MAM entries
Link Mauve <linkmauve@linkmauve.fr>
parents:
6144
diff
changeset
|
348 if not success then |
|
877416deacfa
mod_storage_metronome_readonly: Sort the days first before iterating on MUC MAM entries
Link Mauve <linkmauve@linkmauve.fr>
parents:
6144
diff
changeset
|
349 module:log("error", "Unable to load metronome storage"); |
|
877416deacfa
mod_storage_metronome_readonly: Sort the days first before iterating on MUC MAM entries
Link Mauve <linkmauve@linkmauve.fr>
parents:
6144
diff
changeset
|
350 return nil, "Error reading storage"; |
|
877416deacfa
mod_storage_metronome_readonly: Sort the days first before iterating on MUC MAM entries
Link Mauve <linkmauve@linkmauve.fr>
parents:
6144
diff
changeset
|
351 end |
|
877416deacfa
mod_storage_metronome_readonly: Sort the days first before iterating on MUC MAM entries
Link Mauve <linkmauve@linkmauve.fr>
parents:
6144
diff
changeset
|
352 for key, item, when in parse_logs(data) do |
|
877416deacfa
mod_storage_metronome_readonly: Sort the days first before iterating on MUC MAM entries
Link Mauve <linkmauve@linkmauve.fr>
parents:
6144
diff
changeset
|
353 table.insert(list, {key, item, when}); |
|
6142
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
354 end |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
355 end |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
356 end |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
357 |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
358 local i = 0; |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
359 local iter = function() |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
360 i = i + 1; |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
361 return list[i]; |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
362 end |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
363 |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
364 return function() |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
365 local item = iter(); |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
366 if item == nil then |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
367 if list.close then |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
368 list:close(); |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
369 end |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
370 return |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
371 end |
|
6143
44f77f4f653a
mod_storage_metronome_readonly: Revert non-working is_muc hack, the correct with is "message<groupchat"
Link Mauve <linkmauve@linkmauve.fr>
parents:
6142
diff
changeset
|
372 return item[1], item[2], item[3], "message<groupchat" |
|
6142
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
373 end |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
374 |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
375 else |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
376 return nil, "unsupported-store"; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
377 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
378 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
379 |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
380 function archive:get(username, wanted_key) |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
381 local iter, err = self:find(username, { key = wanted_key }) |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
382 if not iter then return iter, err; end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
383 for key, stanza, when, with in iter do |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
384 if key == wanted_key then |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
385 return stanza, when, with; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
386 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
387 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
388 return nil, "item-not-found"; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
389 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
390 |
|
6141
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
391 function archive:set(username, key, new_value, new_when, new_with) -- luacheck: ignore 212/self username key new_value new_when new_with |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
392 return nil, "unsupported-store"; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
393 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
394 |
|
6141
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
395 function archive:dates(username) -- luacheck: ignore 212/self username |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
396 return nil, "unsupported-store"; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
397 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
398 |
|
6141
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
399 function archive:summary(username, query) -- luacheck: ignore 212/self username query |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
400 return nil, "unsupported-store"; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
401 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
402 |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
403 function archive:users() |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
404 if self.store == "archive" then |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
405 return datamanager.users(host, "archiving"); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
406 elseif self.store:sub(1, 4) == "pep_" then |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
407 local wanted_node = self.store:sub(5); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
408 local iter, tbl = datamanager.users(host, "pep"); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
409 return function() |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
410 while true do |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
411 local user = iter(tbl); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
412 if not user then |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
413 return; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
414 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
415 local data = datamanager.load(user, host, "pep"); |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
416 for _, node in ipairs(data["nodes"]) do |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
417 if node == wanted_node then |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
418 return user; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
419 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
420 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
421 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
422 end; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
423 elseif self.store == "offline" then |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
424 return datamanager.users(host, self.store, "list"); |
|
6137
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
425 elseif self.store == "uploads" then |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
426 local done = false; |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
427 return function() |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
428 if not done then |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
429 done = true; |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
430 return ""; |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
431 end |
|
11650fe276c0
mod_storage_metronome_readonly: Add support for migrating to mod_http_file_share
Link Mauve <linkmauve@linkmauve.fr>
parents:
6119
diff
changeset
|
432 end; |
|
6142
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
433 elseif self.store == "muc_log" then |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
434 local iter, tbl = pairs(datamanager.load(nil, host, "persistent")); |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
435 local jid = nil; |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
436 return function() |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
437 jid = iter(tbl, jid); |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
438 if not jid then |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
439 return; |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
440 end |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
441 local user = jid:gsub("@.*", ""); |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
442 return user; |
|
ec0e9d4f2275
mod_storage_metronome_readonly: Add support for mod_muc_mam storage
Link Mauve <linkmauve@linkmauve.fr>
parents:
6141
diff
changeset
|
443 end; |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
444 else |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
445 return nil, "unsupported-store"; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
446 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
447 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
448 |
|
6141
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
449 function archive:trim(username, to_when) -- luacheck: ignore 212/self username to_when |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
450 return nil, "unsupported-store"; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
451 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
452 |
|
6141
dcd16e349a7a
mod_storage_metronome_readonly: Fix luacheck warnings
Link Mauve <linkmauve@linkmauve.fr>
parents:
6138
diff
changeset
|
453 function archive:delete(username, query) -- luacheck: ignore 212/self username query |
|
6119
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
454 return nil, "unsupported-store"; |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
455 end |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
456 |
|
6ba0489e4828
mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
457 module:provides("storage", driver); |
