caosdb.entity.v1

caosdb/entity/v1/main.proto

This is the main file of the caosdb.entity.v1 package.

CollectionValues

Represents collection values (e.g. for lists).

CollectionValues type fields

Field

Type

Label

Description

values

ScalarValue

repeated

List of scalar values.

DataType

The property value’s data type.

DataType type fields

Field

Type

Label

Description

atomic_data_type

AtomicDataType

The atomic data types.

list_data_type

ListDataType

A list data type.

reference_data_type

ReferenceDataType

A reference data type.

DeleteRequest

Single delete request (by id)

DeleteRequest type fields

Field

Type

Label

Description

id

string

A single id

DeleteResponse

Response to a single delete request.

DeleteResponse type fields

Field

Type

Label

Description

id_response

IdResponse

Id and messages of the deleted entity.

Entity

This is the main class for CaosDB’s entities.

Entity type fields

Field

Type

Label

Description

id

string

Entity ID. The entity id is the primary key for all entities.

name

string

Entity name. The entity name is a possibly ambiguous identifier which is intended for human readers. In some cases, names can be restricted to be unique when this makes sense, but only as means to prevent the creation of duplicates.

description

string

Entity description. A short description of the purpose and meaning of an entity which is intended for human readers.

version

Version

Entity version. This entity message represents only one version of a multitude of versions of the same entity (i.e. they have the same Entity ID). The different versions represent the change of an entity through transactions.

role

EntityRole

Entity role (e.g. RecordType, Property, Record)

unit

string

Default unit of this entity (only used by properties).

data_type

DataType

Default data type of this entity (only used by properties).

value

Value

Default value of this entity (only used by properties).

properties

Property

repeated

Properties of this entity.

parents

Parent

repeated

Parents of this entity.

file_descriptor

FileDescriptor

File meta data. The actual binary data has to uploaded or downloaded using the File message.

EntityACL

Entity Access Controll List (ACL)

EntityACL type fields

Field

Type

Label

Description

id

string

The entity id

rules

EntityPermissionRule

repeated

The rules which make up the ACL

permission

EntityAclPermission

relevant permissions of the current session, e.g. if the current user is allowed to update the ACL. This is read-only and will be ignored by the server.

EntityPermissionRule

Permission rules for Entity ACL

EntityPermissionRule type fields

Field

Type

Label

Description

role

string

The role for which this rule applies

priority

bool

Is priority?

grant

bool

Is grant?

permissions

EntityPermission

repeated

permissions

capabilities

EntityPermissionRuleCapability

repeated

capabilities

EntityRequest

Wraps an entity and associates it with a previous file upload via a transmission id.

EntityRequest type fields

Field

Type

Label

Description

entity

Entity

The entity.

upload_id

FileTransmissionId

The transmission id (if any). Note: upload_ids are only meaningful for File entities.

EntityResponse

Wraps an entity and associates it with a transimission id for a file download

EntityResponse type fields

Field

Type

Label

Description

entity

Entity

The entity.

download_id

FileTransmissionId

The transmission id (if any). Note: download_ids are only meaningful for File entities.

errors

Message

repeated

Errors for this entity which occurred during the current transaction. The presence of errors indicates that a transaction was not successful and the errors describe why this is the case.

warnings

Message

repeated

Warnings for this entity which occurred during the current transaction, but the transaction was nevertheless successful. The presence of warnings indicates that the entity is in an undesired or non-standard state itself or in an undesired or non-standard relation to other entities or the server’s state or configuration. This might cause errors in the future and should be remedied if possible.

infos

Message

repeated

Info messages for this entity which may inform the client about anything related to the transaction or the new state of the entity itself or in relation to other entities or the server’s state or configuration.

FileChunk

Stores a single chunk of a file

FileChunk type fields

Field

Type

Label

Description

file_transmission_id

FileTransmissionId

Temporary identifier containing the file and registration_id.

data

bytes

Binary data of a chunk.

FileDescriptor

The file descriptor contains the meta data of the file which describes the file and where the binary data can be retrieved.

FileDescriptor type fields

Field

Type

Label

Description

entity_id

string

