From a701d0fe836bd087ad3f6542c9569789696fa4c8 Mon Sep 17 00:00:00 2001 From: Tzahi12345 Date: Wed, 29 Apr 2020 00:12:50 -0400 Subject: [PATCH] Fixes bug (hopefully) that causes stale data to be saved to the db due to multiple adapters instances being used. Now the db adapter gets passed as a parameter --- backend/app.js | 2 +- backend/subscriptions.js | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/backend/app.js b/backend/app.js index 98facb1..dd25feb 100644 --- a/backend/app.js +++ b/backend/app.js @@ -61,7 +61,7 @@ const logger = winston.createLogger({ }); config_api.setLogger(logger); -subscriptions_api.setLogger(logger); +subscriptions_api.initialize(db, logger); // var GithubContent = require('github-content'); diff --git a/backend/subscriptions.js b/backend/subscriptions.js index 476292b..e542714 100644 --- a/backend/subscriptions.js +++ b/backend/subscriptions.js @@ -1,4 +1,3 @@ -const low = require('lowdb') const FileSync = require('lowdb/adapters/FileSync') var fs = require('fs-extra'); @@ -8,14 +7,18 @@ var path = require('path'); var youtubedl = require('youtube-dl'); const config_api = require('./config'); -const adapter = new FileSync('./appdata/db.json'); -const db = low(adapter) - const debugMode = process.env.YTDL_MODE === 'debug'; var logger = null; +var db = null; +function setDB(input_db) { db = input_db; } function setLogger(input_logger) { logger = input_logger; } +function initialize(input_db, input_logger) { + setDB(input_db); + setLogger(input_logger); +} + async function subscribe(sub) { const result_obj = { success: false, @@ -328,5 +331,6 @@ module.exports = { deleteSubscriptionFile : deleteSubscriptionFile, getVideosForSub : getVideosForSub, removeIDFromArchive : removeIDFromArchive, - setLogger : setLogger + setLogger : setLogger, + initialize : initialize }