From d5bb38e808a7b9d2a97470184ce22804a2deacd6 Mon Sep 17 00:00:00 2001 From: zefie Date: Sat, 5 Nov 2022 15:48:37 -0400 Subject: [PATCH] Fix couldn't register if accounts directory didn't exist --- zefie_wtvp_minisrv/includes/WTVRegister.js | 34 ++++++++++++---------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/zefie_wtvp_minisrv/includes/WTVRegister.js b/zefie_wtvp_minisrv/includes/WTVRegister.js index 6ad617e4..c882802f 100644 --- a/zefie_wtvp_minisrv/includes/WTVRegister.js +++ b/zefie_wtvp_minisrv/includes/WTVRegister.js @@ -45,23 +45,25 @@ class WTVRegister { // check against user accounts var search_dir = this.session_store_dir + this.path.sep + "accounts"; if (directory) search_dir = directory; - this.fs.readdirSync(search_dir).forEach(file => { - if (self.fs.lstatSync(search_dir + self.path.sep + file).isDirectory() && !return_val) { - return_val = !self.checkUsernameAvailable(username, search_dir + self.path.sep + file); - } - if (!file.match(/user.*\.json/ig)) return; - try { - var temp_session_data_file = self.fs.readFileSync(search_dir + self.path.sep + file, 'Utf8'); - var temp_session_data = JSON.parse(temp_session_data_file); - if (temp_session_data.subscriber_username) { - if (temp_session_data.subscriber_username.toLowerCase() == username.toLowerCase()) { - return_val = true; - } + if (this.fs.existsSync(directory)) { + this.fs.readdirSync(search_dir).forEach(file => { + if (self.fs.lstatSync(search_dir + self.path.sep + file).isDirectory() && !return_val) { + return_val = !self.checkUsernameAvailable(username, search_dir + self.path.sep + file); } - } catch (e) { - console.error(" # Error parsing Session Data JSON", search_dir + self.path.sep + file, e); - } - }); + if (!file.match(/user.*\.json/ig)) return; + try { + var temp_session_data_file = self.fs.readFileSync(search_dir + self.path.sep + file, 'Utf8'); + var temp_session_data = JSON.parse(temp_session_data_file); + if (temp_session_data.subscriber_username) { + if (temp_session_data.subscriber_username.toLowerCase() == username.toLowerCase()) { + return_val = true; + } + } + } catch (e) { + console.error(" # Error parsing Session Data JSON", search_dir + self.path.sep + file, e); + } + }); + } return !return_val; }