The corresponding file entity.

path

string

The path of this file in the internal file system.

size

int64

The size of the file

hashes

Hash

repeated

Hash sums for consistency checks.

FileDownloadRequest

Request for a file download which has been registered previously.

FileDownloadRequest type fields

Field

Type

Label

Description

file_transmission_id

FileTransmissionId

Request the next chunk for this file.

FileDownloadResponse

Response containing a chunk of a file.

FileDownloadResponse type fields

Field

Type

Label

Description

status

TransmissionStatus

Status of the download

chunk

FileChunk

A single file chunk

FileTransmissionId

Temporary identifier of a single file during a transmission.

FileTransmissionId type fields

Field

Type

Label

Description

registration_id

string

The registration id which has been issued by the target of the trans

file_id

string

A temporary identifier which identifies the file of this chunk. The file_id is also used by transaction to associate entities (which are to be inserted or updated) with a binary blob.

FileTransmissionSettings

Settings for the the file transmission.

FileTransmissionSettings type fields

Field

Type

Label

Description

max_chunk_size

int64

The maximum chunk size.

max_file_size

int64

The maximum file size.

FileUploadRequest

Request for a file upload which has been registered previously. Chunks may be send in any order.

FileUploadRequest type fields

Field

Type

Label

Description

chunk

FileChunk

A single file chunk

FileUploadResponse

Response of the server upon a finished FileUpload.

FileUploadResponse type fields

Field

Type

Label

Description

status

TransmissionStatus

Status of the upload.

FindQueryResult

Result of a FIND query.

FindQueryResult type fields

Field

Type

Label

Description

result_set

EntityResponse

repeated

Entities in the result set.

Hash

This represents a hash sum of a file.

Hash type fields

Field

Type

Label

Description

algorithm

string

The algorithm of the hash sum, e.g. SHA512

value

string

The value of the hash sum

IdResponse

A response containing only the id (of a deleted, inserted, or updated entity) and the usual trias of entity messages.

IdResponse type fields

Field

Type

Label

Description

id

string

The entity id.

version

Version

The entity version.

errors

Message

repeated

Errors for this entity which occurred during the current transaction. The presence of errors indicates that a transaction was not successful and the errors describe why this is the case.

warnings

Message

repeated

Warnings for this entity which occurred during the current transaction, but the transaction was nevertheless successful. The presence of warnings indicates that the entity is in an undesired or non-standard state itself or in an undesired or non-standard relation to other entities or the server’s state or configuration. This might cause errors in the future and should be remedied if possible.

infos

Message

repeated

Info messages for this entity which may inform the client about anything related to the transaction or the new state of the entity itself or in relation to other entities or the server’s state or configuration.

InsertRequest

Request to insert a single entity.

InsertRequest type fields

Field

Type

Label

Description

entity_request

EntityRequest

The new entity.

InsertResponse

Response to a single insert request.

InsertResponse type fields

Field

Type

Label

Description

id_response

IdResponse

Id and messages of the inserted entity.

ListDataType

Data type for list value.

ListDataType type fields

Field

Type

Label

Description

atomic_data_type

AtomicDataType

List of atomic data types (e.g. List of DOUBLE)

reference_data_type

ReferenceDataType

List of reference (e.g. List of Person(s))

Message

Messages are used by server’s or client’s to transport transient information, e.g. general information about a transaction, warnings, or errors.

Message type fields

Field

Type

Label

Description

code

int32

The code is a machine-readable identifier.

description

string

A short description of the message which is indented for human readers.

MultiRetrieveEntityACLRequest

Request of the MultiRetrieveEntityACL rpc

MultiRetrieveEntityACLRequest type fields

Field

Type

Label

Description

id

string

repeated

The requested entity ids.

MultiRetrieveEntityACLResponse

Response of the MultiRetrieveEntityACL rpc

MultiRetrieveEntityACLResponse type fields

Field

Type

Label

Description

acls

EntityACL

repeated

The entities ACLs

MultiTransactionRequest

Wraps multiple sub-transaction requests of mixed types.

MultiTransactionRequest type fields

Field

Type

Label

Description

requests

TransactionRequest

