internote
internote copied to clipboard
History / versioning
Button to create version of a document. Restore from revisions. Show automatic history in a timeline which is saves with a minimum of 1hr between (to avoid a long list of saves due to autosaving). Show renames in timeline.
Store versions in a new database table (inside the notes service). Each version will have the following model:
versionId: string
noteId: string
userId: string
content: string // same as note content (compressed)
title: string
dateCreated: number
restored: boolean
Store a list of the note revisions against the note model. Each version will have a primary UUID versionId and a secondary index of noteId and a global secondary index of userId. The note model will also store a list of versions with each version containing the following subset of the version model:
versionId: string
noteId: string
title: string
dateCreated: number
restored: boolean