stillbox/pkg/pb/stillbox.proto

116 lines
2.1 KiB
Protocol Buffer
Raw Permalink Normal View History

2024-07-31 09:24:05 -04:00
syntax = "proto3";
package stillbox;
option go_package = "./pb";
import "google/protobuf/timestamp.proto";
2024-08-16 11:04:09 -04:00
import "google/protobuf/struct.proto";
2024-07-31 09:24:05 -04:00
2024-08-04 00:55:28 -04:00
message Message {
oneof toClient_message {
2024-10-19 23:09:31 -04:00
CommandResponse response = 1;
Call call = 2;
Notification notification = 3;
UserPopup popup = 4;
Error error = 5;
Hello hello = 6;
2024-10-19 14:14:15 -04:00
}
}
2024-10-19 23:09:31 -04:00
message CommandResponse {
2024-10-19 14:14:15 -04:00
optional int64 command_id = 1;
oneof command_response {
2024-10-18 09:34:20 -04:00
TalkgroupInfo tg_info = 2;
2024-08-04 00:55:28 -04:00
}
}
2024-07-31 09:24:05 -04:00
message Call {
string id = 1;
string audioName = 2;
string audioType = 3;
google.protobuf.Timestamp date_time = 4;
int32 system = 5;
int32 talkgroup = 6;
int32 source = 7;
int64 frequency = 8;
repeated int64 frequencies = 9;
repeated int32 patches = 10;
repeated int32 sources = 11;
optional int32 duration = 12;
bytes audio = 13;
2024-07-31 09:24:05 -04:00
}
2024-08-04 00:55:28 -04:00
2024-10-18 09:34:20 -04:00
message Hello {
2024-10-20 13:04:42 -04:00
ServerInfo server_info = 1;
2024-10-18 09:34:20 -04:00
}
2024-08-04 00:55:28 -04:00
message UserPopup {
string msg = 1;
}
2024-08-06 11:19:30 -04:00
message Error {
string error = 1;
2024-08-16 14:54:50 -04:00
Command command = 2;
2024-08-06 11:19:30 -04:00
}
2024-08-04 00:55:28 -04:00
message Notification {
2024-10-18 09:34:20 -04:00
google.protobuf.Timestamp date_time = 1;
2024-08-04 00:55:28 -04:00
string msg = 2;
2024-10-18 09:34:20 -04:00
string action_url = 3;
2024-08-04 00:55:28 -04:00
}
message Command {
2024-10-19 14:14:15 -04:00
optional int64 command_id = 1;
2024-08-04 00:55:28 -04:00
oneof command {
2024-10-19 14:14:15 -04:00
Live live_command = 2;
Search search_command = 3;
Talkgroup tg_command = 4;
2024-08-04 00:55:28 -04:00
}
}
2024-08-16 11:04:09 -04:00
message TalkgroupInfo {
Talkgroup tg = 1;
2024-08-20 08:17:02 -04:00
string system_name = 2;
optional string name = 3;
optional string group = 4;
2024-08-23 14:28:47 -04:00
optional string alpha_tag = 5;
optional int32 frequency = 6;
repeated string tags = 7;
optional google.protobuf.Struct metadata = 8;
bool learned = 9;
2024-08-16 11:04:09 -04:00
}
2024-08-04 00:55:28 -04:00
enum LiveState {
LS_STOPPED = 0;
LS_LIVE = 1;
LS_PAUSED = 2;
}
message Live {
2024-08-06 11:19:30 -04:00
optional LiveState state = 1;
optional Filter filter = 2;
}
message Talkgroup {
int32 system = 1;
int32 talkgroup = 2;
}
message Filter {
repeated Talkgroup talkgroups = 1;
repeated Talkgroup talkgroups_not = 2;
repeated string talkgroup_tags_all = 3;
repeated string talkgroup_tags_any = 4;
repeated string talkgroup_tags_not = 5;
2024-08-04 00:55:28 -04:00
}
message Search {
}
2024-10-18 09:34:20 -04:00
2024-10-20 13:04:42 -04:00
message ServerInfo {
2024-10-18 09:34:20 -04:00
string server_name = 1;
string version = 2;
string built = 3;
string platform = 4;
2024-10-20 13:04:42 -04:00
string db_size = 5;
2024-10-18 09:34:20 -04:00
}