File

plugins/mod_storage_internal.lua @ 7435:8603b16e85c7

util.cache: Add support for creating a proxy table to a cache, that looks and acts (mostly) like a normal table. No tests yet.
author Matthew Wild <mwild1@gmail.com>
date Sun, 22 May 2016 18:18:23 +0100
parent 6283:7cf6d3a2c855
child 8018:9545d0a9401f
line wrap: on
line source

local datamanager = require "core.storagemanager".olddm;

local host = module.host;

local driver = {};
local driver_mt = { __index = driver };

function driver:open(store, typ)
	if typ and typ ~= "keyval" then
		return nil, "unsupported-store";
	end
	return setmetatable({ store = store, type = typ }, driver_mt);
end
function driver:get(user)
	return datamanager.load(user, host, self.store);
end

function driver:set(user, data)
	return datamanager.store(user, host, self.store, data);
end

function driver:stores(username)
	return datamanager.stores(username, host);
end

function driver:users()
	return datamanager.users(host, self.store, self.type);
end

function driver:purge(user)
	return datamanager.purge(user, host);
end

module:provides("storage", driver);