repeated

The actual payload.

MultiTransactionResponse

Wraps the reponses to multiple sub-transactions of mixed types.

MultiTransactionResponse type fields

Field

Type

Label

Description

responses

TransactionResponse

repeated

The actual payload.

transaction_errors

Message

repeated

Transaction errors.

transaction_warnings

Message

repeated

Transaction warnings.

transaction_infos

Message

repeated

Transaction info messages.

MultiUpdateEntityACLRequest

Request of the MultiUpdateEntityACL rpc

MultiUpdateEntityACLRequest type fields

Field

Type

Label

Description

acls

EntityACL

repeated

The requested entity ids.

MultiUpdateEntityACLResponse

Response of the MultiUpdateEntityACL rpc

Parent

Parent of an entity.

Parent type fields

Field

Type

Label

Description

id

string

ID of the parernt entity.

name

string

Name of the parernt entity.

description

string

Description of the parent entity.

errors

Message

repeated

Errors of this parent

warnings

Message

repeated

Warnings of this parent

infos

Message

repeated

Info messages of this parent

Property

Property of an entity. Don’t confuse with an Entity with role=”Property”

Property type fields

Field

Type

Label

Description

id

string

ID of the implemented Entity

name

string

Property name

description

string

Property description

value

Value

Property value

importance

Importance

Property importance

unit

string

Property unit

data_type

DataType

Property datatype

errors

Message

repeated

Errors of this property

warnings

Message

repeated

Warnings of this property

infos

Message

repeated

Info messages of this property

Query

Query message. Currently this messge only wraps the query string. This might be extended in the future.

ReferenceDataType

Data type for references to other entities.

ReferenceDataType type fields

Field

Type

Label

Description

name

string

The name of the record type which defines the scope of the reference.

RegisterFileUploadRequest

Register a file upload.

RegisterFileUploadResponse

Response of the file server upon an upload registration request.

RegisterFileUploadResponse type fields

Field

Type

Label

Description

status

RegistrationStatus

Whether the server accepted or rejected the registration.

registration_id

string

The registration id is used to identify chunks and files which belong to the same upload .

upload_settings

FileTransmissionSettings

The server’s transmission settings for the upload.

RetrieveRequest

Single retrieve request (by query or by id)

RetrieveRequest type fields

Field

Type

Label

Description

id

string

A single id

query

Query

A query

register_file_download

bool

Is the client requesting to download the file associated with the retrieved entity or query results?

RetrieveResponse

Response to a retrieve request

RetrieveResponse type fields

Field

Type

Label

Description

entity_response

EntityResponse

Result of a request by id or any other unique identifier.

find_result

FindQueryResult

Result of a FIND query

select_result

SelectQueryResult

Result of a SELECT query

count_result

int64

Result of a COUNT query

ScalarValue

A scalar property value.

ScalarValue type fields

Field

Type

Label

Description

integer_value

int64

The value as integer

double_value

double

The value as double

boolean_value

bool

The value as bool

string_value

string

The value as string. For the empty string, you may use special_value.

special_value

SpecialValue

The value is a special value (e.g. NULL or the empty string)

SelectQueryColumn

A single header column of the result of a SELECT query

SelectQueryColumn type fields

Field

Type

Label

Description

name

string

The column name. This is one of the SELECT’ed fields.

SelectQueryHeader

The header line of the result of a SELECT query

SelectQueryHeader type fields

Field

Type

Label

Description

columns

SelectQueryColumn

repeated

List of columns in this table. The order defines the order of the cells in each of the SelectQueryRows.

SelectQueryResult

A table which is a result of a SELECT query

SelectQueryResult type fields

Field

Type

Label

Description

header

SelectQueryHeader

The header contains the SELECT’ed fields

data_rows

SelectQueryRow

repeated

The actual results

SelectQueryRow

A single result row of a SELECT query

SelectQueryRow type fields

Field

Type

Label

Description

cells

Value

repeated

The cells of the table row contain the value of the SELECT’ed fields. The order of the cells follows the order of the columns of the SelectQueryHeader.

TransactionRequest

Single request containing either a query, an id or a complete entity.

