diff --git a/src/utils/actions.js b/src/utils/actions.js index ccd38b3..08913f0 100755 --- a/src/utils/actions.js +++ b/src/utils/actions.js @@ -25,6 +25,7 @@ module.exports = { const dataFile = './publicDirs/qminingPublic/data.json' const recDataFile = './stats/recdata' +const dataLockFile = './data/lockData' const logger = require('../utils/logger.js') const { searchData, createQuestion } = require('../utils/classes.js') @@ -41,6 +42,7 @@ var currWrites = 0 function ProcessIncomingRequest(recievedData, qdb, dryRun, user) { return new Promise((resolve, reject) => { logger.DebugLog('Processing incoming request', 'actions', 1) + if (recievedData === undefined) { logger.Log('\tRecieved data is undefined!', logger.GetColor('redbg')) reject(new Error('Recieved data is undefined!')) @@ -63,6 +65,15 @@ function ProcessIncomingRequest(recievedData, qdb, dryRun, user) { logger.log('Error writing recieved data.') } + if (utils.FileExists(dataLockFile)) { + logger.Log( + 'Data lock file exists, skipping recieved data processing', + logger.GetColor('red') + ) + resolve(-1) + return + } + try { // recievedData: { version: "", id: "", subj: "" quiz: {} } let data = recievedData