epoch and modifiedat are always updated on any write operation, even empty ({} ) PATCH
s/?meta/$meta/
POST to /GROUPs/gID/RESOURCEs/rID[$meta] now only creates/updates one Version.
POST to /GROUPs/gID/RESOURCEs/rID/versions is used to update or create one or more Versions as metadata
Before this PR /GROUPs/gID/RESOURCEs/rID was an alias for .../versions and we could tell if they wanted to create a single version by doc because of the missing "?meta". But now w/o ?meta, .../versions$meta is just too weird so .../versions is treated like all other collections- it takes a map, which means it takes a map of Resource metadata
make all query params optional (via SHOULD) to enable simple static file server implemenations
id is now case insensitive for uniqueness, but case sensitive for look-up
e.g. PUT /dirs/d1/files/f1/versions/v1 and then GET /dirs/D1/files/F1/versions/V1 will fail for any of the 3 IDs specified
{}
) PATCH/GROUPs/gID/RESOURCEs/rID[$meta]
now only creates/updates one Version./GROUPs/gID/RESOURCEs/rID/versions
is used to update or create one or more Versions as metadata/GROUPs/gID/RESOURCEs/rID
was an alias for.../versions
and we could tell if they wanted to create a single version by doc because of the missing "?meta". But now w/o ?meta,.../versions$meta
is just too weird so.../versions
is treated like all other collections- it takes a map, which means it takes a map of Resource metadataid
is now case insensitive for uniqueness, but case sensitive for look-upPUT /dirs/d1/files/f1/versions/v1
and thenGET /dirs/D1/files/F1/versions/V1
will fail for any of the 3 IDs specified