-
Notifications
You must be signed in to change notification settings - Fork 28
Open
Description
Many organizations centralize around one or more types of document, or data, but need the ability to monitor edits on a field-by-field basis. Similar to a CRM with customizable contacts, we should include a mechanism for storing documents of multiple types and tracking their changes.
Proposed schema
- id
uuid - type
string(useObjectTypeenum to validate type) - properties:
{[key: string]: {[key: string]: any} }- value
any - history:
Array<{[key: string]: any}>(todo: define PropertyHistory and Property interfaces)- oldValue:
any - newValue:
any - editor:
string - timestamp:
number(UTC unix time with millis)
- oldValue:
- value
- published:
string(ISO-8601) - updated:
string(ISO-8601) - enabled:
boolean - sort:
integer
TODO: consider group and user ownership (use graph or just FK columns within: KISS)
Other consideration
- need a
Schemaentity store to validate dynamic node types- use the same structure as DTOs if possible and leverage
class-validator
- use the same structure as DTOs if possible and leverage
Metadata
Metadata
Assignees
Labels
No labels