TransactionRequest type fields

Field

Type

Label

Description

retrieve_request

RetrieveRequest

Single request for a retrieve transaction.

update_request

UpdateRequest

Single request for an update transaction.

insert_request

InsertRequest

Single request for an insert transaction.

delete_request

DeleteRequest

Single request for a delete transaction.

TransactionResponse

Single response containing either an id, a COUNT query result, a SELECT-table or complete entities.

TransactionResponse type fields

Field

Type

Label

Description

delete_response

DeleteResponse

Single response to a delete transaction.

update_response

UpdateResponse

Single response to an update transaction.

retrieve_response

RetrieveResponse

Single response to a retrieve transaction.

insert_response

InsertResponse

Single response to an insert transaction.

UpdateRequest

Request to update a single Entity

UpdateRequest type fields

Field

Type

Label

Description

entity_request

EntityRequest

The entity which is to be updated.

UpdateResponse

Response to a single update request.

UpdateResponse type fields

Field

Type

Label

Description

id_response

IdResponse

Id and messages of the updated entity.

Value

The value of a property.

Value type fields

Field

Type

Label

Description

scalar_value

ScalarValue

The scalar values.

list_values

CollectionValues

The list values.

Version

Version of an entity.

Version type fields

Field

Type

Label

Description

id

string

Version id

AtomicDataType

Atomic data types.

Enum AtomicDataType values

Name

Number

Description

ATOMIC_DATA_TYPE_UNSPECIFIED

0

The data type is unset/unknown.

ATOMIC_DATA_TYPE_TEXT

1

TEXT data type.

ATOMIC_DATA_TYPE_DOUBLE

2

DOUBLE data type.

ATOMIC_DATA_TYPE_DATETIME

3

DATETIME data type.

ATOMIC_DATA_TYPE_INTEGER

4

INTEGER data type.

ATOMIC_DATA_TYPE_BOOLEAN

5

BOOLEAN data type.

EntityAclPermission

Entity ACL Permission indicates whether the current user is allowed to update the Entity’s ACL.

EntityPermission

Entity permissions

Enum EntityPermission values

Name

Number

Description

ENTITY_PERMISSION_UNSPECIFIED

0

Unspecified permission.

ENTITY_PERMISSION_RETRIEVE_ENTITY

1

Permission to retrieve the full entity (name, description, data type, …) with all parents and properties (unless prohibited by another rule on the property level).

ENTITY_PERMISSION_RETRIEVE_ACL

2

Permission to retrieve the full and final ACL of this entity.

ENTITY_PERMISSION_RETRIEVE_HISTORY

3

Permission to retrieve the history of this entity.

ENTITY_PERMISSION_RETRIEVE_OWNER

4

Permission to retrieve the owner(s) of this entity.

ENTITY_PERMISSION_RETRIEVE_FILE

5

Permission to download the file belonging to this entity.

ENTITY_PERMISSION_DELETE

6

Permission to delete an entity.

ENTITY_PERMISSION_EDIT_ACL

7

Permission to change the user-specified part of this entity’s ACL. Roles with this Permission are called ‘Owners’.

ENTITY_PERMISSION_UPDATE_DESCRIPTION

8

Permission to change the value of this entity.

ENTITY_PERMISSION_UPDATE_VALUE

9

Permission to change the value of this entity.

ENTITY_PERMISSION_UPDATE_ROLE

10

Permission to change the role of this entity.

ENTITY_PERMISSION_UPDATE_REMOVE_PARENT

11

Permission to remove parents from this entity.

ENTITY_PERMISSION_UPDATE_ADD_PARENT

12

Permission to add a parent to this entity.

ENTITY_PERMISSION_UPDATE_REMOVE_PROPERTY

13

Permission to remove properties from this entity.

ENTITY_PERMISSION_UPDATE_ADD_PROPERTY

14

Permission to add a property to this entity.

ENTITY_PERMISSION_UPDATE_NAME

15

Permission to change the name of this entity.

ENTITY_PERMISSION_UPDATE_DATA_TYPE

16

Permission to change the data type of this entity.

ENTITY_PERMISSION_UPDATE_REMOVE_FILE

