legumeinfo / datastore-specifications

Specifications for directory naming, file naming, file contents in the LIS datastore
2 stars 0 forks source link

Added null to optional fields; quoted dates so they validate; added sraproject. #13

Closed sammyjava closed 2 years ago

sammyjava commented 2 years ago

Added null for optional fields as I see them from my experience pondering READMEs and what's there/not there.

Right now we have to quote dates to get pajv to validate. And we can't use ajv-cli right now because it doesn't recognize the "date" format (which has to do with validating YAML, apparently). The mine loaders don't load dates, so that's a non-breaking change at least in terms of the mine loads. If someone else needs non-quoted dates in the READMEs, speak up now or forever hold your unquoted peace.

Also added sraproject, which somehow didn't get into @adf-ncgr 's first readme.schema.json (but was in README.collection.yml).

The updated README.collection.yml validates:

pajv -s readme.schema.json -d README.collection.yml --all-errors --coerce-types=array --remove-additional=all --changes
README.collection.yml valid
no changes
sammyjava commented 2 years ago

Note: pay no attention to every line in readme.schema.json shown as being changed: that's just due to my emacs json-mode indentation being a bit more aggressive than the previous version. I only added the nulls.

nathanweeks commented 2 years ago

Right now we have to quote dates to get pajv to validate. And we can't use ajv-cli right now because it doesn't recognize the "date" format (which has to do with validating YAML, apparently).

ajv-cli supports dates if invoked with the -c ajv-formats option to enable the ajv-formats plugin.

sammyjava commented 2 years ago

Thanks! Indeed, it works!

shokin@morangie:~/datastore-specifications$ ajv -c ajv-formats validate -s readme.schema.json -d README.collection.yml --all-errors --coerce-types=array --remove-additional=all --changes
README.collection.yml valid
no changes