mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-11 22:02:16 +00:00
feat(import): bring the account's own mood vocabulary along
A full backup carries the account's own mood tags, rated factors and tag groups, and the JSON import left them out: a mood entry imported into another account landed without every link to a tag the person had made. Before the entries are written, every key they or the file name is resolved once. A catalogue tag or one the account owns is used as it is; an own tag whose label the file states differently is kept, never overwritten, and named in keptMoodTagKeys (keptMoodCategoryKeys for a group). A tag the file defines and the account lacks is created in its group, the group created the same way, within the account's caps of 50 tags and 12 groups. A key another account of the server holds comes over under a key derived from the account and the file's key, so a second import of the same file finds the copy instead of minting another. The links are written through that resolution, own rated factors included, inside the entry's transaction; anything unresolved is still dropped and named. The import card names kept keys in all nine locales. The field-coverage guard now holds the backup's customMoodTags and customMoodTagCategories to the import schema. The round trip moves a backup to another server (the same seeded catalogue, none of the account's rows), imports it into a fresh account and compares the re-export, own tags, group and rated factor included; a second case imports into another account of the same server, and a third keeps a renamed own tag.
This commit is contained in:
1 parent
d1545cf554
commit
2357807706
25 files changed
+995
-67
No files matched your search
@@ -72,10 +72,17 @@ in the backup and `""` in the export, reads as absent, a backup's deletion
|
||||
records are skipped and counted, and a reading in a display unit (lb, °F,
|
||||
mmol/L) is converted to the stored one.
|
||||
|
||||
A mood entry's tags and rated factors are linked by key. A key the
|
||||
importing account has no tag for, typically a tag another account made
|
||||
for itself, is dropped from that entry, and the response names it in
|
||||
`droppedTagKeys` or `droppedFactorKeys`. The rest of the entry lands.
|
||||
A mood entry's tags and rated factors are linked by key. A full backup
|
||||
also carries the account's own tags, rated factors and tag groups, and the
|
||||
import brings them along: a tag the importing account already has is used
|
||||
as it is, and one it lacks is created (within the account's limit of 50
|
||||
custom tags and 12 groups). The account's own tag is never overwritten: when
|
||||
the file names it differently, the account's name stays and the response
|
||||
lists the key in `keptMoodTagKeys` (`keptMoodCategoryKeys` for a group).
|
||||
Moving a file between two accounts of one server works too; the tags come
|
||||
over under keys of their own. A key the account cannot resolve at all is
|
||||
dropped from that entry and named in `droppedTagKeys` or
|
||||
`droppedFactorKeys`, and the rest of the entry lands.
|
||||
|
||||
### Measurement entry
|
||||
|
||||
|
||||
Reference in new issue
Block a user