17

Permission to delete the file of this entity.

ENTITY_PERMISSION_UPDATE_ADD_FILE

18

Permission to set a file for this entity.

ENTITY_PERMISSION_UPDATE_MOVE_FILE

19

Permission to move an existing file to a new location.

ENTITY_PERMISSION_USE_AS_REFERENCE

20

Permission to refer to this entity via a reference property.

ENTITY_PERMISSION_USE_AS_PROPERTY

21

Permission to implement this entity as a property.

ENTITY_PERMISSION_USE_AS_PARENT

22

Permission to use this entity as a super type for other entities.

ENTITY_PERMISSION_USE_AS_DATA_TYPE

23

Permission to use this entity as a data type for reference properties.

ENTITY_PERMISSION_UPDATE_QUERY_TEMPLATE_DEFINITION

24

Permission to update the query template definition of this QueryTemplate

EntityPermissionRuleCapability

What (given enough permissions) can be done with an EntityPermissionRule. E.g. globel entity permission rules, which are to be specified in a configuration file cannot be deleted, thus they are missing the ENTITY_PERMISSION_RULE_CAPABILITY_DELETE capability.

Enum EntityPermissionRuleCapability values

Name

Number

Description

ENTITY_PERMISSION_RULE_CAPABILITY_UNSPECIFIED

0

Unspecified capability.

ENTITY_PERMISSION_RULE_CAPABILITY_DELETE

1

This permission rule can be deleted/removed from the ACL

EntityRole

The roles of entities.

Enum EntityRole values

Name

Number

Description

ENTITY_ROLE_UNSPECIFIED

0

Unspecified role.

ENTITY_ROLE_RECORD_TYPE

1

RecordType

ENTITY_ROLE_RECORD

2

Record

ENTITY_ROLE_PROPERTY

3

Property

ENTITY_ROLE_FILE

4

File

Importance

The property importance.

MessageCode

Messages codes. Entities and transactions contain errors, warnings and info messages which use these codes.

Enum MessageCode values

Name

Number

Description

MESSAGE_CODE_UNSPECIFIED

0

Unspecific code. Use this for anything where a client is not expected to handle this message in a specific way.

MESSAGE_CODE_UNKNOWN

1

Unknown code. This value is a fall-back which may be used when the message code was not in this list. An unknown error code is a sign of a wrong otr out-dated implementation on either side.

MESSAGE_CODE_ENTITY_DOES_NOT_EXIST

2

The requested entity (retrieve, delete, or update) does not exist.

MESSAGE_CODE_ENTITY_HAS_NO_PROPERTIES

3

The entity has no properties.

MESSAGE_CODE_ENTITY_HAS_BEEN_DELETED_SUCCESSFULLY

4

This entity has been deleted successfully.

MESSAGE_CODE_ENTITY_HAS_UNQUALIFIED_PROPERTIES

5

On insert or update: Entity has unqualified properties.

MESSAGE_CODE_ENTITY_HAS_UNQUALIFIED_PARENTS

6

On insert or update: Entity has unqualified parents.

MESSAGE_CODE_ENTITY_HAS_NO_ID

7

On update: Entity, Property or Parent has no ID and the server is configured to require a valid ID for all entities which are to be updated and for their properties and parents as well.

MESSAGE_CODE_REQUIRED_BY_PERSISTENT_ENTITY

8

On delete: Entity is required by other entities which are not to be deleted.

MESSAGE_CODE_PROPERTY_HAS_NO_DATA_TYPE

9

Property has no datatype.

MESSAGE_CODE_ENTITY_HAS_NO_DESCRIPTION

10

Entity has no description.

MESSAGE_CODE_ENTITY_HAS_NO_NAME

11

Entity has no name.

MESSAGE_CODE_OBLIGATORY_PROPERTY_MISSING

12

On insert or update: An obligatory property is missing.

MESSAGE_CODE_ENTITY_HAS_NO_PARENTS

13

On insert or update: Entity has no parents.

MESSAGE_CODE_FILE_HAS_NO_TARGET_PATH

14

No target path specified.

