diff --git a/packages/core/api/debug.js b/packages/core/api/debug.js new file mode 100644 index 000000000..7d849be41 --- /dev/null +++ b/packages/core/api/debug.js @@ -0,0 +1,19 @@ +export default class Debug { + strip(item) { + return JSON.stringify({ + title: !!item.title, + description: !!item.description, + headline: !!item.headline, + colored: !!item.color, + type: item.type, + notebooks: item.notebooks, + tags: item.tags, + id: item.id, + contentId: item.contentId, + dateEdited: item.dateEdited, + dateDeleted: item.dateDeleted, + dateCreated: item.dateCreated, + additionalData: item.additionalData, + }); + } +} diff --git a/packages/core/api/index.js b/packages/core/api/index.js index 375da43ee..5bbb2c9ad 100644 --- a/packages/core/api/index.js +++ b/packages/core/api/index.js @@ -21,6 +21,7 @@ import http from "../utils/http"; import Monographs from "./monographs"; import Offers from "./offers"; import Attachments from "../collections/attachments"; +import Debug from "./debug"; /** * @type {EventSource} @@ -51,7 +52,8 @@ class Database { async init() { EV.subscribeMulti( [EVENTS.userLoggedIn, EVENTS.userFetched, EVENTS.tokenRefreshed], - this.connectSSE.bind(this) + this.connectSSE, + this ); EV.subscribe(EVENTS.attachmentDeleted, async (attachment) => { console.log("deleted:", attachment); @@ -81,6 +83,7 @@ class Database { this.outbox = new Outbox(this); this.monographs = new Monographs(this); this.offers = new Offers(); + this.debug = new Debug(); // collections /** @type {Notes} */ diff --git a/packages/core/utils/event-manager.js b/packages/core/utils/event-manager.js index 5340d985e..c1cb778fb 100644 --- a/packages/core/utils/event-manager.js +++ b/packages/core/utils/event-manager.js @@ -7,9 +7,9 @@ class EventManager { this._registry.clear(); } - subscribeMulti(names, handler) { + subscribeMulti(names, handler, thisArg) { names.forEach((name) => { - this.subscribe(name, handler); + this.subscribe(name, handler.bind(thisArg)); }); }