aboutsummaryrefslogtreecommitdiffstats
path: root/proto/configuration/routing.proto
diff options
context:
space:
mode:
Diffstat (limited to 'proto/configuration/routing.proto')
-rw-r--r--proto/configuration/routing.proto60
1 files changed, 60 insertions, 0 deletions
diff --git a/proto/configuration/routing.proto b/proto/configuration/routing.proto
new file mode 100644
index 0000000..b254fd2
--- /dev/null
+++ b/proto/configuration/routing.proto
@@ -0,0 +1,60 @@
+syntax = "proto3";
+
+package configuration.routing;
+
+import "google/protobuf/empty.proto";
+import "google/protobuf/timestamp.proto";
+
+message RoutingConfiguration {
+ bool active = 1;
+ optional string name = 2;
+ string version = 3;
+ repeated Message messages = 4;
+ google.protobuf.Timestamp created_at = 5;
+ google.protobuf.Timestamp updated_at = 6;
+}
+
+message Message {
+ string id = 1;
+ string version = 2;
+ string tx_tp = 3;
+ repeated Typology typologies = 4;
+}
+
+message Typology {
+ string id = 1;
+ string version = 2;
+ repeated Rule rules = 3;
+}
+
+message Rule {
+ string id = 1;
+ optional string version = 2;
+}
+
+message RoutingConfigurationRequest {
+ string id = 1;
+}
+
+message UpdateRoutingRequest {
+ string id = 1;
+ RoutingConfiguration configuration = 2;
+}
+
+message GetActiveRoutingResponse {
+ optional RoutingConfiguration configuration = 1;
+}
+
+message DeleteConfigurationRequest {
+ string id = 1;
+}
+
+service QueryRouting {
+ rpc GetActiveRoutingConfiguration (google.protobuf.Empty) returns (GetActiveRoutingResponse);
+}
+
+service MutateRouting {
+ rpc CreateRoutingConfiguration (RoutingConfiguration) returns (RoutingConfiguration);
+ rpc UpdateRoutingConfiguration (UpdateRoutingRequest) returns (RoutingConfiguration);
+ rpc DeleteRoutingConfiguration (DeleteConfigurationRequest) returns (RoutingConfiguration);
+}