From ccdf89c58272411b7ffcbb3d91a00d0c75a83d1d Mon Sep 17 00:00:00 2001 From: zefie Date: Wed, 9 Feb 2022 23:37:30 -0500 Subject: [PATCH] update wtvmail.checkUserExists with new multiuser code --- zefie_wtvp_minisrv/WTVMail.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/zefie_wtvp_minisrv/WTVMail.js b/zefie_wtvp_minisrv/WTVMail.js index 1b1ded8f..78ff21cb 100644 --- a/zefie_wtvp_minisrv/WTVMail.js +++ b/zefie_wtvp_minisrv/WTVMail.js @@ -293,16 +293,23 @@ class WTVMail { checkUserExists(username) { // returns the user's SSID if true, false if not var username_match = false; + var search_dir = this.session_store_dir; var return_val = false; - this.fs.readdirSync(this.minisrv_config.config.SessionStore).forEach(file => { + var self = this; + if (directory) search_dir = directory; + this.fs.readdirSync(search_dir).forEach(file => { + if (self.fs.lstatSync(search_dir + self.path.sep + file).isDirectory()) { + return self.checkUsernameAvailable(username, ssid_sessions, search_dir + self.path.sep + file); + } if (!file.match(/.*\.json/ig)) return; if (username_match) return; try { - var temp_session_data_file = this.fs.readFileSync(this.minisrv_config.config.SessionStore + this.path.sep + file, 'Utf8'); + var temp_session_data_file = this.fs.readFileSync(search_dir + this.path.sep + file, 'Utf8'); var temp_session_data = JSON.parse(temp_session_data_file); if (temp_session_data.subscriber_username.toLowerCase() == username.toLowerCase()) return_val = temp_session_data.subscriber_username; } catch (e) { console.error(" # Error parsing Session Data JSON", file, e); + username_match = true; } }); return return_val;