summaryrefslogtreecommitdiffstats
path: root/components/copresence/proto/data.proto
blob: c3679bcf07a57d9e05a5bcb2bc2f4b4a96feb3ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
syntax = "proto2";
package copresence;
option optimize_for = LITE_RUNTIME;
import "config_data.proto";
import "enums.proto";
import "identity.proto";
message ClientVersion {
  optional string client = 1;
  optional string version_name = 2;
  optional int64 version_code = 3;
  optional string certificate_fingerprint = 4;
  optional string project_id = 5;
}
message Status {
  optional StatusCode code = 1;
  optional string message = 2;
}
message PushServiceRegistration {
  optional PushService service = 1;
  optional GcmRegistration gcm_registration = 2;
}
message GcmRegistration {
  optional string device_token = 1;
}
message DeviceIdentifiers {
  optional int32 ulr_device_id = 1;
  optional DeviceIdentity device_identity = 2;
  optional Identity registrant = 3;
}
message Token {
  message Debug {
    repeated string email = 2;
  }
  optional string id = 1;
  optional TokenStatus status = 3;
  optional Debug debug = 4;
}
message DeviceFingerprint {
  optional string manufacturer = 1;
  optional string model = 2;
  optional PlatformType type = 3;
  optional string platform_version = 4;
}
message TokenTechnology {
  optional TokenMedium medium = 1;
  repeated TokenInstructionType instruction_type = 2;
}
message DeviceCapabilities {
  repeated TokenTechnology token_technology = 2;
}
message TokenInstruction {
  optional TokenInstructionType token_instruction_type = 1;
  optional TokenMedium medium = 2;
  optional string token_id = 4;
}
message Directive {
  optional InstructionType instruction_type = 1;
  optional TokenInstruction token_instruction = 2;
  optional int64 delay_millis = 3;
  optional int64 ttl_millis = 4;
  optional string published_message_id = 5;
  optional string subscription_id = 6;
  optional DirectiveConfiguration configuration = 7;
}
message DeviceState {
  optional DeviceCapabilities capabilities = 1;
  repeated Directive active_directive = 2;
}
message DebugInfo {
  optional string served_by_task = 1;
  repeated string token_id = 3;
  optional int64 request_time_millis = 4;
}
message TokenObservation {
  optional string token_id = 1;
  repeated TokenSignals signals = 2;
}
message TokenSignals {
  optional TokenMedium medium = 1;
  optional int32 rssi = 2;
  optional int64 observed_time_millis = 3;
}
message AccessPolicy {
  optional int64 ttl_millis = 1;
  optional Acl acl = 2;
}
message Acl {
  optional AclType acl_type = 1;
  optional string named_acl_name = 2;
  optional bytes referenced_acl_consistency_token = 5;
}
message PublishedMessage {
  optional string id = 1;
  optional AccessPolicy access_policy = 2;
  optional Message message = 3;
  optional TokenExchangeStrategy token_exchange_strategy = 5;
  optional OptInStateFilter opt_in_state_filter = 6;
}
message TokenExchangeStrategy {
  optional AudioConfiguration audio_configuration = 1;
  optional BroadcastScanConfiguration broadcast_scan_configuration = 2;
}
message SubscribedMessage {
  message Debug {
    optional string published_message_id = 1;
    optional string publisher_identity_id = 2;
    optional string publisher_device_id = 3;
    optional int64 creation_timestamp_millis = 4;
    optional int64 ttl_millis = 5;
    optional TokenExchangeStrategy token_exchange_strategy = 7;
  }
  repeated string subscription_id = 1;
  optional Message published_message = 2;
  optional Debug debug = 3;
  repeated TokenObservation required_token = 5;
}
message Message {
  optional MessageType type = 2;
  optional bytes payload = 3;
}
message MessageType {
  optional string type = 2;
}
message Subscription {
  optional string id = 1;
  optional int64 ttl_millis = 3;
  optional MessageType message_type = 4;
  optional TokenExchangeStrategy token_exchange_strategy = 7;
  optional OptInStateFilter opt_in_state_filter = 8;
}
message MessageResult {
  optional string published_message_id = 1;
}
message SubscriptionResult {
  optional string subscription_id = 1;
}
message OptInStateFilter {
  repeated OptInState allowed_opt_in_state = 1;
}