MESSAGE_CODE_TARGET_PATH_NOT_ALLOWED

15

This target path is not allowed.

MESSAGE_CODE_TARGET_PATH_EXISTS

16

This target path does already exist.

MESSAGE_CODE_PROPERTY_HAS_NO_UNIT

17

Property has no unit.

MESSAGE_CODE_CANNOT_PARSE_VALUE

18

Cannot parse value.

MESSAGE_CODE_CHECKSUM_TEST_FAILED

19

Checksum test failed. File is corrupted.

MESSAGE_CODE_SIZE_TEST_FAILED

20

Size test failed. File is corrupted.

MESSAGE_CODE_CANNOT_CREATE_PARENT_FOLDER

21

Cannot create parent folder in the file system.

MESSAGE_CODE_FILE_HAS_NOT_BEEN_UPLOAED

22

File has not been uploaded.

MESSAGE_CODE_CANNOT_MOVE_FILE_TO_TARGET_PATH

23

Cannot move file to it’s target folder.

MESSAGE_CODE_CANNOT_PARSE_DATETIME_VALUE

24

Cannot parse value as datetime value.

MESSAGE_CODE_CANNOT_PARSE_DOUBLE_VALUE

25

Cannot parse value as double value.

MESSAGE_CODE_CANNOT_PARSE_INT_VALUE

26

Cannot parse value as integer value.

MESSAGE_CODE_CANNOT_PARSE_BOOL_VALUE

27

Cannot parse value as boolean value (either ‘true’ or ‘false’, case insensitive).

MESSAGE_CODE_FILE_NOT_FOUND

28

File could not be found.

MESSAGE_CODE_WARNING_OCCURED

29

A warning occured while processing an entity with the strict flag.

MESSAGE_CODE_ENTITY_NAME_IS_NOT_UNIQUE

30

On insert or update: Name is already in use. Choose a different name or reuse an existing entity.

MESSAGE_CODE_QUERY_EXCEPTION

31

This query finished with errors.

MESSAGE_CODE_TRANSACTION_ROLL_BACK

32

An unknown error occured during the transaction and it was rolled back.

MESSAGE_CODE_UNKNOWN_UNIT

34

Unknown unit. Values with this unit cannot be converted to other units when used in search queries.

MESSAGE_CODE_AUTHORIZATION_ERROR

35

You are not allowed to do this.

MESSAGE_CODE_REFERENCE_IS_NOT_ALLOWED_BY_DATA_TYPE

36

Reference not qualified. The value of this Reference Property is to be a child of its data type.

MESSAGE_CODE_ENTITY_NAME_DUPLICATES

37

This entity cannot be identified due to name duplicates.

MESSAGE_CODE_DATA_TYPE_NAME_DUPLICATES

38

This data type cannot be identified due to name duplicates.

MESSAGE_CODE_ENTITY_HAS_NO_NAME_OR_ID

39

This entity cannot be identified as it didn’t come with a name or id.

MESSAGE_CODE_AFFILIATION_ERROR

40

Affiliation is not defined for this child-parent constellation.

MESSAGE_CODE_QUERY_PARSING_ERROR

41

An error occured during the parsing of this query. Maybe you were using a wrong syntax?

MESSAGE_CODE_NAME_PROPERTIES_MUST_BE_TEXT

42

A property which has ‘name’ as its parent must have a TEXT data type.

MESSAGE_CODE_PARENT_DUPLICATES_WARNING

43

This entity had parent duplicates. That is meaningless and only one parent had been inserted.

MESSAGE_CODE_PARENT_DUPLICATES_ERROR

44

This entity had parent duplicates. Parent duplicates are meaningless and would be ignored (and inserted only once). But these parents had diverging inheritance instructions which cannot be processed.

MESSAGE_CODE_ATOMICITY_ERROR

45

One or more entities are not qualified. None of them have been inserted/updated/deleted.

MESSAGE_CODE_NO_SUCH_ENTITY_ROLE

46

There is no such role.

MESSAGE_CODE_REQUIRED_BY_UNQUALIFIED

47

This entity cannot be deleted due to dependency problems

MESSAGE_CODE_ENTITY_HAS_UNQUALIFIED_REFERENCE

