Software /
code /
prosody
Annotate
plugins/mod_storage_none.lua @ 9060:69bc3144c2b7
util.serialization: Tighten up type checks
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 29 Jul 2018 00:17:41 +0200 |
parent | 8061:ef671d337577 |
rev | line source |
---|---|
8058
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) |
8059
6a725b242804
mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents:
8058
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 |
8059
6a725b242804
mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents:
8058
diff
changeset
|
28 function driver:append() |
6a725b242804
mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents:
8058
diff
changeset
|
29 return nil, "Storage disabled"; |
6a725b242804
mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents:
8058
diff
changeset
|
30 end |
6a725b242804
mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents:
8058
diff
changeset
|
31 |
6a725b242804
mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents:
8058
diff
changeset
|
32 function driver:find() |
6a725b242804
mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents:
8058
diff
changeset
|
33 return function () end, 0; |
6a725b242804
mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents:
8058
diff
changeset
|
34 end |
6a725b242804
mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents:
8058
diff
changeset
|
35 |
8061
ef671d337577
mod_storage_none: Add a noop archive delete method
Kim Alvefur <zash@zash.se>
parents:
8059
diff
changeset
|
36 function driver:delete() |
ef671d337577
mod_storage_none: Add a noop archive delete method
Kim Alvefur <zash@zash.se>
parents:
8059
diff
changeset
|
37 return true; |
ef671d337577
mod_storage_none: Add a noop archive delete method
Kim Alvefur <zash@zash.se>
parents:
8059
diff
changeset
|
38 end |
ef671d337577
mod_storage_none: Add a noop archive delete method
Kim Alvefur <zash@zash.se>
parents:
8059
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); |