mashlol / notify

Notify your devices from the terminal
https://mashlol.github.io/notify/
261 stars 38 forks source link

Change key storage format #37

Open taylorjdawson opened 6 years ago

taylorjdawson commented 6 years ago

Issues/Features #36, #31, #35 all hinge on the storage schema of the keys. I am not sure if the current schema would work best with the previously mentioned features.

I like YAML. It is human readable and allows for simple access implementation. It would require an additional module. Also if in the future one wanted to create a 'group' to notify then YAML would facilitate this nicely (see here).

Here is the yaml schema that I propose:

keys:
  asdf: android
  qwer: null
aliases:
  android: asdf

Separating keys and aliases simplifies CRUD operations.

mashlol commented 6 years ago

I like this structure - but I'd love for it to be backward compatible. Perhaps we could read the old txt format first, see if it matches and if so convert over to the yaml format, whenever a key is registered?

Another option, to keep it lightweight, we could just adjust the existing format a bit:

key:alias1,alias2
key2:alias3,alias4

Search time is probably not really a factor in the format, since it's unlikely for anyone to have many aliases/keys

taylorjdawson commented 6 years ago

Okay! I had already started working on the yaml schema but I can change it back if need be. What do you think about this implementation?

mashlol commented 6 years ago

Yeah looking good! The only thing I don't like that much is that we're writing in a get method, so it has a side effect that may be unexpected. Perhaps simply changing the name to getYamlRegFileOrMigrate or something would be enough to solve that problem.

taylorjdawson commented 6 years ago

@mashlol okay will do!