author | Kim Alvefur <zash@zash.se> |
Thu, 04 Nov 2021 01:00:06 +0100 | |
branch | 0.11 |
changeset 12093 | 76b4e3f12b53 |
parent 8064 | ef671d337577 |
permissions | -rw-r--r-- |
8061
1b35a562528d
mod_storage_none: Ignore unused arguments [luacheck]
Kim Alvefur <zash@zash.se>
parents:
6283
diff
changeset
|
1 |
-- luacheck: ignore 212 |
1b35a562528d
mod_storage_none: Ignore unused arguments [luacheck]
Kim Alvefur <zash@zash.se>
parents:
6283
diff
changeset
|
2 |
|
5425
b00812c6daf8
mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
3 |
local driver = {}; |
b00812c6daf8
mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
4 |
local driver_mt = { __index = driver }; |
b00812c6daf8
mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
5 |
|
6283
7cf6d3a2c855
mod_storage_{none,internal,sql}: Return error for unsupported (everything but keyval) store types
Kim Alvefur <zash@zash.se>
parents:
5425
diff
changeset
|
6 |
function driver:open(store, typ) |
8062
6a725b242804
mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents:
8061
diff
changeset
|
7 |
if typ and typ ~= "keyval" and typ ~= "archive" then |
6283
7cf6d3a2c855
mod_storage_{none,internal,sql}: Return error for unsupported (everything but keyval) store types
Kim Alvefur <zash@zash.se>
parents:
5425
diff
changeset
|
8 |
return nil, "unsupported-store"; |
7cf6d3a2c855
mod_storage_{none,internal,sql}: Return error for unsupported (everything but keyval) store types
Kim Alvefur <zash@zash.se>
parents:
5425
diff
changeset
|
9 |
end |
7cf6d3a2c855
mod_storage_{none,internal,sql}: Return error for unsupported (everything but keyval) store types
Kim Alvefur <zash@zash.se>
parents:
5425
diff
changeset
|
10 |
return setmetatable({ store = store, type = typ }, driver_mt); |
5425
b00812c6daf8
mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
11 |
end |
b00812c6daf8
mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
12 |
function driver:get(user) |
b00812c6daf8
mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
13 |
return {}; |
b00812c6daf8
mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
14 |
end |
b00812c6daf8
mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
15 |
|
b00812c6daf8
mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
16 |
function driver:set(user, data) |
b00812c6daf8
mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
17 |
return nil, "Storage disabled"; |
b00812c6daf8
mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
18 |
end |
b00812c6daf8
mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
19 |
|
b00812c6daf8
mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
20 |
function driver:stores(username) |
b00812c6daf8
mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
21 |
return { "roster" }; |
b00812c6daf8
mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
22 |
end |
b00812c6daf8
mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
23 |
|
b00812c6daf8
mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
24 |
function driver:purge(user) |
b00812c6daf8
mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
25 |
return true; |
b00812c6daf8
mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
26 |
end |
b00812c6daf8
mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
27 |
|
8062
6a725b242804
mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents:
8061
diff
changeset
|
28 |
function driver:append() |
6a725b242804
mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents:
8061
diff
changeset
|
29 |
return nil, "Storage disabled"; |
6a725b242804
mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents:
8061
diff
changeset
|
30 |
end |
6a725b242804
mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents:
8061
diff
changeset
|
31 |
|
6a725b242804
mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents:
8061
diff
changeset
|
32 |
function driver:find() |
6a725b242804
mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents:
8061
diff
changeset
|
33 |
return function () end, 0; |
6a725b242804
mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents:
8061
diff
changeset
|
34 |
end |
6a725b242804
mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents:
8061
diff
changeset
|
35 |
|
8064
ef671d337577
mod_storage_none: Add a noop archive delete method
Kim Alvefur <zash@zash.se>
parents:
8062
diff
changeset
|
36 |
function driver:delete() |
ef671d337577
mod_storage_none: Add a noop archive delete method
Kim Alvefur <zash@zash.se>
parents:
8062
diff
changeset
|
37 |
return true; |
ef671d337577
mod_storage_none: Add a noop archive delete method
Kim Alvefur <zash@zash.se>
parents:
8062
diff
changeset
|
38 |
end |
ef671d337577
mod_storage_none: Add a noop archive delete method
Kim Alvefur <zash@zash.se>
parents:
8062
diff
changeset
|
39 |
|
5425
b00812c6daf8
mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
40 |
module:provides("storage", driver); |