Skip to content
Snippets Groups Projects
Commit 5eec0072 authored by Henrik tom Wörden's avatar Henrik tom Wörden
Browse files

Merge branch 'f-consolidation' into 'dev'

F consolidation

See merge request !2
parents fb0c2d77 bd37bac6
No related branches found
No related tags found
1 merge request!2F consolidation
Pipeline #12321 passed with warnings
...@@ -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 data type 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.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment