mirror of
https://github.com/zadam/trilium.git
synced 2025-03-01 14:22:32 +01:00
server-esm: Fix some more service imports
This commit is contained in:
parent
c5561530ec
commit
bf29b30004
@ -8,6 +8,7 @@ import AbstractBeccaEntity from "./abstract_becca_entity.js";
|
|||||||
import sql from "../../services/sql.js";
|
import sql from "../../services/sql.js";
|
||||||
import BAttachment from "./battachment.js";
|
import BAttachment from "./battachment.js";
|
||||||
import { AttachmentRow, RevisionRow } from './rows';
|
import { AttachmentRow, RevisionRow } from './rows';
|
||||||
|
import eraseService from "../../services/erase.js";
|
||||||
|
|
||||||
interface ContentOpts {
|
interface ContentOpts {
|
||||||
/** will also save this BRevision entity */
|
/** will also save this BRevision entity */
|
||||||
@ -164,7 +165,9 @@ class BRevision extends AbstractBeccaEntity<BRevision> {
|
|||||||
* Revisions are not soft-deletable, they are immediately hard-deleted (erased).
|
* Revisions are not soft-deletable, they are immediately hard-deleted (erased).
|
||||||
*/
|
*/
|
||||||
eraseRevision() {
|
eraseRevision() {
|
||||||
require('../../services/erase.js').eraseRevisions([this.revisionId]);
|
if (this.revisionId) {
|
||||||
|
eraseService.eraseRevisions([this.revisionId]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
beforeSaving() {
|
beforeSaving() {
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
|
|
||||||
import imageService from "../../services/image.js";
|
import imageService from "../../services/image.js";
|
||||||
import becca from "../../becca/becca.js";
|
import becca from "../../becca/becca.js";
|
||||||
const RESOURCE_DIR = require('../../services/resource_dir').RESOURCE_DIR;
|
|
||||||
import fs from "fs";
|
import fs from "fs";
|
||||||
import { Request, Response } from 'express';
|
import { Request, Response } from 'express';
|
||||||
import BNote from "../../becca/entities/bnote.js";
|
import BNote from "../../becca/entities/bnote.js";
|
||||||
import BRevision from "../../becca/entities/brevision.js";
|
import BRevision from "../../becca/entities/brevision.js";
|
||||||
import { AppRequest } from '../route-interface';
|
import { AppRequest } from '../route-interface';
|
||||||
|
import resource_dir from "../../services/resource_dir.js";
|
||||||
|
|
||||||
function returnImageFromNote(req: Request, res: Response) {
|
function returnImageFromNote(req: Request, res: Response) {
|
||||||
const image = becca.getNote(req.params.noteId);
|
const image = becca.getNote(req.params.noteId);
|
||||||
@ -24,7 +24,7 @@ function returnImageFromRevision(req: Request, res: Response) {
|
|||||||
function returnImageInt(image: BNote | BRevision | null, res: Response) {
|
function returnImageInt(image: BNote | BRevision | null, res: Response) {
|
||||||
if (!image) {
|
if (!image) {
|
||||||
res.set('Content-Type', 'image/png');
|
res.set('Content-Type', 'image/png');
|
||||||
return res.send(fs.readFileSync(`${RESOURCE_DIR}/db/image-deleted.png`));
|
return res.send(fs.readFileSync(`${resource_dir.RESOURCE_DIR}/db/image-deleted.png`));
|
||||||
} else if (!["image", "canvas", "mermaid"].includes(image.type)) {
|
} else if (!["image", "canvas", "mermaid"].includes(image.type)) {
|
||||||
return res.sendStatus(400);
|
return res.sendStatus(400);
|
||||||
}
|
}
|
||||||
@ -68,7 +68,7 @@ function returnAttachedImage(req: Request, res: Response) {
|
|||||||
|
|
||||||
if (!attachment) {
|
if (!attachment) {
|
||||||
res.set('Content-Type', 'image/png');
|
res.set('Content-Type', 'image/png');
|
||||||
return res.send(fs.readFileSync(`${RESOURCE_DIR}/db/image-deleted.png`));
|
return res.send(fs.readFileSync(`${resource_dir.RESOURCE_DIR}/db/image-deleted.png`));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!["image"].includes(attachment.role)) {
|
if (!["image"].includes(attachment.role)) {
|
||||||
|
@ -14,6 +14,7 @@ import ws from "../../services/ws.js";
|
|||||||
import { Request } from 'express';
|
import { Request } from 'express';
|
||||||
import { EntityChange, EntityChangeRecord } from '../../services/entity_changes_interface';
|
import { EntityChange, EntityChangeRecord } from '../../services/entity_changes_interface';
|
||||||
import ValidationError from "../../errors/validation_error.js";
|
import ValidationError from "../../errors/validation_error.js";
|
||||||
|
import consistencyChecksService from "../../services/consistency_checks.js";
|
||||||
|
|
||||||
async function testSync() {
|
async function testSync() {
|
||||||
try {
|
try {
|
||||||
@ -206,7 +207,7 @@ function queueSector(req: Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function checkEntityChanges() {
|
function checkEntityChanges() {
|
||||||
require('../../services/consistency_checks').runEntityChangesChecks();
|
consistencyChecksService.runEntityChangesChecks();
|
||||||
}
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
@ -8,6 +8,7 @@ import becca from "../becca/becca.js";
|
|||||||
import blobService from "../services/blob.js";
|
import blobService from "../services/blob.js";
|
||||||
import { EntityChange } from './entity_changes_interface';
|
import { EntityChange } from './entity_changes_interface';
|
||||||
import type { Blob } from "./blob-interface";
|
import type { Blob } from "./blob-interface";
|
||||||
|
import eventService from "./events.js";
|
||||||
|
|
||||||
let maxEntityChangeId = 0;
|
let maxEntityChangeId = 0;
|
||||||
|
|
||||||
@ -57,8 +58,6 @@ function putNoteReorderingEntityChange(parentNoteId: string, componentId?: strin
|
|||||||
instanceId
|
instanceId
|
||||||
});
|
});
|
||||||
|
|
||||||
const eventService = require('./events');
|
|
||||||
|
|
||||||
eventService.emit(eventService.ENTITY_CHANGED, {
|
eventService.emit(eventService.ENTITY_CHANGED, {
|
||||||
entityName: 'note_reordering',
|
entityName: 'note_reordering',
|
||||||
entity: sql.getMap(`SELECT branchId, notePosition FROM branches WHERE isDeleted = 0 AND parentNoteId = ?`, [parentNoteId])
|
entity: sql.getMap(`SELECT branchId, notePosition FROM branches WHERE isDeleted = 0 AND parentNoteId = ?`, [parentNoteId])
|
||||||
|
@ -11,7 +11,6 @@ import protectedSessionService from "../protected_session.js";
|
|||||||
import sanitize from "sanitize-filename";
|
import sanitize from "sanitize-filename";
|
||||||
import fs from "fs";
|
import fs from "fs";
|
||||||
import becca from "../../becca/becca.js";
|
import becca from "../../becca/becca.js";
|
||||||
const RESOURCE_DIR = require('../../services/resource_dir').RESOURCE_DIR;
|
|
||||||
import archiver from "archiver";
|
import archiver from "archiver";
|
||||||
import log from "../log.js";
|
import log from "../log.js";
|
||||||
import TaskContext from "../task_context.js";
|
import TaskContext from "../task_context.js";
|
||||||
@ -21,6 +20,7 @@ import AttachmentMeta from "../meta/attachment_meta.js";
|
|||||||
import AttributeMeta from "../meta/attribute_meta.js";
|
import AttributeMeta from "../meta/attribute_meta.js";
|
||||||
import BBranch from "../../becca/entities/bbranch.js";
|
import BBranch from "../../becca/entities/bbranch.js";
|
||||||
import { Response } from 'express';
|
import { Response } from 'express';
|
||||||
|
import resource_dir from "../resource_dir.js";
|
||||||
|
|
||||||
async function exportToZip(taskContext: TaskContext, branch: BBranch, format: "html" | "markdown", res: Response | fs.WriteStream, setHeaders = true) {
|
async function exportToZip(taskContext: TaskContext, branch: BBranch, format: "html" | "markdown", res: Response | fs.WriteStream, setHeaders = true) {
|
||||||
if (!['html', 'markdown'].includes(format)) {
|
if (!['html', 'markdown'].includes(format)) {
|
||||||
@ -473,7 +473,7 @@ ${markdownContent}`;
|
|||||||
}
|
}
|
||||||
|
|
||||||
function saveCss(rootMeta: NoteMeta, cssMeta: NoteMeta) {
|
function saveCss(rootMeta: NoteMeta, cssMeta: NoteMeta) {
|
||||||
const cssContent = fs.readFileSync(`${RESOURCE_DIR}/libraries/ckeditor/ckeditor-content.css`);
|
const cssContent = fs.readFileSync(`${resource_dir.RESOURCE_DIR}/libraries/ckeditor/ckeditor-content.css`);
|
||||||
|
|
||||||
archive.append(cssContent, { name: cssMeta.dataFileName });
|
archive.append(cssContent, { name: cssMeta.dataFileName });
|
||||||
}
|
}
|
||||||
|
@ -156,7 +156,6 @@ function saveImageToAttachment(noteId: string, uploadBuffer: Buffer, originalNam
|
|||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
sql.transactional(() => {
|
sql.transactional(() => {
|
||||||
const note = becca.getNoteOrThrow(noteId);
|
const note = becca.getNoteOrThrow(noteId);
|
||||||
const noteService = require('../services/notes');
|
|
||||||
noteService.asyncPostProcessContent(note, note.getContent()); // to mark an unused attachment for deletion
|
noteService.asyncPostProcessContent(note, note.getContent()); // to mark an unused attachment for deletion
|
||||||
});
|
});
|
||||||
}, 5000);
|
}, 5000);
|
||||||
|
@ -26,6 +26,7 @@ import html2plaintext from "html2plaintext";
|
|||||||
import { AttachmentRow, AttributeRow, BranchRow, NoteRow, NoteType } from '../becca/entities/rows';
|
import { AttachmentRow, AttributeRow, BranchRow, NoteRow, NoteType } from '../becca/entities/rows';
|
||||||
import TaskContext from "./task_context.js";
|
import TaskContext from "./task_context.js";
|
||||||
import { NoteParams } from './note-interface';
|
import { NoteParams } from './note-interface';
|
||||||
|
import imageService from "./image.js";
|
||||||
|
|
||||||
interface FoundLink {
|
interface FoundLink {
|
||||||
name: "imageLink" | "internalLink" | "includeNoteLink" | "relationMapLink",
|
name: "imageLink" | "internalLink" | "includeNoteLink" | "relationMapLink",
|
||||||
@ -466,7 +467,7 @@ async function downloadImage(noteId: string, imageUrl: string) {
|
|||||||
const unescapedUrl = utils.unescapeHtml(imageUrl);
|
const unescapedUrl = utils.unescapeHtml(imageUrl);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
let imageBuffer;
|
let imageBuffer: Buffer;
|
||||||
|
|
||||||
if (imageUrl.toLowerCase().startsWith("file://")) {
|
if (imageUrl.toLowerCase().startsWith("file://")) {
|
||||||
imageBuffer = await new Promise((res, rej) => {
|
imageBuffer = await new Promise((res, rej) => {
|
||||||
@ -487,10 +488,13 @@ async function downloadImage(noteId: string, imageUrl: string) {
|
|||||||
const parsedUrl = url.parse(unescapedUrl);
|
const parsedUrl = url.parse(unescapedUrl);
|
||||||
const title = path.basename(parsedUrl.pathname || "");
|
const title = path.basename(parsedUrl.pathname || "");
|
||||||
|
|
||||||
const imageService = require('../services/image');
|
|
||||||
const attachment = imageService.saveImageToAttachment(noteId, imageBuffer, title, true, true);
|
const attachment = imageService.saveImageToAttachment(noteId, imageBuffer, title, true, true);
|
||||||
|
|
||||||
|
if (attachment.attachmentId) {
|
||||||
imageUrlToAttachmentIdMapping[imageUrl] = attachment.attachmentId;
|
imageUrlToAttachmentIdMapping[imageUrl] = attachment.attachmentId;
|
||||||
|
} else {
|
||||||
|
log.error(`Download of '${imageUrl}' due to no attachment ID.`);
|
||||||
|
}
|
||||||
|
|
||||||
log.info(`Download of '${imageUrl}' succeeded and was saved as image attachment '${attachment.attachmentId}' of note '${noteId}'`);
|
log.info(`Download of '${imageUrl}' succeeded and was saved as image attachment '${attachment.attachmentId}' of note '${noteId}'`);
|
||||||
}
|
}
|
||||||
@ -520,7 +524,6 @@ function downloadImages(noteId: string, content: string) {
|
|||||||
const imageBase64 = url.substr(inlineImageMatch[0].length);
|
const imageBase64 = url.substr(inlineImageMatch[0].length);
|
||||||
const imageBuffer = Buffer.from(imageBase64, 'base64');
|
const imageBuffer = Buffer.from(imageBase64, 'base64');
|
||||||
|
|
||||||
const imageService = require('../services/image');
|
|
||||||
const attachment = imageService.saveImageToAttachment(noteId, imageBuffer, "inline image", true, true);
|
const attachment = imageService.saveImageToAttachment(noteId, imageBuffer, "inline image", true, true);
|
||||||
|
|
||||||
const encodedTitle = encodeURIComponent(attachment.title);
|
const encodedTitle = encodeURIComponent(attachment.title);
|
||||||
|
@ -137,7 +137,7 @@ function exec<T>(opts: ExecOpts): Promise<T> {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function getImage(imageUrl: string) {
|
function getImage(imageUrl: string): Promise<Buffer> {
|
||||||
const proxyConf = syncOptions.getSyncProxy();
|
const proxyConf = syncOptions.getSyncProxy();
|
||||||
const opts: ClientOpts = {
|
const opts: ClientOpts = {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
@ -149,7 +149,7 @@ function getImage(imageUrl: string) {
|
|||||||
const proxyAgent = getProxyAgent(opts);
|
const proxyAgent = getProxyAgent(opts);
|
||||||
const parsedTargetUrl = url.parse(opts.url);
|
const parsedTargetUrl = url.parse(opts.url);
|
||||||
|
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise<Buffer>((resolve, reject) => {
|
||||||
try {
|
try {
|
||||||
const request = client.request({
|
const request = client.request({
|
||||||
method: opts.method,
|
method: opts.method,
|
||||||
@ -181,8 +181,7 @@ function getImage(imageUrl: string) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
request.end(undefined);
|
request.end(undefined);
|
||||||
}
|
} catch (e: any) {
|
||||||
catch (e: any) {
|
|
||||||
reject(generateError(opts, e.message));
|
reject(generateError(opts, e.message));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -11,6 +11,9 @@ import migrationService from "./migration.js";
|
|||||||
import cls from "./cls.js";
|
import cls from "./cls.js";
|
||||||
import config from "./config.js";
|
import config from "./config.js";
|
||||||
import { OptionRow } from '../becca/entities/rows';
|
import { OptionRow } from '../becca/entities/rows';
|
||||||
|
import optionsInitService from "./options_init.js";
|
||||||
|
import BNote from "../becca/entities/bnote.js";
|
||||||
|
import BBranch from "../becca/entities/bbranch.js";
|
||||||
|
|
||||||
const dbReady = utils.deferred<void>();
|
const dbReady = utils.deferred<void>();
|
||||||
|
|
||||||
@ -63,9 +66,6 @@ async function createInitialDatabase() {
|
|||||||
|
|
||||||
require('../becca/becca_loader').load();
|
require('../becca/becca_loader').load();
|
||||||
|
|
||||||
const BNote = require('../becca/entities/bnote');
|
|
||||||
const BBranch = require('../becca/entities/bbranch');
|
|
||||||
|
|
||||||
log.info("Creating root note ...");
|
log.info("Creating root note ...");
|
||||||
|
|
||||||
rootNote = new BNote({
|
rootNote = new BNote({
|
||||||
@ -84,8 +84,6 @@ async function createInitialDatabase() {
|
|||||||
notePosition: 10
|
notePosition: 10
|
||||||
}).save();
|
}).save();
|
||||||
|
|
||||||
const optionsInitService = require('./options_init');
|
|
||||||
|
|
||||||
optionsInitService.initDocumentOptions();
|
optionsInitService.initDocumentOptions();
|
||||||
optionsInitService.initNotSyncedOptions(true, {});
|
optionsInitService.initNotSyncedOptions(true, {});
|
||||||
optionsInitService.initStartupOptions();
|
optionsInitService.initStartupOptions();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user