Skip to content
Snippets Groups Projects
ipaaca.proto 1.42 KiB

package ipaaca.protobuf;

message IntMessage {
	required sint32 value = 1;
}

message LinkSet {
	required string type = 1;
	repeated string targets = 2;
}

message PayloadItem {
	required string key = 1;
	required string value = 2;
	required string type = 3 [default = "str"];
}

message IU {
	enum AccessMode {
		PUSH = 0;
		REMOTE = 1;
		MESSAGE = 2;
	}

	required string uid  = 1;
	required uint32 revision = 2;
	required string category = 3 [default = "undef"];
	required string payload_type = 4 [default = "MAP"];
	required string owner_name = 5;
	required bool committed = 6 [default = false];
	required AccessMode access_mode = 7 [default = PUSH];
	required bool read_only = 8 [default = false];
	repeated PayloadItem payload = 9;
	repeated LinkSet links = 10;
}

message IUPayloadUpdate {
	required string uid = 1;
	required uint32 revision = 2;
	repeated PayloadItem new_items = 3;
	repeated string keys_to_remove = 4;
	required bool is_delta = 5 [default = false];
	required string writer_name = 6;
}

message IURetraction {
	required string uid = 1;
	required uint32 revision = 2;
}

message IUCommission {
	required string uid = 1;
	required uint32 revision = 2;
	required string writer_name = 3;
}

message IULinkUpdate {
	required string uid = 1;
	required uint32 revision = 2;
	repeated LinkSet new_links = 3;
	repeated LinkSet links_to_remove = 4;
	required bool is_delta = 5 [default = false];
	required string writer_name = 6;
}