From a1c6c07c4426b65e5b40e0b5c903d78ae07e99d4 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Sat, 28 Jul 2012 21:27:45 +0200 Subject: mod_storage_sql: Add method for listing stores --- plugins/mod_storage_sql.lua | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'plugins') diff --git a/plugins/mod_storage_sql.lua b/plugins/mod_storage_sql.lua index 8b05c822..211f4d5f 100644 --- a/plugins/mod_storage_sql.lua +++ b/plugins/mod_storage_sql.lua @@ -352,4 +352,22 @@ function driver:open(store, typ) return nil, "unsupported-store"; end +function driver:list_stores(username) -- Not to be confused with the list store type + local sql = (username == true + and "SELECT DISTINCT `store` FROM `prosody` WHERE `host`=? AND `user`!=?" + or "SELECT DISTINCT `store` FROM `prosody` WHERE `host`=? AND `user`=?"); + if username == true or not username then + username = ""; + end + local stmt, err = dosql(sql, host, username); + if not stmt then + return nil, err; + end + local stores = {}; + for row in stmt:rows() do + stores[#stores+1] = row[1]; + end + return stores; +end + module:add_item("data-driver", driver); -- cgit v1.2.3