Despite the fileId be named as such, it is currently serialized as id and used as the id of any resource in
question. So this will be the preview id in the case of messages operating on a preview, it will be the dataset
id in the case of dataset messages (yes there is also datasetId, pyclowder2 checks that the two are the same.
FIXME make optional fields Option[UUID]
FIXME rename fileId to id and add a resourceType field (dataset, file, preview, etc.)
TODO drop intermediateId or figure out how it works and use accordingly
this should only be used as