plugins/mod_storage_none.lua
author Kim Alvefur <zash@zash.se>
Tue, 14 May 2024 17:07:47 +0200
changeset 13494 6f840763fc73
parent 8064 ef671d337577
permissions -rw-r--r--
net.server_epoll: Add support for systemd socket activation Allows creating listening sockets and accepting client connections before Prosody starts. This is unlike normal Prosody dynamic resource management, where ports may added and removed at any time, and the ports defined by the config. Weird things happen if these are closed (e.g. due to reload) so here we prevent closing and ensure sockets are reused when opened again.
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);