48

This entity has an unqualified reference. I.e. the referenced entity is not qualified for the transaction.

MESSAGE_CODE_REFERENCED_ENTITY_DOES_NOT_EXIST

49

Referenced entity does not exist.

MESSAGE_CODE_REFERENCE_NAME_DUPLICATES

50

This reference cannot be identified due to name duplicates.

MESSAGE_CODE_DATA_TYPE_INHERITANCE_AMBIGUOUS

51

The datatype which is to be inherited could not be detected due to divergent datatypes of at least two parents.

MESSAGE_CODE_DATA_TYPE_DOES_NOT_ACCEPT_COLLECTION_VALUES

52

This datatype does not accept collections of values (e.g. Lists).

MESSAGE_CODE_CANNOT_PARSE_UNIT

53

This unit cannot be parsed.

MESSAGE_CODE_ADDITIONAL_PROPERTY

54

This property is an additional property which has no corresponding property among the properties of the parents.

MESSAGE_CODE_PROPERTY_WITH_DATA_TYPE_OVERRIDE

55

This property overrides the datatype.

MESSAGE_CODE_PROPERTY_WITH_DESCRIPTION_OVERRIDE

56

This property overrides the description.

MESSAGE_CODE_PROPERTY_WITH_NAME_OVERRIDE

57

This property overrides the name.

MESSAGE_CODE_INTEGER_VALUE_OUT_OF_RANGE

58

Indicates that this server cannot process this integer value because it is out of range. The integer range is an implementation detail and thus this can happen even though the API allows the value.

MESSAGE_CODE_INTEGRITY_VIOLATION

59

This entity caused an unexpected integrity violation. This is a strong indicator for a server bug. Please report.

RegistrationStatus

Indicates whether a registration (for upload or download) has been accepted or rejected.

Enum RegistrationStatus values

Name

Number

Description

REGISTRATION_STATUS_UNSPECIFIED

0

The registration status is unspecified.

REGISTRATION_STATUS_ACCEPTED

1

The registration has been accepted and the client may proceed with the actual transmissions.

REGISTRATION_STATUS_REJECTED

2

The registration has been rejected and the client should not try to proceed with the transmission.

SpecialValue

Represents special values which are otherwise hard to transfer via protobuf.

Enum SpecialValue values

Name

Number

Description

SPECIAL_VALUE_UNSPECIFIED

0

Represent the NULL value.

SPECIAL_VALUE_EMPTY_STRING

1

The empty string.

TransmissionStatus

Indicates the state of an upload or a download (a stream of chunks).

Enum TransmissionStatus values

Name

Number

Description

TRANSMISSION_STATUS_UNSPECIFIED

0

The transmission status is unspecified.

TRANSMISSION_STATUS_SUCCESS

1

The transmission has been successful.

TRANSMISSION_STATUS_ERROR

2

The transmission terminated with errors.

TRANSMISSION_STATUS_GO_ON

3

The transmission is incomplete and the client may send/request the next chunk.

EntityTransactionService

Entity Transaction Service

EntityTransactionService service methods

Method Name

Request Type

Response Type

Description

MultiTransaction

MultiTransactionRequest

MultiTransactionResponse

Issue multiple mixed requests

MultiRetrieveEntityACL

MultiRetrieveEntityACLRequest

MultiRetrieveEntityACLResponse

Request the Entity ACLs

MultiUpdateEntityACL

MultiUpdateEntityACLRequest

MultiUpdateEntityACLResponse

Set the Entity ACLs,

FileTransmissionService

File Transaction Service

FileTransmissionService service methods

Method Name

Request Type

Response Type

Description

RegisterFileUpload

RegisterFileUploadRequest

RegisterFileUploadResponse

Register a file upload. This needs to be done prior to the actual upload and prior to the transaction request which uses the uploaded files.

FileUpload

FileUploadRequest stream

FileUploadResponse

The actual file upload. The upload has to be registered prior to this rpc.

FileDownload

FileDownloadRequest

FileDownloadResponse stream

A file download. The download has to be registered prior this rpc in the RetrieveRequest.