plugins/mod_storage_none.lua
author Kim Alvefur <zash@zash.se>
Thu, 28 Mar 2024 15:26:57 +0100
changeset 13472 98806cac64c3
parent 8064 ef671d337577
permissions -rw-r--r--
MUC: Switch to official XEP-0317 namespace for Hats (including compat) (thanks nicoco)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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);