From 87867373a5fa3743642b3bd5c28881226f6a23e6 Mon Sep 17 00:00:00 2001 From: Moe Date: Thu, 7 Jul 2022 12:33:19 -0700 Subject: [PATCH] disallow Timelapse video build without a Monitor ID --- libs/timelapse.js | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/libs/timelapse.js b/libs/timelapse.js index 3923571c..0cfaeb71 100644 --- a/libs/timelapse.js +++ b/libs/timelapse.js @@ -408,25 +408,30 @@ module.exports = function(s,config,lang,app,io){ }){ return new Promise((resolve,reject) => { let response = {ok: false} - const frames = [] - var n = 0 - framesPosted.forEach((frame) => { - var firstParam = [['ke','=',groupKey],['mid','=',monitorId],['filename','=',frame.filename]] - if(n !== 0)firstParam[0] = (['or']).concat(firstParam[0]) - frames.push(...firstParam) - ++n - }) - s.knexQuery({ - action: "select", - columns: "*", - table: "Timelapse Frames", - where: frames - },async (err,r) => { - if(r.length > 0){ - response = await createVideoFromTimelapse(r.reverse(),framesPerSecond) - } + if(!monitorId){ + response.msg = lang['No Monitor Found, Ignoring Request'] resolve(response) - }) + }else{ + const frames = [] + var n = 0 + framesPosted.forEach((frame) => { + var firstParam = [['ke','=',groupKey],['mid','=',monitorId],['filename','=',frame.filename]] + if(n !== 0)firstParam[0] = (['or']).concat(firstParam[0]) + frames.push(...firstParam) + ++n + }) + s.knexQuery({ + action: "select", + columns: "*", + table: "Timelapse Frames", + where: frames + },async (err,r) => { + if(r.length > 0){ + response = await createVideoFromTimelapse(r.reverse(),framesPerSecond) + } + resolve(response) + }) + } }) } // Web Paths