Skip to main content

Binary

The storage of files is handle by those categories, we have two services FileStorage and S3Storage

The API exposed is

GET /binary/{store}/{uuid}/{property}/{index}
PUT /binary/upload/{store}/{uuid}/{property}/{index}
DELETE /binary/{store}/{uuid}/{property}/{index}/{hash}

You can reduce the exposition by adding an expose attribute as on Store

As you can only add a binary attached to an object stored on the system, the url reflect this :

  • {store} is the Store of the object you want attached to
  • {uid} is the Object uuid
  • {property} is the field of the Object
  • {index} is the index of the Binary
  • {hash} the hash of the file to delete to ensure, if someone insert another file you don't delete the wrong file by accident

Map

To prevent people for adding files everywhere you specify in which object and fields you can post a file.

webda.config.json
"map": {
"users": ["s3images"]
}

The above configuration will allow a user to link a binary to a user on the field s3images.

So with the previous URL that means to play with binaries for a User ( uuid: user_02 )

To add
PUT /binary/upload/users/user_02/s3images/add

To replace
PUT /binary/upload/users/user_02/s3images/0

To get
GET /binary/users/user_02/s3images/0

To delete
DELETE /binary/users/user_02/s3images/0/1928434324...

S3Binary

To configure just add the parameter bucket

{@link S3Binary}

FileBinary

To configure just add the parameter folder