feat: add note version history (#20)

* feat: note version history

* fix bugs

* add tests for session history

* update tests

* add tests for restoring content

* add more tests

* update jsdoc

* return empty array if no session history present for a note

* init note history with await

* add note history versions limit

* cleanup note history after adding a new session

* fix tests

* add test for session cleanup

* test: add collector tests

* feat: dateEdited -> dateModified

* feat: migrate to liqe for searching

* chore: forceExit jest after test run

* feat: note version history

* fix bugs

* add tests for session history

* update tests

* add tests for restoring content

* add more tests

* update jsdoc

* return empty array if no session history present for a note

* init note history with await

* add note history versions limit

* cleanup note history after adding a new session

* fix tests

* add test for session cleanup

* init ContentHistory with await

* fix reference to db in init

* make sessionId in db

* check if note is locked through note metadata

* make cleanup method private

* use remove methods in notehistory and contenthistory

* restore note content via notes.add method if note is not locked

* move getting all items to seperate functions

* check if parsed json is valid

* deserialize a session only if it's sessionContent exists

* add locked property to sessionContent

* remove makeSessionId function

* update tests

* remove yarn.lock file

* update tests

Co-authored-by: ammarahm-ed <ammarahmed6506@gmail.com>
This commit is contained in:
Abdullah Atta
2021-12-21 13:41:08 +05:00
committed by GitHub
parent 09d1a22363
commit 630bb33b10
7 changed files with 489 additions and 0 deletions

View File

@@ -14,3 +14,12 @@ export default function () {
export function makeId(text) {
return SparkMD5.hash(text);
}
/**
*
* @param {string} noteId id of a note
* @returns {string} An id with postfix of "_index"
*/
export function makeSessionContentId(sessionId) {
return sessionId + "_content";
}