2017-11-26 23:16:47 -05:00
|
|
|
const sql = require('./sql');
|
|
|
|
const utils = require('./utils');
|
|
|
|
const messaging = require('./messaging');
|
|
|
|
const options = require('./options');
|
2017-12-13 23:03:48 -05:00
|
|
|
const sync_setup = require('./sync_setup');
|
2017-11-26 23:16:47 -05:00
|
|
|
|
2017-12-10 12:56:59 -05:00
|
|
|
let startTime = utils.nowDate();
|
2017-11-26 23:16:47 -05:00
|
|
|
let sentSyncId = [];
|
|
|
|
|
2017-12-03 19:18:33 -05:00
|
|
|
async function sendPing() {
|
2017-12-16 20:48:34 -05:00
|
|
|
const syncs = await sql.getResults("SELECT * FROM sync WHERE sync_date >= ?", [startTime]);
|
2017-12-10 12:56:59 -05:00
|
|
|
startTime = utils.nowDate();
|
2017-11-26 23:16:47 -05:00
|
|
|
|
2017-12-16 20:48:34 -05:00
|
|
|
const syncData = syncs.filter(sync => !sentSyncId.includes(sync.id));
|
2017-11-26 23:16:47 -05:00
|
|
|
|
|
|
|
const lastSyncedPush = await options.getOption('last_synced_push');
|
|
|
|
|
|
|
|
const changesToPushCount = await sql.getSingleValue("SELECT COUNT(*) FROM sync WHERE id > ?", [lastSyncedPush]);
|
|
|
|
|
2017-11-28 18:33:23 -05:00
|
|
|
messaging.sendMessage({
|
2017-11-26 23:16:47 -05:00
|
|
|
type: 'sync',
|
2017-12-16 20:48:34 -05:00
|
|
|
data: syncData,
|
2017-12-13 23:03:48 -05:00
|
|
|
changesToPushCount: sync_setup.isSyncSetup ? changesToPushCount : 0
|
2017-11-26 23:16:47 -05:00
|
|
|
});
|
|
|
|
|
2017-12-16 20:48:34 -05:00
|
|
|
for (const sync of syncData) {
|
|
|
|
sentSyncId.push(sync.id);
|
2017-11-26 23:16:47 -05:00
|
|
|
}
|
2017-12-03 19:18:33 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
sql.dbReady.then(() => setInterval(sendPing, 1000));
|