backend import unification

This commit is contained in:
zadam 2021-06-29 22:15:57 +02:00
parent b9ff481eb7
commit b660238a40
64 changed files with 172 additions and 200 deletions

View File

@ -1,4 +1,4 @@
FROM node:14.17.0-alpine FROM node:14.17.1-alpine
# Create app directory # Create app directory
WORKDIR /usr/src/app WORKDIR /usr/src/app

1
TODO
View File

@ -1,4 +1,3 @@
- all ribbon tabs should have assignable shortcut
- new icon - new icon
- polish becca entities API - polish becca entities API
- separate private and public APIs in becca entities - separate private and public APIs in becca entities

View File

@ -1,7 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
PKG_DIR=dist/trilium-linux-x64-server PKG_DIR=dist/trilium-linux-x64-server
NODE_VERSION=14.17.0 NODE_VERSION=14.17.1
if [ "$1" != "DONTCOPY" ] if [ "$1" != "DONTCOPY" ]
then then

66
package-lock.json generated
View File

@ -1,6 +1,6 @@
{ {
"name": "trilium", "name": "trilium",
"version": "0.47.4", "version": "0.47.5",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
@ -725,9 +725,9 @@
} }
}, },
"@types/estree": { "@types/estree": {
"version": "0.0.47", "version": "0.0.48",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.47.tgz", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.48.tgz",
"integrity": "sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg==", "integrity": "sha512-LfZwXoGUDo0C3me81HXgkBg5CTQYb6xzEl+fNmbO4JdRiSKQ8A0GD1OBBvKAIsbCUgoyAty7m99GqqMQe784ew==",
"dev": true "dev": true
}, },
"@types/fs-extra": { "@types/fs-extra": {
@ -1930,9 +1930,9 @@
"dev": true "dev": true
}, },
"caniuse-lite": { "caniuse-lite": {
"version": "1.0.30001239", "version": "1.0.30001241",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001239.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001241.tgz",
"integrity": "sha512-cyBkXJDMeI4wthy8xJ2FvDU6+0dtcZSJW3voUF8+e9f1bBeuvyZfc3PNbkOETyhbR+dGCPzn9E7MA3iwzusOhQ==", "integrity": "sha512-1uoSZ1Pq1VpH0WerIMqwptXHNNGfdl7d1cJUFs80CwQ/lVzdhTvsFZCeNFslze7AjsQnb4C85tzclPa1VShbeQ==",
"dev": true "dev": true
}, },
"caseless": { "caseless": {
@ -3769,9 +3769,9 @@
} }
}, },
"electron-to-chromium": { "electron-to-chromium": {
"version": "1.3.756", "version": "1.3.761",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.756.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.761.tgz",
"integrity": "sha512-WsmJym1TMeHVndjPjczTFbnRR/c4sbzg8fBFtuhlb2Sru3i/S1VGpzDSrv/It8ctMU2bj8G7g7/O3FzYMGw6eA==", "integrity": "sha512-7a/wV/plM/b95XjTdA2Q4zAxxExTDKkNQpTiaU/nVT8tGCQVtX9NsnTjhALBFICpOB58hU6xg5fFC3CT2Bybpg==",
"dev": true "dev": true
}, },
"electron-window-state": { "electron-window-state": {
@ -5143,9 +5143,9 @@
"dev": true "dev": true
}, },
"jest-worker": { "jest-worker": {
"version": "27.0.2", "version": "27.0.6",
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.2.tgz", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.6.tgz",
"integrity": "sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==", "integrity": "sha512-qupxcj/dRuA3xHPMUd40gr2EaAurFbkwzOh7wfPaeE9id7hyjURRQoqNfHifHK3XjJU6YJJUQKILGUnwGPEOCA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/node": "*", "@types/node": "*",
@ -7279,9 +7279,9 @@
} }
}, },
"serialize-javascript": { "serialize-javascript": {
"version": "5.0.1", "version": "6.0.0",
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
"integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
"dev": true, "dev": true,
"requires": { "requires": {
"randombytes": "^2.1.0" "randombytes": "^2.1.0"
@ -7769,9 +7769,9 @@
} }
}, },
"terser": { "terser": {
"version": "5.7.0", "version": "5.7.1",
"resolved": "https://registry.npmjs.org/terser/-/terser-5.7.0.tgz", "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.1.tgz",
"integrity": "sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==", "integrity": "sha512-b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg==",
"dev": true, "dev": true,
"requires": { "requires": {
"commander": "^2.20.0", "commander": "^2.20.0",
@ -7794,15 +7794,15 @@
} }
}, },
"terser-webpack-plugin": { "terser-webpack-plugin": {
"version": "5.1.3", "version": "5.1.4",
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.3.tgz", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.4.tgz",
"integrity": "sha512-cxGbMqr6+A2hrIB5ehFIF+F/iST5ZOxvOmy9zih9ySbP1C2oEWQSOUS+2SNBTjzx5xLKO4xnod9eywdfq1Nb9A==", "integrity": "sha512-C2WkFwstHDhVEmsmlCxrXUtVklS+Ir1A7twrYzrDrQQOIMOaVAYykaoo/Aq1K0QRkMoY2hhvDQY1cm4jnIMFwA==",
"dev": true, "dev": true,
"requires": { "requires": {
"jest-worker": "^27.0.2", "jest-worker": "^27.0.2",
"p-limit": "^3.1.0", "p-limit": "^3.1.0",
"schema-utils": "^3.0.0", "schema-utils": "^3.0.0",
"serialize-javascript": "^5.0.1", "serialize-javascript": "^6.0.0",
"source-map": "^0.6.1", "source-map": "^0.6.1",
"terser": "^5.7.0" "terser": "^5.7.0"
}, },
@ -7925,9 +7925,9 @@
} }
}, },
"turndown": { "turndown": {
"version": "7.0.0", "version": "7.1.1",
"resolved": "https://registry.npmjs.org/turndown/-/turndown-7.0.0.tgz", "resolved": "https://registry.npmjs.org/turndown/-/turndown-7.1.1.tgz",
"integrity": "sha512-G1FfxfR0mUNMeGjszLYl3kxtopC4O9DRRiMlMDDVHvU1jaBkGFg4qxIyjIk2aiKLHyDyZvZyu4qBO2guuYBy3Q==", "integrity": "sha512-BEkXaWH7Wh7e9bd2QumhfAXk5g34+6QUmmWx+0q6ThaVOLuLUqsnkq35HQ5SBHSaxjSfSM7US5o4lhJNH7B9MA==",
"requires": { "requires": {
"domino": "^2.1.6" "domino": "^2.1.6"
} }
@ -8226,13 +8226,13 @@
"integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w=="
}, },
"webpack": { "webpack": {
"version": "5.40.0", "version": "5.41.1",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.40.0.tgz", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.41.1.tgz",
"integrity": "sha512-c7f5e/WWrxXWUzQqTBg54vBs5RgcAgpvKE4F4VegVgfo4x660ZxYUF2/hpMkZUnLjgytVTitjeXaN4IPlXCGIw==", "integrity": "sha512-AJZIIsqJ/MVTmegEq9Tlw5mk5EHdGiJbDdz9qP15vmUH+oxI1FdWcL0E9EO8K/zKaRPWqEs7G/OPxq1P61u5Ug==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/eslint-scope": "^3.7.0", "@types/eslint-scope": "^3.7.0",
"@types/estree": "^0.0.47", "@types/estree": "^0.0.48",
"@webassemblyjs/ast": "1.11.0", "@webassemblyjs/ast": "1.11.0",
"@webassemblyjs/wasm-edit": "1.11.0", "@webassemblyjs/wasm-edit": "1.11.0",
"@webassemblyjs/wasm-parser": "1.11.0", "@webassemblyjs/wasm-parser": "1.11.0",
@ -8508,9 +8508,9 @@
} }
}, },
"ws": { "ws": {
"version": "7.5.0", "version": "7.5.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.0.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.1.tgz",
"integrity": "sha512-6ezXvzOZupqKj4jUqbQ9tXuJNo+BR2gU8fFRk3XCP3e0G6WT414u5ELe6Y0vtp7kmSJ3F7YWObSNr1ESsgi4vw==" "integrity": "sha512-2c6faOUH/nhoQN6abwMloF7Iyl0ZS2E9HGtsiLrWn0zOOMWlhtDmdf/uihDt6jnuCxgtwGBNy6Onsoy2s2O2Ow=="
}, },
"xdg-basedir": { "xdg-basedir": {
"version": "4.0.0", "version": "4.0.0",

View File

@ -74,9 +74,9 @@
"stream-throttle": "^0.1.3", "stream-throttle": "^0.1.3",
"striptags": "3.2.0", "striptags": "3.2.0",
"tmp": "^0.2.1", "tmp": "^0.2.1",
"turndown": "7.0.0", "turndown": "7.1.1",
"unescape": "1.0.1", "unescape": "1.0.1",
"ws": "7.5.0", "ws": "7.5.1",
"yauzl": "2.10.0" "yauzl": "2.10.0"
}, },
"devDependencies": { "devDependencies": {
@ -90,7 +90,7 @@
"jsdoc": "3.6.7", "jsdoc": "3.6.7",
"lorem-ipsum": "2.0.3", "lorem-ipsum": "2.0.3",
"rcedit": "3.0.0", "rcedit": "3.0.0",
"webpack": "5.40.0", "webpack": "5.41.1",
"webpack-cli": "4.7.2" "webpack-cli": "4.7.2"
}, },
"optionalDependencies": { "optionalDependencies": {

View File

@ -1,9 +1,10 @@
const Note = require('./entities/note.js'); const Note = require('./entities/note');
const NoteRevision = require('./entities/note_revision.js'); const NoteRevision = require('./entities/note_revision');
const Branch = require('./entities/branch.js'); const Branch = require('./entities/branch');
const Attribute = require('./entities/attribute.js'); const Attribute = require('./entities/attribute');
const RecentNote = require('./entities/recent_note.js'); const RecentNote = require('./entities/recent_note');
const ApiToken = require('./entities/api_token.js'); const ApiToken = require('./entities/api_token');
const Option = require('./entities/option');
const ENTITY_NAME_TO_ENTITY = { const ENTITY_NAME_TO_ENTITY = {
"attributes": Attribute, "attributes": Attribute,
@ -14,6 +15,7 @@ const ENTITY_NAME_TO_ENTITY = {
"note_revision_contents": NoteRevision, "note_revision_contents": NoteRevision,
"recent_notes": RecentNote, "recent_notes": RecentNote,
"api_tokens": ApiToken, "api_tokens": ApiToken,
"options": Option
}; };
function getEntityFromEntityName(entityName) { function getEntityFromEntityName(entityName) {
@ -24,35 +26,6 @@ function getEntityFromEntityName(entityName) {
return ENTITY_NAME_TO_ENTITY[entityName]; return ENTITY_NAME_TO_ENTITY[entityName];
} }
function createEntityFromRow(row) {
let entity;
if (row.attributeId) {
entity = new Attribute(row);
}
else if (row.noteRevisionId) {
entity = new NoteRevision(row);
}
else if (row.branchId && row.notePath) {
entity = new RecentNote(row);
}
else if (row.apiTokenId) {
entity = new ApiToken(row);
}
else if (row.branchId) {
entity = new Branch(row);
}
else if (row.noteId) {
entity = new Note(row);
}
else {
throw new Error('Unknown entity type for row: ' + JSON.stringify(row));
}
return entity;
}
module.exports = { module.exports = {
createEntityFromRow,
getEntityFromEntityName getEntityFromEntityName
}; };

View File

@ -3,8 +3,8 @@
const sql = require('../../services/sql'); const sql = require('../../services/sql');
const log = require('../../services/log'); const log = require('../../services/log');
const attributeService = require('../../services/attributes'); const attributeService = require('../../services/attributes');
const Attribute = require('../../becca/entities/attribute.js'); const Attribute = require('../../becca/entities/attribute');
const becca = require("../../becca/becca.js"); const becca = require("../../becca/becca");
function getEffectiveNoteAttributes(req) { function getEffectiveNoteAttributes(req) {
const note = becca.getNote(req.params.noteId); const note = becca.getNote(req.params.noteId);

View File

@ -1,11 +1,11 @@
"use strict"; "use strict";
const beccaService = require('../../becca/becca_service.js'); const beccaService = require('../../becca/becca_service');
const searchService = require('../../services/search/services/search.js'); const searchService = require('../../services/search/services/search');
const log = require('../../services/log'); const log = require('../../services/log');
const utils = require('../../services/utils'); const utils = require('../../services/utils');
const cls = require('../../services/cls'); const cls = require('../../services/cls');
const becca = require("../../becca/becca.js"); const becca = require("../../becca/becca");
function getAutocomplete(req) { function getAutocomplete(req) {
const query = req.query.query.trim(); const query = req.query.query.trim();

View File

@ -2,7 +2,7 @@
const fs = require('fs'); const fs = require('fs');
const dateUtils = require('../../services/date_utils'); const dateUtils = require('../../services/date_utils');
const {LOG_DIR} = require('../../services/data_dir.js'); const {LOG_DIR} = require('../../services/data_dir');
function getBackendLog() { function getBackendLog() {
const file = `${LOG_DIR}/trilium-${dateUtils.localNowDate()}.log`; const file = `${LOG_DIR}/trilium-${dateUtils.localNowDate()}.log`;

View File

@ -2,10 +2,10 @@
const sql = require('../../services/sql'); const sql = require('../../services/sql');
const utils = require('../../services/utils'); const utils = require('../../services/utils');
const entityChangesService = require('../../services/entity_changes.js'); const entityChangesService = require('../../services/entity_changes');
const treeService = require('../../services/tree'); const treeService = require('../../services/tree');
const noteService = require('../../services/notes'); const noteService = require('../../services/notes');
const becca = require('../../becca/becca.js'); const becca = require('../../becca/becca');
const TaskContext = require('../../services/task_context'); const TaskContext = require('../../services/task_context');
/** /**

View File

@ -6,13 +6,13 @@ const dateNoteService = require('../../services/date_notes');
const dateUtils = require('../../services/date_utils'); const dateUtils = require('../../services/date_utils');
const imageService = require('../../services/image'); const imageService = require('../../services/image');
const appInfo = require('../../services/app_info'); const appInfo = require('../../services/app_info');
const ws = require('../../services/ws.js'); const ws = require('../../services/ws');
const log = require('../../services/log'); const log = require('../../services/log');
const utils = require('../../services/utils'); const utils = require('../../services/utils');
const path = require('path'); const path = require('path');
const Attribute = require('../../becca/entities/attribute.js'); const Attribute = require('../../becca/entities/attribute');
const htmlSanitizer = require('../../services/html_sanitizer'); const htmlSanitizer = require('../../services/html_sanitizer');
const {formatAttrForSearch} = require("../../services/attribute_formatter.js"); const {formatAttrForSearch} = require("../../services/attribute_formatter");
function findClippingNote(todayNote, pageUrl) { function findClippingNote(todayNote, pageUrl) {
const notes = todayNote.searchNoteInSubtree( const notes = todayNote.searchNoteInSubtree(

View File

@ -9,7 +9,7 @@ const fs = require('fs');
const { Readable } = require('stream'); const { Readable } = require('stream');
const chokidar = require('chokidar'); const chokidar = require('chokidar');
const ws = require('../../services/ws'); const ws = require('../../services/ws');
const becca = require("../../becca/becca.js"); const becca = require("../../becca/becca");
function updateFile(req) { function updateFile(req) {
const {noteId} = req.params; const {noteId} = req.params;

View File

@ -1,7 +1,7 @@
"use strict"; "use strict";
const imageService = require('../../services/image'); const imageService = require('../../services/image');
const becca = require('../../becca/becca.js'); const becca = require('../../becca/becca');
const RESOURCE_DIR = require('../../services/resource_dir').RESOURCE_DIR; const RESOURCE_DIR = require('../../services/resource_dir').RESOURCE_DIR;
const fs = require('fs'); const fs = require('fs');

View File

@ -6,9 +6,9 @@ const zipImportService = require('../../services/import/zip');
const singleImportService = require('../../services/import/single'); const singleImportService = require('../../services/import/single');
const cls = require('../../services/cls'); const cls = require('../../services/cls');
const path = require('path'); const path = require('path');
const beccaLoader = require('../../becca/becca_loader.js'); const beccaLoader = require('../../becca/becca_loader');
const log = require('../../services/log'); const log = require('../../services/log');
const TaskContext = require('../../services/task_context.js'); const TaskContext = require('../../services/task_context');
async function importToBranch(req) { async function importToBranch(req) {
const {parentNoteId} = req.params; const {parentNoteId} = req.params;

View File

@ -11,8 +11,8 @@ const eventService = require('../../services/events');
const sqlInit = require('../../services/sql_init'); const sqlInit = require('../../services/sql_init');
const sql = require('../../services/sql'); const sql = require('../../services/sql');
const optionService = require('../../services/options'); const optionService = require('../../services/options');
const ApiToken = require('../../becca/entities/api_token.js'); const ApiToken = require('../../becca/entities/api_token');
const ws = require("../../services/ws.js"); const ws = require("../../services/ws");
function loginSync(req) { function loginSync(req) {
if (!sqlInit.schemaExists()) { if (!sqlInit.schemaExists()) {

View File

@ -1,12 +1,12 @@
"use strict"; "use strict";
const beccaService = require('../../becca/becca_service.js'); const beccaService = require('../../becca/becca_service');
const protectedSessionService = require('../../services/protected_session'); const protectedSessionService = require('../../services/protected_session');
const noteRevisionService = require('../../services/note_revisions'); const noteRevisionService = require('../../services/note_revisions');
const utils = require('../../services/utils'); const utils = require('../../services/utils');
const sql = require('../../services/sql'); const sql = require('../../services/sql');
const path = require('path'); const path = require('path');
const becca = require("../../becca/becca.js"); const becca = require("../../becca/becca");
function getNoteRevisions(req) { function getNoteRevisions(req) {
return becca.getNoteRevisionsFromQuery(` return becca.getNoteRevisionsFromQuery(`

View File

@ -7,8 +7,8 @@ const utils = require('../../services/utils');
const log = require('../../services/log'); const log = require('../../services/log');
const TaskContext = require('../../services/task_context'); const TaskContext = require('../../services/task_context');
const fs = require('fs'); const fs = require('fs');
const noteRevisionService = require("../../services/note_revisions.js"); const noteRevisionService = require("../../services/note_revisions");
const becca = require("../../becca/becca.js"); const becca = require("../../becca/becca");
function getNote(req) { function getNote(req) {
const noteId = req.params.noteId; const noteId = req.params.noteId;

View File

@ -3,7 +3,7 @@
const sql = require('../../services/sql'); const sql = require('../../services/sql');
const protectedSessionService = require('../../services/protected_session'); const protectedSessionService = require('../../services/protected_session');
const noteService = require('../../services/notes'); const noteService = require('../../services/notes');
const beccaService = require('../../becca/becca_service.js'); const beccaService = require('../../becca/becca_service');
function getRecentChanges(req) { function getRecentChanges(req) {
const {ancestorNoteId} = req.params; const {ancestorNoteId} = req.params;

View File

@ -1,6 +1,6 @@
"use strict"; "use strict";
const RecentNote = require('../../becca/entities/recent_note.js'); const RecentNote = require('../../becca/entities/recent_note');
const sql = require('../../services/sql'); const sql = require('../../services/sql');
const dateUtils = require('../../services/date_utils'); const dateUtils = require('../../services/date_utils');

View File

@ -2,7 +2,7 @@
const scriptService = require('../../services/script'); const scriptService = require('../../services/script');
const attributeService = require('../../services/attributes'); const attributeService = require('../../services/attributes');
const becca = require('../../becca/becca.js'); const becca = require('../../becca/becca');
const syncService = require('../../services/sync'); const syncService = require('../../services/sync');
function exec(req) { function exec(req) {

View File

@ -1,6 +1,6 @@
"use strict"; "use strict";
const becca = require('../../becca/becca.js'); const becca = require('../../becca/becca');
const SearchContext = require('../../services/search/search_context'); const SearchContext = require('../../services/search/search_context');
const log = require('../../services/log'); const log = require('../../services/log');
const scriptService = require('../../services/script'); const scriptService = require('../../services/script');

View File

@ -1,7 +1,7 @@
"use strict"; "use strict";
const similarityService = require('../../becca/similarity.js'); const similarityService = require('../../becca/similarity');
const becca = require("../../becca/becca.js"); const becca = require("../../becca/becca");
async function getSimilarNotes(req) { async function getSimilarNotes(req) {
const noteId = req.params.noteId; const noteId = req.params.noteId;

View File

@ -1,5 +1,5 @@
const sql = require('../../services/sql'); const sql = require('../../services/sql');
const becca = require('../../becca/becca.js'); const becca = require('../../becca/becca');
function getNoteSize(req) { function getNoteSize(req) {
const {noteId} = req.params; const {noteId} = req.params;

View File

@ -2,7 +2,7 @@
const syncService = require('../../services/sync'); const syncService = require('../../services/sync');
const syncUpdateService = require('../../services/sync_update'); const syncUpdateService = require('../../services/sync_update');
const entityChangesService = require('../../services/entity_changes.js'); const entityChangesService = require('../../services/entity_changes');
const sql = require('../../services/sql'); const sql = require('../../services/sql');
const sqlInit = require('../../services/sql_init'); const sqlInit = require('../../services/sql_init');
const optionService = require('../../services/options'); const optionService = require('../../services/options');

View File

@ -1,6 +1,6 @@
"use strict"; "use strict";
const becca = require('../../becca/becca.js'); const becca = require('../../becca/becca');
const log = require('../../services/log'); const log = require('../../services/log');
function getNotesAndBranchesAndAttributes(noteIds) { function getNotesAndBranchesAndAttributes(noteIds) {

View File

@ -1,9 +1,9 @@
const log = require('../services/log'); const log = require('../services/log');
const fileUploadService = require('./api/files.js'); const fileUploadService = require('./api/files');
const scriptService = require('../services/script'); const scriptService = require('../services/script');
const cls = require('../services/cls'); const cls = require('../services/cls');
const sql = require("../services/sql"); const sql = require("../services/sql");
const becca = require("../becca/becca.js"); const becca = require("../becca/becca");
function handleRequest(req, res) { function handleRequest(req, res) {
// express puts content after first slash into 0 index element // express puts content after first slash into 0 index element

View File

@ -7,7 +7,7 @@ const config = require('../services/config');
const optionService = require('../services/options'); const optionService = require('../services/options');
const log = require('../services/log'); const log = require('../services/log');
const env = require('../services/env'); const env = require('../services/env');
const protectedSessionService = require("../services/protected_session.js"); const protectedSessionService = require("../services/protected_session");
function index(req, res) { function index(req, res) {
const options = optionService.getOptionsMap(); const options = optionService.getOptionsMap();

View File

@ -45,7 +45,7 @@ const router = express.Router();
const auth = require('../services/auth'); const auth = require('../services/auth');
const cls = require('../services/cls'); const cls = require('../services/cls');
const sql = require('../services/sql'); const sql = require('../services/sql');
const entityChangesService = require('../services/entity_changes.js'); const entityChangesService = require('../services/entity_changes');
const csurf = require('csurf'); const csurf = require('csurf');
const {createPartialContentHandler} = require("express-partial-content"); const {createPartialContentHandler} = require("express-partial-content");
const rateLimit = require("express-rate-limit"); const rateLimit = require("express-rate-limit");

View File

@ -2,9 +2,9 @@
const searchService = require('./search/services/search'); const searchService = require('./search/services/search');
const sql = require('./sql'); const sql = require('./sql');
const becca = require('../becca/becca.js'); const becca = require('../becca/becca');
const Attribute = require('../becca/entities/attribute.js'); const Attribute = require('../becca/entities/attribute');
const {formatAttrForSearch} = require("./attribute_formatter.js"); const {formatAttrForSearch} = require("./attribute_formatter");
const ATTRIBUTE_TYPES = [ 'label', 'relation' ]; const ATTRIBUTE_TYPES = [ 'label', 'relation' ];

View File

@ -12,8 +12,8 @@ const xml2js = require('xml2js');
const cloningService = require('./cloning'); const cloningService = require('./cloning');
const appInfo = require('./app_info'); const appInfo = require('./app_info');
const searchService = require('./search/services/search'); const searchService = require('./search/services/search');
const SearchContext = require("./search/search_context.js"); const SearchContext = require("./search/search_context");
const becca = require("../becca/becca.js"); const becca = require("../becca/becca");
/** /**
* This is the main backend API interface for scripts. It's published in the local "api" object. * This is the main backend API interface for scripts. It's published in the local "api" object.

View File

@ -1,13 +1,13 @@
"use strict"; "use strict";
const sql = require('./sql'); const sql = require('./sql');
const eventChangesService = require('./entity_changes.js'); const eventChangesService = require('./entity_changes');
const treeService = require('./tree'); const treeService = require('./tree');
const noteService = require('./notes'); const noteService = require('./notes');
const Branch = require('../becca/entities/branch.js'); const Branch = require('../becca/entities/branch');
const TaskContext = require("./task_context.js"); const TaskContext = require("./task_context");
const utils = require('./utils'); const utils = require('./utils');
const becca = require("../becca/becca.js"); const becca = require("../becca/becca");
const beccaService = require("../becca/becca_service"); const beccaService = require("../becca/becca_service");
function cloneNoteToParent(noteId, parentBranchId, prefix) { function cloneNoteToParent(noteId, parentBranchId, prefix) {

View File

@ -3,16 +3,16 @@
const sql = require('./sql'); const sql = require('./sql');
const sqlInit = require('./sql_init'); const sqlInit = require('./sql_init');
const log = require('./log'); const log = require('./log');
const ws = require('./ws.js'); const ws = require('./ws');
const syncMutexService = require('./sync_mutex'); const syncMutexService = require('./sync_mutex');
const cls = require('./cls'); const cls = require('./cls');
const entityChangesService = require('./entity_changes.js'); const entityChangesService = require('./entity_changes');
const optionsService = require('./options'); const optionsService = require('./options');
const Branch = require('../becca/entities/branch.js'); const Branch = require('../becca/entities/branch');
const dateUtils = require('./date_utils'); const dateUtils = require('./date_utils');
const attributeService = require('./attributes'); const attributeService = require('./attributes');
const noteRevisionService = require('./note_revisions'); const noteRevisionService = require('./note_revisions');
const becca = require("../becca/becca.js"); const becca = require("../becca/becca");
class ConsistencyChecks { class ConsistencyChecks {
constructor(autoFix) { constructor(autoFix) {
@ -579,7 +579,7 @@ class ConsistencyChecks {
} }
if (this.fixedIssues) { if (this.fixedIssues) {
require("../becca/becca_loader.js").load(); require("../becca/becca_loader").load();
} }
return !this.unrecoveredConsistencyErrors; return !this.unrecoveredConsistencyErrors;

View File

@ -3,7 +3,7 @@
const noteService = require('./notes'); const noteService = require('./notes');
const attributeService = require('./attributes'); const attributeService = require('./attributes');
const dateUtils = require('./date_utils'); const dateUtils = require('./date_utils');
const becca = require('../becca/becca.js'); const becca = require('../becca/becca');
const sql = require('./sql'); const sql = require('./sql');
const protectedSessionService = require('./protected_session'); const protectedSessionService = require('./protected_session');

View File

@ -3,7 +3,7 @@ const sourceIdService = require('./source_id');
const dateUtils = require('./date_utils'); const dateUtils = require('./date_utils');
const log = require('./log'); const log = require('./log');
const cls = require('./cls'); const cls = require('./cls');
const becca = require("../becca/becca.js"); const becca = require("../becca/becca");
let maxEntityChangeId = 0; let maxEntityChangeId = 0;

View File

@ -1,7 +1,7 @@
"use strict"; "use strict";
const utils = require('../utils'); const utils = require('../utils');
const becca = require("../../becca/becca.js"); const becca = require("../../becca/becca");
function exportToOpml(taskContext, branch, version, res) { function exportToOpml(taskContext, branch, version, res) {
if (!['1.0', '2.0'].includes(version)) { if (!['1.0', '2.0'].includes(version)) {

View File

@ -77,7 +77,7 @@ function exportToZip(taskContext, branch, format, res) {
fileName = fileName.substr(0, 30); fileName = fileName.substr(0, 30);
} }
// if the note is already named with extension (e.g. "jquery.js"), then it's silly to append exact same extension again // if the note is already named with extension (e.g. "jquery"), then it's silly to append exact same extension again
if (newExtension && existingExtension !== "." + newExtension.toLowerCase()) { if (newExtension && existingExtension !== "." + newExtension.toLowerCase()) {
fileName += "." + newExtension; fileName += "." + newExtension;
} }

View File

@ -2,8 +2,8 @@ const eventService = require('./events');
const scriptService = require('./script'); const scriptService = require('./script');
const treeService = require('./tree'); const treeService = require('./tree');
const noteService = require('./notes'); const noteService = require('./notes');
const becca = require('../becca/becca.js'); const becca = require('../becca/becca');
const Attribute = require('../becca/entities/attribute.js'); const Attribute = require('../becca/entities/attribute');
function runAttachedRelations(note, relationName, originEntity) { function runAttachedRelations(note, relationName, originEntity) {
// same script note can get here with multiple ways, but execute only once // same script note can get here with multiple ways, but execute only once

View File

@ -1,6 +1,6 @@
"use strict"; "use strict";
const becca = require('../becca/becca.js'); const becca = require('../becca/becca');
const log = require('./log'); const log = require('./log');
const protectedSessionService = require('./protected_session'); const protectedSessionService = require('./protected_session');
const noteService = require('./notes'); const noteService = require('./notes');
@ -9,7 +9,7 @@ const sql = require('./sql');
const jimp = require('jimp'); const jimp = require('jimp');
const imageType = require('image-type'); const imageType = require('image-type');
const sanitizeFilename = require('sanitize-filename'); const sanitizeFilename = require('sanitize-filename');
const noteRevisionService = require('./note_revisions.js'); const noteRevisionService = require('./note_revisions');
const isSvg = require('is-svg'); const isSvg = require('is-svg');
const isAnimated = require('is-animated'); const isAnimated = require('is-animated');

View File

@ -1,11 +1,11 @@
"use strict"; "use strict";
const Attribute = require('../../becca/entities/attribute.js'); const Attribute = require('../../becca/entities/attribute');
const utils = require('../../services/utils'); const utils = require('../../services/utils');
const log = require('../../services/log'); const log = require('../../services/log');
const noteService = require('../../services/notes'); const noteService = require('../../services/notes');
const attributeService = require('../../services/attributes'); const attributeService = require('../../services/attributes');
const Branch = require('../../becca/entities/branch.js'); const Branch = require('../../becca/entities/branch');
const path = require('path'); const path = require('path');
const commonmark = require('commonmark'); const commonmark = require('commonmark');
const protectedSessionService = require('../protected_session'); const protectedSessionService = require('../protected_session');
@ -13,7 +13,7 @@ const mimeService = require("./mime");
const treeService = require("../tree"); const treeService = require("../tree");
const yauzl = require("yauzl"); const yauzl = require("yauzl");
const htmlSanitizer = require('../html_sanitizer'); const htmlSanitizer = require('../html_sanitizer');
const becca = require("../../becca/becca.js"); const becca = require("../../becca/becca");
/** /**
* @param {TaskContext} taskContext * @param {TaskContext} taskContext

View File

@ -1,6 +1,6 @@
"use strict"; "use strict";
const NoteRevision = require('../becca/entities/note_revision.js'); const NoteRevision = require('../becca/entities/note_revision');
const dateUtils = require('./date_utils'); const dateUtils = require('./date_utils');
const log = require('./log'); const log = require('./log');
const sql = require('./sql'); const sql = require('./sql');

View File

@ -2,7 +2,7 @@ const sql = require('./sql');
const sqlInit = require('./sql_init'); const sqlInit = require('./sql_init');
const optionService = require('./options'); const optionService = require('./options');
const dateUtils = require('./date_utils'); const dateUtils = require('./date_utils');
const entityChangesService = require('./entity_changes.js'); const entityChangesService = require('./entity_changes');
const eventService = require('./events'); const eventService = require('./events');
const cls = require('../services/cls'); const cls = require('../services/cls');
const protectedSessionService = require('../services/protected_session'); const protectedSessionService = require('../services/protected_session');
@ -13,10 +13,10 @@ const attributeService = require('../services/attributes');
const request = require('./request'); const request = require('./request');
const path = require('path'); const path = require('path');
const url = require('url'); const url = require('url');
const becca = require('../becca/becca.js'); const becca = require('../becca/becca');
const Branch = require('../becca/entities/branch.js'); const Branch = require('../becca/entities/branch');
const Note = require('../becca/entities/note.js'); const Note = require('../becca/entities/note');
const Attribute = require('../becca/entities/attribute.js'); const Attribute = require('../becca/entities/attribute');
function getNewNotePosition(parentNoteId) { function getNewNotePosition(parentNoteId) {
const note = becca.notes[parentNoteId]; const note = becca.notes[parentNoteId];

View File

@ -1,7 +1,7 @@
const becca = require('../becca/becca.js'); const becca = require('../becca/becca');
function getOption(name) { function getOption(name) {
const option = require('../becca/becca.js').getOption(name); const option = require('../becca/becca').getOption(name);
if (!option) { if (!option) {
throw new Error(`Option "${name}" doesn't exist`); throw new Error(`Option "${name}" doesn't exist`);
@ -57,7 +57,7 @@ function setOption(name, value) {
function createOption(name, value, isSynced) { function createOption(name, value, isSynced) {
// to avoid circular dependency, need to find better solution // to avoid circular dependency, need to find better solution
const Option = require('../becca/entities/option.js'); const Option = require('../becca/entities/option');
new Option({ new Option({
name: name, name: name,

View File

@ -4,7 +4,7 @@ const sqlInit = require('./sql_init');
const config = require('./config'); const config = require('./config');
const log = require('./log'); const log = require('./log');
const sql = require("./sql"); const sql = require("./sql");
const becca = require("../becca/becca.js"); const becca = require("../becca/becca");
function getRunAtHours(note) { function getRunAtHours(note) {
try { try {

View File

@ -1,7 +1,7 @@
const ScriptContext = require('./script_context'); const ScriptContext = require('./script_context');
const cls = require('./cls'); const cls = require('./cls');
const log = require('./log'); const log = require('./log');
const becca = require("../becca/becca.js"); const becca = require("../becca/becca");
function executeNote(note, apiParams) { function executeNote(note, apiParams) {
if (!note.isJavaScript() || note.getScriptEnv() !== 'backend' || !note.isContentAvailable()) { if (!note.isJavaScript() || note.getScriptEnv() !== 'backend' || !note.isContentAvailable()) {

View File

@ -3,7 +3,7 @@
const Expression = require('./expression'); const Expression = require('./expression');
const NoteSet = require('../note_set'); const NoteSet = require('../note_set');
const log = require('../../log'); const log = require('../../log');
const becca = require('../../../becca/becca.js'); const becca = require('../../../becca/becca');
class AncestorExp extends Expression { class AncestorExp extends Expression {
constructor(ancestorNoteId, ancestorDepth) { constructor(ancestorNoteId, ancestorDepth) {

View File

@ -1,7 +1,7 @@
"use strict"; "use strict";
const Expression = require('./expression'); const Expression = require('./expression');
const TrueExp = require("./true.js"); const TrueExp = require("./true");
class AndExp extends Expression { class AndExp extends Expression {
static of(subExpressions) { static of(subExpressions) {

View File

@ -1,7 +1,7 @@
"use strict"; "use strict";
const NoteSet = require('../note_set'); const NoteSet = require('../note_set');
const becca = require('../../../becca/becca.js'); const becca = require('../../../becca/becca');
const Expression = require('./expression'); const Expression = require('./expression');
class AttributeExistsExp extends Expression { class AttributeExistsExp extends Expression {

View File

@ -2,7 +2,7 @@
const Expression = require('./expression'); const Expression = require('./expression');
const NoteSet = require('../note_set'); const NoteSet = require('../note_set');
const becca = require('../../../becca/becca.js'); const becca = require('../../../becca/becca');
class DescendantOfExp extends Expression { class DescendantOfExp extends Expression {
constructor(subExpression) { constructor(subExpression) {

View File

@ -2,7 +2,7 @@
const Expression = require('./expression'); const Expression = require('./expression');
const NoteSet = require('../note_set'); const NoteSet = require('../note_set');
const becca = require('../../../becca/becca.js'); const becca = require('../../../becca/becca');
class LabelComparisonExp extends Expression { class LabelComparisonExp extends Expression {
constructor(attributeType, attributeName, comparator) { constructor(attributeType, attributeName, comparator) {

View File

@ -2,7 +2,7 @@
const Expression = require('./expression'); const Expression = require('./expression');
const NoteSet = require('../note_set'); const NoteSet = require('../note_set');
const becca = require('../../../becca/becca.js'); const becca = require('../../../becca/becca');
class BeccaFlatTextExp extends Expression { class BeccaFlatTextExp extends Expression {
constructor(tokens) { constructor(tokens) {
@ -13,7 +13,7 @@ class BeccaFlatTextExp extends Expression {
execute(inputNoteSet, executionContext) { execute(inputNoteSet, executionContext) {
// has deps on SQL which breaks unit test so needs to be dynamically required // has deps on SQL which breaks unit test so needs to be dynamically required
const beccaService = require('../../../becca/becca_service.js'); const beccaService = require('../../../becca/becca_service');
const resultNoteSet = new NoteSet(); const resultNoteSet = new NoteSet();
function searchDownThePath(note, tokens, path) { function searchDownThePath(note, tokens, path) {

View File

@ -3,7 +3,7 @@
const Expression = require('./expression'); const Expression = require('./expression');
const NoteSet = require('../note_set'); const NoteSet = require('../note_set');
const log = require('../../log'); const log = require('../../log');
const becca = require('../../../becca/becca.js'); const becca = require('../../../becca/becca');
const protectedSessionService = require('../../protected_session'); const protectedSessionService = require('../../protected_session');
const striptags = require('striptags'); const striptags = require('striptags');

View File

@ -2,7 +2,7 @@
const Expression = require('./expression'); const Expression = require('./expression');
const NoteSet = require('../note_set'); const NoteSet = require('../note_set');
const becca = require('../../../becca/becca.js'); const becca = require('../../../becca/becca');
const striptags = require('striptags'); const striptags = require('striptags');
class NoteContentUnprotectedFulltextExp extends Expression { class NoteContentUnprotectedFulltextExp extends Expression {

View File

@ -2,7 +2,7 @@
const Expression = require('./expression'); const Expression = require('./expression');
const NoteSet = require('../note_set'); const NoteSet = require('../note_set');
const buildComparator = require("../services/build_comparator.js"); const buildComparator = require("../services/build_comparator");
/** /**
* Search string is lower cased for case insensitive comparison. But when retrieving properties * Search string is lower cased for case insensitive comparison. But when retrieving properties

View File

@ -2,7 +2,7 @@
const Expression = require('./expression'); const Expression = require('./expression');
const NoteSet = require('../note_set'); const NoteSet = require('../note_set');
const becca = require('../../../becca/becca.js'); const becca = require('../../../becca/becca');
class RelationWhereExp extends Expression { class RelationWhereExp extends Expression {
constructor(relationName, subExpression) { constructor(relationName, subExpression) {

View File

@ -1,6 +1,6 @@
"use strict"; "use strict";
const beccaService = require('../../becca/becca_service.js'); const beccaService = require('../../becca/becca_service');
class SearchResult { class SearchResult {
constructor(notePathArray) { constructor(notePathArray) {

View File

@ -1,23 +1,23 @@
"use strict"; "use strict";
const dayjs = require("dayjs"); const dayjs = require("dayjs");
const AndExp = require('../expressions/and.js'); const AndExp = require('../expressions/and');
const OrExp = require('../expressions/or.js'); const OrExp = require('../expressions/or');
const NotExp = require('../expressions/not.js'); const NotExp = require('../expressions/not');
const ChildOfExp = require('../expressions/child_of.js'); const ChildOfExp = require('../expressions/child_of');
const DescendantOfExp = require('../expressions/descendant_of.js'); const DescendantOfExp = require('../expressions/descendant_of');
const ParentOfExp = require('../expressions/parent_of.js'); const ParentOfExp = require('../expressions/parent_of');
const RelationWhereExp = require('../expressions/relation_where.js'); const RelationWhereExp = require('../expressions/relation_where');
const PropertyComparisonExp = require('../expressions/property_comparison.js'); const PropertyComparisonExp = require('../expressions/property_comparison');
const AttributeExistsExp = require('../expressions/attribute_exists.js'); const AttributeExistsExp = require('../expressions/attribute_exists');
const LabelComparisonExp = require('../expressions/label_comparison.js'); const LabelComparisonExp = require('../expressions/label_comparison');
const BeccaFlatTextExp = require('../expressions/note_cache_flat_text.js'); const BeccaFlatTextExp = require('../expressions/note_cache_flat_text');
const NoteContentProtectedFulltextExp = require('../expressions/note_content_protected_fulltext.js'); const NoteContentProtectedFulltextExp = require('../expressions/note_content_protected_fulltext');
const NoteContentUnprotectedFulltextExp = require('../expressions/note_content_unprotected_fulltext.js'); const NoteContentUnprotectedFulltextExp = require('../expressions/note_content_unprotected_fulltext');
const OrderByAndLimitExp = require('../expressions/order_by_and_limit.js'); const OrderByAndLimitExp = require('../expressions/order_by_and_limit');
const AncestorExp = require("../expressions/ancestor.js"); const AncestorExp = require("../expressions/ancestor");
const buildComparator = require('./build_comparator.js'); const buildComparator = require('./build_comparator');
const ValueExtractor = require('../value_extractor.js'); const ValueExtractor = require('../value_extractor');
function getFulltext(tokens, searchContext) { function getFulltext(tokens, searchContext) {
tokens = tokens.map(t => t.token); tokens = tokens.map(t => t.token);

View File

@ -1,18 +1,18 @@
"use strict"; "use strict";
const lex = require('./lex.js'); const lex = require('./lex');
const handleParens = require('./handle_parens.js'); const handleParens = require('./handle_parens');
const parse = require('./parse.js'); const parse = require('./parse');
const NoteSet = require("../note_set.js"); const NoteSet = require("../note_set");
const SearchResult = require("../search_result.js"); const SearchResult = require("../search_result");
const SearchContext = require("../search_context.js"); const SearchContext = require("../search_context");
const becca = require('../../../becca/becca.js'); const becca = require('../../../becca/becca');
const beccaService = require('../../../becca/becca_service.js'); const beccaService = require('../../../becca/becca_service');
const utils = require('../../utils.js'); const utils = require('../../utils');
const log = require('../../log.js'); const log = require('../../log');
function loadNeededInfoFromDatabase() { function loadNeededInfoFromDatabase() {
const sql = require('../../sql.js'); const sql = require('../../sql');
for (const noteId in becca.notes) { for (const noteId in becca.notes) {
becca.notes[noteId].contentSize = 0; becca.notes[noteId].contentSize = 0;

View File

@ -6,7 +6,7 @@ const syncOptions = require('./sync_options');
const request = require('./request'); const request = require('./request');
const appInfo = require('./app_info'); const appInfo = require('./app_info');
const utils = require('./utils'); const utils = require('./utils');
const becca = require("../becca/becca.js"); const becca = require("../becca/becca");
async function hasSyncServerSchemaAndSeed() { async function hasSyncServerSchemaAndSeed() {
const response = await requestToSyncServer('GET', '/api/setup/status'); const response = await requestToSyncServer('GET', '/api/setup/status');

View File

@ -249,7 +249,7 @@ function transactional(func) {
if (entityChanges.length > 0) { if (entityChanges.length > 0) {
log.info("Transaction rollback dirtied the becca, forcing reload."); log.info("Transaction rollback dirtied the becca, forcing reload.");
require('../becca/becca_loader.js').load(); require('../becca/becca_loader').load();
} }
throw e; throw e;

View File

@ -5,8 +5,8 @@ const sql = require('./sql');
const utils = require('./utils'); const utils = require('./utils');
const optionService = require('./options'); const optionService = require('./options');
const port = require('./port'); const port = require('./port');
const Option = require('../becca/entities/option.js'); const Option = require('../becca/entities/option');
const TaskContext = require('./task_context.js'); const TaskContext = require('./task_context');
const migrationService = require('./migration'); const migrationService = require('./migration');
const cls = require('./cls'); const cls = require('./cls');
const config = require('./config'); const config = require('./config');
@ -62,10 +62,10 @@ async function createInitialDatabase(username, password, theme) {
sql.transactional(() => { sql.transactional(() => {
sql.executeScript(schema); sql.executeScript(schema);
require("../becca/becca_loader.js").load(); require("../becca/becca_loader").load();
const Note = require("../becca/entities/note.js"); const Note = require("../becca/entities/note");
const Branch = require("../becca/entities/branch.js"); const Branch = require("../becca/entities/branch");
rootNote = new Note({ rootNote = new Note({
noteId: 'root', noteId: 'root',

View File

@ -14,8 +14,8 @@ const syncMutexService = require('./sync_mutex');
const cls = require('./cls'); const cls = require('./cls');
const request = require('./request'); const request = require('./request');
const ws = require('./ws'); const ws = require('./ws');
const entityChangesService = require('./entity_changes.js'); const entityChangesService = require('./entity_changes');
const entityConstructor = require('../becca/entity_constructor.js'); const entityConstructor = require('../becca/entity_constructor');
let proxyToggle = true; let proxyToggle = true;
@ -385,7 +385,7 @@ function getOutstandingPullCount() {
return outstandingPullCount; return outstandingPullCount;
} }
require("../becca/becca_loader.js").beccaLoaded.then(() => { require("../becca/becca_loader").beccaLoaded.then(() => {
setInterval(cls.wrap(sync), 60000); setInterval(cls.wrap(sync), 60000);
// kickoff initial sync immediately // kickoff initial sync immediately

View File

@ -1,8 +1,8 @@
const sql = require('./sql'); const sql = require('./sql');
const log = require('./log'); const log = require('./log');
const entityChangesService = require('./entity_changes.js'); const entityChangesService = require('./entity_changes');
const eventService = require('./events'); const eventService = require('./events');
const entityConstructor = require("../becca/entity_constructor.js"); const entityConstructor = require("../becca/entity_constructor");
function updateEntity(entityChange, entity, sourceId) { function updateEntity(entityChange, entity, sourceId) {
// can be undefined for options with isSynced=false // can be undefined for options with isSynced=false

View File

@ -1,6 +1,6 @@
"use strict"; "use strict";
const ws = require('./ws.js'); const ws = require('./ws');
// taskId => TaskContext // taskId => TaskContext
const taskContexts = {}; const taskContexts = {};

View File

@ -2,10 +2,10 @@
const sql = require('./sql'); const sql = require('./sql');
const log = require('./log'); const log = require('./log');
const Branch = require('../becca/entities/branch.js'); const Branch = require('../becca/entities/branch');
const entityChangesService = require('./entity_changes.js'); const entityChangesService = require('./entity_changes');
const protectedSessionService = require('./protected_session'); const protectedSessionService = require('./protected_session');
const becca = require('../becca/becca.js'); const becca = require('../becca/becca');
function getNotes(noteIds) { function getNotes(noteIds) {
// we return also deleted notes which have been specifically asked for // we return also deleted notes which have been specifically asked for