Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
playground:playground [2023/11/14 08:26]
m.chlupac
playground:playground [2023/11/14 08:58]
m.chlupac
Line 2: Line 2:
  
  
-<code proto> 
-//************************************************************************************************* 
-// Mervis Data API 
-// Definition of the communication contract 
-// 
-// (c) Energocentrum Plus - all rights reserved 
-// 
-// Code style guide: https://developers.google.com/protocol-buffers/docs/style 
-//************************************************************************************************* 
- 
-syntax = "proto3"; 
- 
-package esg.mervis_data_api.shared; 
- 
-option csharp_namespace = "ESG.MervisDataApi.Shared"; 
- 
-import "Protos/mda_types.proto"; 
-import "google/protobuf/timestamp.proto"; 
-import "google/protobuf/duration.proto"; 
- 
-service MervisDataApiService 
-{ 
-    // List of all variables that comply with request parameters. 
- rpc EnumerateValueDescriptions (EnumerateValueDescriptionsRequest) returns (EnumerateValueDescriptionsResponse); 
- 
- // Gets values identified by ID. 
- rpc GetValuesById (GetValuesByIdRequest) returns (GetValuesByIdResponse); 
- 
- // Gets values identified by path. 
- rpc GetValuesByPath (GetValuesByPathRequest) returns (GetValuesByPathResponse); 
- 
- // Stream request for variable values identified by IDs. 
- rpc SubscribeValuesById (SubscribeValuesByIdRequest) returns (stream Value); 
- 
- // Stream request for variable values identified by paths. 
- rpc SubscribeValuesByPath (SubscribeValuesByPathRequest) returns (stream Value); 
- 
- // Sets values identified by ID. 
- rpc SetValuesById (SetValuesByIdRequest) returns (SetValuesByIdResponse); 
- 
- // Stream request for setting values identified by ID. 
- rpc StreamSetValuesById (stream StreamSetValuesByIdRequest) returns (StreamSetValuesByIdResponse); 
-} 
- 
-// Name/password credentials. 
-message UserNameCredentials 
-{ 
- string domain_id = 1; 
- string user_name = 2; 
- string password = 3; 
-} 
- 
-// Token credentials. 
-message TokenCredentials 
-{ 
- string token = 1; 
-} 
- 
-// Request credentials. 
-message Credentials 
-{ 
- oneof identity 
- { 
- UserNameCredentials user_name_and_password = 1; 
- TokenCredentials token = 2; 
- } 
-} 
- 
-// Explicit definition of path to a variable. 
-message Path 
-{ 
- repeated string segments = 1; 
-} 
- 
-// Value of a metadata item. 
-message MetadataValue 
-{ 
- oneof value 
- { 
- bool boolean = 10; 
- sfixed64 signed_int = 11; 
- fixed64 unsigned_int = 12; 
- double float64 = 14; 
- string text = 17; 
- } 
-} 
- 
-// Tag item used for detailed description of a variable. 
-message Tag 
-{ 
- string key = 1; 
- string value = 2; 
-} 
- 
-// Description of a variable. 
-message ValueDescription 
-{ 
- string id = 1; // ID 
- MdaValueType type = 2; // Value type, can be "unspecified". It means that the value is polymorphic 
- MdaAccess access = 3; // Kinda of access to a variable 
- repeated Path paths = 5; // All available paths where the can be found 
- map<int32, MetadataValue> metadata = 6; // Metadata. Key corresponds to MdaMetadataKey but cannot be used directly https://protobuf.dev/programming-guides/proto3/#maps 
- repeated Tag tags = 7; // Variable tags 
-} 
- 
-// Definition of a variable. Requesters can assign their own IDs and the server must be able to provide values based on this ID. 
-message OptimizedIdDefinition 
-{ 
- string native_id = 1; // ID as given by the server 
- optional int32 numerical = 2; // Requester defined ID 
-} 
- 
-// Numericals ID is used in case of requester custom ID. 
-message OptimizedId 
-{ 
- oneof id 
- { 
- string native = 1; // ID as given by the server 
- int32 numerical = 2; // Requester defined ID 
- } 
-} 
- 
-// Variable value. 
-message Value 
-{ 
- OptimizedId id = 1; // ID of the value 
- oneof value // Strongly typed value 
- { 
- bool boolean = 10; 
- sfixed64 signed_int = 11; 
- fixed64 unsigned_int = 12; 
- float float32 = 13; 
- double float64 = 14; 
- google.protobuf.Timestamp date_time_utc = 15; 
- google.protobuf.Duration timespan = 16; 
- string text = 17; 
- } 
-} 
- 
-// Request parameters for enumerating variables. 
-message EnumerateValueDescriptionsRequest 
-{ 
- Credentials credentials = 1; // Credentials 
- repeated Path path_filters = 2; // List of paths where are variables located. If the list is empty the method returns all available variables. 
-} 
- 
-// Response of enumerating variables. 
-message EnumerateValueDescriptionsResponse 
-{ 
- MdaResponseReturnResult result = 1; // General result 
- repeated ValueDescription descriptions = 2; // Available variables 
-} 
- 
-// Request parameters for reading values of variables specified by IDs. 
-message GetValuesByIdRequest 
-{ 
- Credentials credentials = 1; // Credentials 
- repeated string ids = 2; // Requested IDs 
-} 
- 
-// Response of reading values of variables specified by IDs. 
-message GetValuesByIdResponse 
-{ 
- MdaResponseReturnResult result = 1; // General result 
- repeated Value values = 2; // Values 
-} 
- 
-// Request parameters for reading values of variables specified by paths. 
-message GetValuesByPathRequest 
-{ 
- Credentials credentials = 1; // Credentials 
- repeated Path paths = 2; // Paths 
-} 
- 
-// Response of reading values of variables specified by paths. 
-message GetValuesByPathResponse 
-{ 
- MdaResponseReturnResult result = 1; // General result 
- repeated Value values = 2; // Values 
-} 
- 
-// Request parameters for stream-reading values of variables specified by IDs. 
-message SubscribeValuesByIdRequest 
-{ 
- Credentials credentials = 1; // Credentials 
- repeated OptimizedIdDefinition ids = 2; // IDs 
-} 
- 
-// Request parameters for stream-reading values of variables specified by Paths. 
-message SubscribeValuesByPathRequest 
-{ 
- Credentials credentials = 1; // Credentials 
- repeated Path paths = 2; // Paths 
-} 
- 
-// Request parameters for writing values of variables specified by IDs. 
-message SetValuesByIdRequest 
-{ 
- Credentials credentials = 1; // Credentials 
- repeated Value values = 2; // Values 
-} 
- 
-// Response result for individual variables. Only problematic variables are reported. 
-message SetValueIssue 
-{ 
- string id = 1; // Variable ID 
- SetValueErrorCode error_code = 2; // Error code 
- optional string error_message = 3; // Error message 
-} 
- 
-// Response of writing values of variables specified by IDs. 
-message SetValuesByIdResponse 
-{ 
- MdaResponseReturnResult result = 1; // General result 
- repeated SetValueIssue issues = 2; // Issues 
-} 
- 
-// Request parameters for stream-writing values of variables specified by IDs. 
-message StreamSetValuesByIdRequest 
-{ 
- optional Credentials credentials = 1; // Last credentials are taken int account 
- optional OptimizedIdDefinition optimized_id_definition = 2; // Possible definition of custom IDs 
- Value value = 3; // Value 
-} 
- 
-// Response of stream-writing values of variables specified by IDs. 
-message StreamSetValuesByIdResponse 
-{ 
- MdaResponseReturnResult result = 1; 
-} 
- 
- 
-</code> 
  • © Energocentrum Plus, s.r.o. 2017 - 2024