plugins/mod_storage_none.lua
author Kim Alvefur <zash@zash.se>
Sun, 24 Mar 2024 20:39:42 +0100
changeset 13466 720aed1f5cf2
parent 8064 ef671d337577
permissions -rw-r--r--
util.startup: Check root after detecting platform and reading config (thanks SigmaTel71) Ensures that startup.detect_platform() runs so know whether to use the POSIX method of checking the current user or something else. Also after reading the config so we know whether the root override setting is set.
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);