aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/mod_storage_internal.lua
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2011-01-07 04:22:28 +0000
committerMatthew Wild <mwild1@gmail.com>2011-01-07 04:22:28 +0000
commit909cdebf943ad24ce00d5d50e630994ba08a47ec (patch)
tree2ea2d37f7862d53d17041f264f0c5751ac63e29d /plugins/mod_storage_internal.lua
parent63e8a974377169b294a43888ab0e076449c8facb (diff)
downloadprosody-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.lua19
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);