use strings as values, with option to allow removing

This commit is contained in:
Dustin J. Mitchell 2019-12-29 11:50:05 -05:00
parent e5bd258e84
commit e83bdc28cd
6 changed files with 89 additions and 39 deletions

View file

@ -1,13 +1,9 @@
* assign types to properties
- modifications to types don't commute the same way
- optimize this to simplify the transform function
- types:
- dependencies: set of uuids
- annotations: set of annotations (incl timestamps for uniqueness)
- tags: set of tags
- idea: Update takes a dotted path for property; store everything as a map
e.g., {uuid: true}, {timestamp: annotation}, {tag: true}; keep the
set-to-null-to-delete to remove
- db / operation model is just k/v, but formatted names can be used for
structure:
- dependencies: `dependency.<uuid> = ""`
- annotations: `annotation.<epoch time> = "annotation"`
- tags: `tags.<tag> = ""`
* add HTTP API
* implement snapshot requests
* implement backups
@ -16,3 +12,4 @@
- need to be sure that create / delete operations don't get reversed
* cli tools
* prop testing for DB modifications
- 'strict' mode to fail on application of any nonsense operations