mirror of
				https://github.com/zadam/trilium.git
				synced 2025-11-03 20:06:08 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			46 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
"use strict";
 | 
						|
 | 
						|
const express = require('express');
 | 
						|
const router = express.Router();
 | 
						|
const sql = require('../../services/sql');
 | 
						|
const options = require('../../services/options');
 | 
						|
const auth = require('../../services/auth');
 | 
						|
const sync = require('../../services/sync');
 | 
						|
const audit_category = require('../../services/audit_category');
 | 
						|
 | 
						|
router.post('', auth.checkApiAuth, async (req, res, next) => {
 | 
						|
    const treeLoadTime = req.body.treeLoadTime;
 | 
						|
    const currentNoteId = req.body.currentNoteId;
 | 
						|
    const currentNoteDateModified = req.body.currentNoteDateModified;
 | 
						|
 | 
						|
    const browserId = req.get('x-browser-id');
 | 
						|
 | 
						|
    const noteTreeChangesCount = await sql.getSingleValue("SELECT COUNT(*) FROM audit_log WHERE (browser_id IS NULL OR browser_id != ?) " +
 | 
						|
        "AND date_modified >= ? AND category IN (?, ?, ?)", [browserId, treeLoadTime,
 | 
						|
        audit_category.UPDATE_TITLE, audit_category.CHANGE_PARENT, audit_category.CHANGE_POSITION]);
 | 
						|
 | 
						|
    const currentNoteChangesCount = await sql.getSingleValue("SELECT COUNT(*) FROM audit_log WHERE (browser_id IS NULL OR browser_id != ?) " +
 | 
						|
        "AND date_modified >= ? AND note_id = ? AND category IN (?)", [browserId, currentNoteDateModified, currentNoteId,
 | 
						|
        audit_category.UPDATE_CONTENT]);
 | 
						|
 | 
						|
    if (currentNoteChangesCount > 0) {
 | 
						|
        console.log("Current note changed!");
 | 
						|
        console.log("SELECT COUNT(*) FROM audit_log WHERE (browser_id IS NULL OR browser_id != '" + browserId + "') " +
 | 
						|
            "AND date_modified >= " + currentNoteDateModified + " AND note_id = '" + currentNoteId + "' AND category IN ('" + audit_category.UPDATE_CONTENT + "')");
 | 
						|
    }
 | 
						|
 | 
						|
    let changesToPushCount = 0;
 | 
						|
 | 
						|
    if (sync.isSyncSetup) {
 | 
						|
        const lastSyncedPush = await options.getOption('last_synced_push');
 | 
						|
        changesToPushCount = await sql.getSingleValue("SELECT COUNT(*) FROM sync WHERE id > ?", [lastSyncedPush]);
 | 
						|
    }
 | 
						|
 | 
						|
    res.send({
 | 
						|
        'changedTree': noteTreeChangesCount > 0,
 | 
						|
        'changedCurrentNote': currentNoteChangesCount > 0,
 | 
						|
        'changesToPushCount': changesToPushCount
 | 
						|
    });
 | 
						|
});
 | 
						|
 | 
						|
module.exports = router; |