2017-10-21 21:10:33 -04:00
|
|
|
"use strict";
|
|
|
|
|
2017-10-14 23:31:44 -04:00
|
|
|
const express = require('express');
|
|
|
|
const router = express.Router();
|
2017-10-15 19:47:05 -04:00
|
|
|
const sql = require('../../services/sql');
|
2017-11-02 20:48:02 -04:00
|
|
|
const options = require('../../services/options');
|
2017-10-15 19:47:05 -04:00
|
|
|
const auth = require('../../services/auth');
|
2017-11-01 22:36:26 -04:00
|
|
|
const sync = require('../../services/sync');
|
2017-11-24 20:51:44 -05:00
|
|
|
const source_id = require('../../services/source_id');
|
2017-10-14 23:31:44 -04:00
|
|
|
|
2017-11-01 22:36:26 -04:00
|
|
|
router.post('', auth.checkApiAuth, async (req, res, next) => {
|
|
|
|
const treeLoadTime = req.body.treeLoadTime;
|
|
|
|
const currentNoteId = req.body.currentNoteId;
|
2017-11-04 21:02:56 -04:00
|
|
|
const currentNoteLoadTime = req.body.currentNoteLoadTime;
|
2017-10-14 23:31:44 -04:00
|
|
|
|
2017-11-24 20:51:44 -05:00
|
|
|
const noteTreeChangesCount = await sql.getSingleValue("SELECT COUNT(*) FROM sync WHERE entity_name = 'notes_tree' AND source_id != ? " +
|
|
|
|
"AND sync_date >= ?", [source_id.currentSourceId, treeLoadTime]);
|
2017-10-14 23:31:44 -04:00
|
|
|
|
2017-11-24 20:51:44 -05:00
|
|
|
const currentNoteChangesCount = await sql.getSingleValue("SELECT COUNT(*) FROM sync WHERE source_id != ? " +
|
|
|
|
"AND sync_date >= ? AND entity_name = 'notes' AND entity_id = ?", [source_id.currentSourceId, currentNoteLoadTime, currentNoteId]);
|
2017-11-01 23:39:17 -04:00
|
|
|
|
2017-11-01 22:36:26 -04:00
|
|
|
let changesToPushCount = 0;
|
|
|
|
|
|
|
|
if (sync.isSyncSetup) {
|
2017-11-02 20:48:02 -04:00
|
|
|
const lastSyncedPush = await options.getOption('last_synced_push');
|
2017-11-01 22:36:26 -04:00
|
|
|
changesToPushCount = await sql.getSingleValue("SELECT COUNT(*) FROM sync WHERE id > ?", [lastSyncedPush]);
|
|
|
|
}
|
2017-11-01 20:31:44 -04:00
|
|
|
|
2017-10-14 23:31:44 -04:00
|
|
|
res.send({
|
2017-11-01 22:36:26 -04:00
|
|
|
'changedTree': noteTreeChangesCount > 0,
|
|
|
|
'changedCurrentNote': currentNoteChangesCount > 0,
|
2017-11-01 20:31:44 -04:00
|
|
|
'changesToPushCount': changesToPushCount
|
2017-10-14 23:31:44 -04:00
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
module.exports = router;
|