From d2263c68f8d900875e5b538f78cf876ea99495e0 Mon Sep 17 00:00:00 2001 From: zadam Date: Wed, 6 Sep 2023 22:54:31 +0200 Subject: [PATCH] provide note dates in the frontend API, fixes #4232 --- src/becca/entities/bnote.js | 14 ++------------ src/public/app/entities/fnote.js | 4 ++++ .../app/widgets/ribbon_widgets/note_info_widget.js | 4 ++-- src/routes/api/notes.js | 5 +++-- 4 files changed, 11 insertions(+), 16 deletions(-) diff --git a/src/becca/entities/bnote.js b/src/becca/entities/bnote.js index dc47ce9ca..65ac7126a 100644 --- a/src/becca/entities/bnote.js +++ b/src/becca/entities/bnote.js @@ -211,11 +211,6 @@ class BNote extends AbstractBeccaEntity { return this._getContent(); } - /** @returns {{dateModified, utcDateModified}} */ - getContentMetadata() { - return sql.getRow(`SELECT dateModified, utcDateModified FROM blobs WHERE blobId = ?`, [this.blobId]); - } - /** @returns {*} */ getJsonContent() { const content = this.getContent(); @@ -1571,7 +1566,6 @@ class BNote extends AbstractBeccaEntity { saveRevision() { return sql.transactional(() => { let noteContent = this.getContent(); - const contentMetadata = this.getContentMetadata(); const revision = new BRevision({ noteId: this.noteId, @@ -1580,14 +1574,10 @@ class BNote extends AbstractBeccaEntity { type: this.type, mime: this.mime, isProtected: this.isProtected, - utcDateLastEdited: this.utcDateModified > contentMetadata.utcDateModified - ? this.utcDateModified - : contentMetadata.utcDateModified, + utcDateLastEdited: this.utcDateModified, utcDateCreated: dateUtils.utcNowDateTime(), utcDateModified: dateUtils.utcNowDateTime(), - dateLastEdited: this.dateModified > contentMetadata.dateModified - ? this.dateModified - : contentMetadata.dateModified, + dateLastEdited: this.dateModified, dateCreated: dateUtils.localNowDateTime() }, true); diff --git a/src/public/app/entities/fnote.js b/src/public/app/entities/fnote.js index 134bac0df..f7c1768c9 100644 --- a/src/public/app/entities/fnote.js +++ b/src/public/app/entities/fnote.js @@ -970,6 +970,10 @@ class FNote { isOptions() { return this.noteId.startsWith("_options"); } + + async getMetadata() { + return await server.get(`notes/${this.noteId}/metadata`); + } } export default FNote; diff --git a/src/public/app/widgets/ribbon_widgets/note_info_widget.js b/src/public/app/widgets/ribbon_widgets/note_info_widget.js index 2416ffe3d..8bf220761 100644 --- a/src/public/app/widgets/ribbon_widgets/note_info_widget.js +++ b/src/public/app/widgets/ribbon_widgets/note_info_widget.js @@ -128,8 +128,8 @@ export default class NoteInfoWidget extends NoteContextAwareWidget { .attr("title", metadata.dateCreated); this.$dateModified - .text(metadata.combinedDateModified.substr(0, 16)) - .attr("title", metadata.combinedDateModified); + .text(metadata.dateModified.substr(0, 16)) + .attr("title", metadata.dateModified); this.$type.text(note.type); diff --git a/src/routes/api/notes.js b/src/routes/api/notes.js index 1abbf2c7c..68f53e100 100644 --- a/src/routes/api/notes.js +++ b/src/routes/api/notes.js @@ -21,11 +21,12 @@ function getNoteBlob(req) { function getNoteMetadata(req) { const note = becca.getNoteOrThrow(req.params.noteId); - const contentMetadata = note.getContentMetadata(); return { dateCreated: note.dateCreated, - combinedDateModified: note.utcDateModified > contentMetadata.utcDateModified ? note.dateModified : contentMetadata.dateModified + utcDateCreated: note.utcDateCreated, + dateModified: note.dateModified, + utcDateModified: note.utcDateModified, }; }