From d409df2adf1261d82a4503c227e280b8c65f3f78 Mon Sep 17 00:00:00 2001 From: Mohammed Eldadah Date: Thu, 9 Jul 2020 12:39:54 +0300 Subject: [PATCH] implelemt patchCreatSamples function --- src/endpoints/patch-session.js | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/src/endpoints/patch-session.js b/src/endpoints/patch-session.js index 9321dc3..84876b1 100644 --- a/src/endpoints/patch-session.js +++ b/src/endpoints/patch-session.js @@ -44,6 +44,23 @@ module.exports = cors(async (req, res) => { return send(res, 200, {latestVersion, hashOfLatestState: hash(newJSON)}) }) +const patchCreateSamples = (async (sessionId, samplesToAdd) => { + const samplesQueries = [] + if (samplesToAdd.length) { + let sessionSampleId = -1 + const latestSample = db.prepare('SELECT * FROM sample_state WHERE session_short_id = ? ORDER BY session_sample_id DESC LIMIT 1').get(sessionId); + if (latestSample) { + sessionSampleId = parseInt(latestSample.session_sample_id) + } + + samplesToAdd.forEach((sample) => { + sessionSampleId += 1 + samplesQueries.push(db.prepare('INSERT INTO sample_state (session_short_id, session_sample_id, content) VALUES (?, ?, ?)').run(sessionId, sessionSampleId, JSON.stringify(sample))); + }) + } + return samplesQueries +}) + const patchSamplesAnnotation = (async (sessionId, samplePatches) => { const sampleIds = {} @@ -101,20 +118,7 @@ const patchSamples = (async (sessionId, samplePatches) => { } }) - const samplesQueries = [] - if (samplesToAdd.length) { - let sessionSampleId = -1 - const latestSample = db.prepare('SELECT * FROM sample_state WHERE session_short_id = ? ORDER BY session_sample_id DESC LIMIT 1').get(sessionId); - if (latestSample) { - sessionSampleId = parseInt(latestSample.session_sample_id) - } - - samplesToAdd.forEach((sample) => { - sessionSampleId += 1 - samplesQueries.push(db.prepare('INSERT INTO sample_state (session_short_id, session_sample_id, content) VALUES (?, ?, ?)').run(sessionId, sessionSampleId, JSON.stringify(sample))); - }) - } - + const patchCreateSamplesQuery = await patchCreateSamples(sessionId, samplesToAdd) const patchSamplesAnnotationQueries = await patchSamplesAnnotation(sessionId, samplesAnnotationPatches) - await Promise.all([...samplesQueries, ...patchSamplesAnnotationQueries]) + await Promise.all([...patchCreateSamplesQuery, ...patchSamplesAnnotationQueries]) }) \ No newline at end of file