diff options
author | Matthew Wild <mwild1@gmail.com> | 2011-01-07 04:22:28 +0000 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2011-01-07 04:22:28 +0000 |
commit | 909cdebf943ad24ce00d5d50e630994ba08a47ec (patch) | |
tree | 2ea2d37f7862d53d17041f264f0c5751ac63e29d /plugins/mod_storage_internal.lua | |
parent | 63e8a974377169b294a43888ab0e076449c8facb (diff) | |
download | prosody-909cdebf943ad24ce00d5d50e630994ba08a47ec.tar.gz prosody-909cdebf943ad24ce00d5d50e630994ba08a47ec.zip |
storagemanager, mod_storage_internal: Split out default driver to mod_storage_internal, and greatly simplify storagemanager's error handling and fallback code
Diffstat (limited to 'plugins/mod_storage_internal.lua')
-rw-r--r-- | plugins/mod_storage_internal.lua | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/plugins/mod_storage_internal.lua b/plugins/mod_storage_internal.lua new file mode 100644 index 00000000..821d1e1a --- /dev/null +++ b/plugins/mod_storage_internal.lua @@ -0,0 +1,19 @@ +local datamanager = require "core.storagemanager".olddm; + +local host = module.host; + +local driver = { name = "internal" }; +local driver_mt = { __index = driver }; + +function driver:open(store) + return setmetatable({ store = store }, 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 + +module:add_item("data-driver", driver); |