X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=plugins%2Fmod_storage_internal.lua;h=972ecbee33d1b1a71c7f5a8b582ff6bb4c99c6ec;hb=21065eedba17777ce909972ae0c94ba4aed7a000;hp=821d1e1a32a6ca6d0cbf59cb9cfce75abe862f72;hpb=c0d4f7444ccb646cd748fe91d7fe3be9e31abf9e;p=prosody.git diff --git a/plugins/mod_storage_internal.lua b/plugins/mod_storage_internal.lua index 821d1e1a..972ecbee 100644 --- a/plugins/mod_storage_internal.lua +++ b/plugins/mod_storage_internal.lua @@ -2,11 +2,11 @@ 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) + return setmetatable({ store = store, type = typ }, driver_mt); end function driver:get(user) return datamanager.load(user, host, self.store); @@ -16,4 +16,16 @@ function driver:set(user, data) return datamanager.store(user, host, self.store, data); end -module:add_item("data-driver", driver); +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);