Test connection string now uses the currently typed in connection string rather than the last saved one

This commit is contained in:
Isaac Abadi
2021-07-26 20:31:35 -07:00
parent fb5c13db27
commit 258d5ff495
5 changed files with 15 additions and 10 deletions

View File

@@ -74,9 +74,9 @@ exports.initialize = (input_db, input_users_db, input_logger) => {
using_local_db = config_api.getConfigItem('ytdl_use_local_db');
}
exports.connectToDB = async (retries = 5, no_fallback = false) => {
exports.connectToDB = async (retries = 5, no_fallback = false, custom_connection_string = null) => {
if (using_local_db) return;
const success = await exports._connectToDB();
const success = await exports._connectToDB(custom_connection_string);
if (success) return true;
if (retries) {
@@ -108,8 +108,8 @@ exports.connectToDB = async (retries = 5, no_fallback = false) => {
return true;
}
exports._connectToDB = async () => {
const uri = config_api.getConfigItem('ytdl_mongodb_connection_string'); // "mongodb://127.0.0.1:27017/?compressors=zlib&gssapiServiceName=mongodb";
exports._connectToDB = async (custom_connection_string = null) => {
const uri = !custom_connection_string ? config_api.getConfigItem('ytdl_mongodb_connection_string') : custom_connection_string; // "mongodb://127.0.0.1:27017/?compressors=zlib&gssapiServiceName=mongodb";
const client = new MongoClient(uri, {
useNewUrlParser: true,
useUnifiedTopology: true,
@@ -118,6 +118,10 @@ exports._connectToDB = async () => {
try {
await client.connect();
database = client.db('ytdl_material');
// avoid doing anything else if it's just a test
if (custom_connection_string) return true;
const existing_collections = (await database.listCollections({}, { nameOnly: true }).toArray()).map(collection => collection.name);
const missing_tables = tables_list.filter(table => !(existing_collections.includes(table)));