X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=plugins%2Fmod_storage_internal.lua;h=ade4f0a656ec7b12ee15076c4823fe48be382b2c;hb=3c561ed7ab90acb90ea8cec61d912586b91fe56b;hp=d8fdfc6f35764314d39a87ab5aca9e24c3273a07;hpb=151e6945b18579168d500a7863a43d4adcd9a64c;p=prosody.git diff --git a/plugins/mod_storage_internal.lua b/plugins/mod_storage_internal.lua index d8fdfc6f..ade4f0a6 100644 --- a/plugins/mod_storage_internal.lua +++ b/plugins/mod_storage_internal.lua @@ -2,11 +2,14 @@ local datamanager = require "core.storagemanager".olddm; local host = module.host; -local driver = { name = "internal" }; +local driver = {}; local driver_mt = { __index = driver }; -function driver:open(store) - return setmetatable({ store = store }, driver_mt); +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); @@ -20,8 +23,12 @@ 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:add_item("data-driver", driver); +module:provides("storage", driver);