Skip to content
Snippets Groups Projects

F consolidation

Merged Henrik tom Wörden requested to merge f-consolidation into dev
@@ -25,6 +25,108 @@ option java_package = "org.caosdb.api.entity.v1alpha1";
@@ -25,6 +25,108 @@ option java_package = "org.caosdb.api.entity.v1alpha1";
option cc_enable_arenas = true;
option cc_enable_arenas = true;
package caosdb.entity.v1alpha1;
package caosdb.entity.v1alpha1;
 
// Data type for references to other entities.
 
message ReferenceDataType {
 
// The name of the record type which defines the scope of the reference.
 
string name = 1;
 
}
 
 
// Data type for list value.
 
message ListDataType {
 
// A list can be a list of atomic data types or references.
 
oneof list_data_type {
 
// List of atomic data types (e.g. List of DOUBLE)
 
AtomicDataType atomic_data_type = 1;
 
// List of reference (e.g. List of Person(s))
 
ReferenceDataType reference_data_type = 2;
 
}
 
}
 
 
// Atomic data types.
 
enum AtomicDataType {
 
// The data type is unset/unknown.
 
ATOMIC_DATA_TYPE_UNSPECIFIED = 0;
 
// TEXT data type.
 
ATOMIC_DATA_TYPE_TEXT = 1;
 
// DOUBLE data type.
 
ATOMIC_DATA_TYPE_DOUBLE = 2;
 
// DATETIME data type.
 
ATOMIC_DATA_TYPE_DATETIME = 3;
 
// INTEGER data type.
 
ATOMIC_DATA_TYPE_INTEGER = 4;
 
// BOOLEAN data type.
 
ATOMIC_DATA_TYPE_BOOLEAN = 5;
 
}
 
 
// The property value's data type.
 
message DataType {
 
// Wraps atomic types, LIST and REFERENCE
 
oneof data_type {
 
// The atomic data types.
 
AtomicDataType atomic_data_type = 1;
 
// A list data type.
 
ListDataType list_data_type = 2;
 
// A reference data type.
 
ReferenceDataType reference_data_type = 3;
 
}
 
}
 
 
// Represents collection values (e.g. for lists).
 
message CollectionValues {
 
// List of scalar values.
 
repeated ScalarValue values = 1;
 
}
 
 
// Represents special values which are otherwise hard to tranfer via protobuf.
 
enum SpecialValue {
 
// Represent the NULL value.
 
SPECIAL_VALUE_UNSPECIFIED = 0;
 
// The empty string.
 
SPECIAL_VALUE_EMPTY_STRING = 1;
 
}
 
 
// A scalar property value.
 
message ScalarValue {
 
// Wraps different optimized representations of a single value.
 
oneof scalar_value {
 
// The value as integer
 
int64 integer_value = 1;
 
// The value as double
 
double double_value = 2;
 
// The value as bool
 
bool boolean_value = 3;
 
// The value as string
 
string string_value = 4;
 
// The value is a special value (e.g. NULL or the empty string)
 
SpecialValue special_value = 5;
 
}
 
}
 
 
// The value of a property.
 
message Value {
 
// Wraps scalar and multi-dimensional values.
 
oneof value {
 
// The scalar values.
 
ScalarValue scalar_value = 1;
 
// The list values.
 
CollectionValues list_values = 2;
 
}
 
}
 
 
// The roles of entities.
 
enum EntityRole {
 
// Unspecified role.
 
ENTITY_ROLE_UNSPECIFIED = 0;
 
// RecordType
 
ENTITY_ROLE_RECORD_TYPE = 1;
 
// Record
 
ENTITY_ROLE_RECORD = 2;
 
// Property
 
ENTITY_ROLE_PROPERTY = 3;
 
// File
 
ENTITY_ROLE_FILE = 4;
 
}
 
// Messages codes. Entities and transactions contain errors, warnings and info
// Messages codes. Entities and transactions contain errors, warnings and info
// messages which use these codes.
// messages which use these codes.
enum MessageCode {
enum MessageCode {
@@ -318,13 +420,13 @@ message Entity {
@@ -318,13 +420,13 @@ message Entity {
// transactions.
// transactions.
Version version = 4;
Version version = 4;
// Entity role (e.g. RecordType, Property, Record)
// Entity role (e.g. RecordType, Property, Record)
string role = 5;
EntityRole role = 5;
// Default unit of this entity (only used by properties).
// Default unit of this entity (only used by properties).
string unit = 6;
string unit = 6;
// Default datatype of this entity (only used by properties).
// Default data type of this entity (only used by properties).
string datatype = 7;
DataType data_type = 7;
// Default value of this entity (only used by properties).
// Default value of this entity (only used by properties).
string value = 8;
Value value = 8;
// Properties of this entity.
// Properties of this entity.
repeated Property properties = 9;
repeated Property properties = 9;
// Parents of this entity.
// Parents of this entity.
@@ -356,6 +458,27 @@ message Hash {
@@ -356,6 +458,27 @@ message Hash {
string value = 2;
string value = 2;
}
}
 
// The property importance.
 
enum Importance {
 
// The importance is unset/unknown.
 
IMPORTANCE_UNSPECIFIED = 0;
 
// The property is obligatory for children of this entity. The server will
 
// flag an error when an obligatory property of a parent is missing during
 
// updates or insertions of a child entity. It says: "YOU MUST!"
 
IMPORTANCE_OBLIGATORY = 1;
 
// The property is recommended for children of this entity. The server will
 
// flag a warning when a recommended property of a parent is missing during
 
// updates or insertions of a child entity. It says: "YOU SHOULD!"
 
IMPORTANCE_RECOMMENDED = 2;
 
// The property is merely suggested for children of this entity. It says:
 
// "YOU MAY WANT TO?"
 
IMPORTANCE_SUGGESTED = 3;
 
// The property is fix and child entities should not add this property to
 
// themselves (This is a bit like static in object-oriented programming
 
// languages). It says: "KINDLY IGNORE THIS ONE FOR CHILDREN OF THIS ENTITY"
 
IMPORTANCE_FIX = 4;
 
}
 
// Property of an entity. Don't confuse with an Entity with role="Property"
// Property of an entity. Don't confuse with an Entity with role="Property"
message Property {
message Property {
// ID of the implemented Entity
// ID of the implemented Entity
@@ -365,13 +488,13 @@ message Property {
@@ -365,13 +488,13 @@ message Property {
// Property description
// Property description
string description = 3;
string description = 3;
// Property value
// Property value
string value = 4;
Value value = 4;
// Property importance
// Property importance
string importance = 5;
Importance importance = 5;
// Property unit
// Property unit
string unit = 6;
string unit = 6;
// Property datatype
// Property datatype
string datatype = 7;
DataType data_type = 7;
// Errors of this property
// Errors of this property
repeated Message errors = 8;
repeated Message errors = 8;
// Warnings of this property
// Warnings of this property
@@ -436,6 +559,8 @@ message EntityResponse {
@@ -436,6 +559,8 @@ message EntityResponse {
message IdResponse {
message IdResponse {
// The entity id.
// The entity id.
string id = 1;
string id = 1;
 
// The entity version.
 
Version version = 5;
// Errors for this entity which occurred during the current transaction. The
// Errors for this entity which occurred during the current transaction. The
// presence of errors indicates that a transaction was not successful and the
// presence of errors indicates that a transaction was not successful and the
// errors describe why this is the case.
// errors describe why this is the case.
Loading