--- title: "GRPC API" date: 2018-05-02T00:00:00+00:00 weight: 50 geekdocRepo: https://github.com/owncloud/ocis-thumbnails geekdocEditPath: edit/master/docs geekdocFilePath: grpc.md --- {{< toc >}} ## pkg/proto/v0/thumbnails.proto ### GetRequest A request to retrieve a thumbnail | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | filepath | [string](#string) | | The path to the source image | | filetype | [GetRequest.FileType](#getrequestfiletype) | | The type to which the thumbnail should get encoded to. | | etag | [string](#string) | | The etag of the source image | | width | [int32](#int32) | | The width of the thumbnail | | height | [int32](#int32) | | The height of the thumbnail | | authorization | [string](#string) | | The authorization token | ### GetResponse The service response | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | thumbnail | [bytes](#bytes) | | The thumbnail as a binary | | mimetype | [string](#string) | | The mimetype of the thumbnail | ### GetRequest.FileType The file types to which the thumbnail cna get encoded to. | Name | Number | Description | | ---- | ------ | ----------- | | PNG | 0 | Represents PNG type | | JPG | 1 | Represents JPG type | ### ThumbnailService A Service for handling thumbnail generation | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| | GetThumbnail | [GetRequest](#getrequest) | [GetResponse](#getresponse) | Generates the thumbnail and returns it. | ## Scalar Value Types | .proto Type | Notes | C++ | Java | | ----------- | ----- | --- | ---- | | {{< div id="double" content="double" >}} | | double | double | | {{< div id="float" content="float" >}} | | float | float | | {{< div id="int32" content="int32" >}} | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | | {{< div id="int64" content="int64" >}} | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | | {{< div id="uint32" content="uint32" >}} | Uses variable-length encoding. | uint32 | int | | {{< div id="uint64" content="uint64" >}} | Uses variable-length encoding. | uint64 | long | | {{< div id="sint32" content="sint32" >}} | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | | {{< div id="sint64" content="sint64" >}} | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | | {{< div id="fixed32" content="fixed32" >}} | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | | {{< div id="fixed64" content="fixed64" >}} | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | | {{< div id="sfixed32" content="sfixed32" >}} | Always four bytes. | int32 | int | | {{< div id="sfixed64" content="sfixed64" >}} | Always eight bytes. | int64 | long | | {{< div id="bool" content="bool" >}} | | bool | boolean | | {{< div id="string" content="string" >}} | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | | {{< div id="bytes" content="bytes" >}} | May contain any arbitrary sequence of bytes. | string | ByteString |