-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcontent.proto
More file actions
148 lines (119 loc) · 2.3 KB
/
content.proto
File metadata and controls
148 lines (119 loc) · 2.3 KB
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
140
141
142
143
144
145
146
147
148
syntax = "proto3";
message root {
int32 server_message_id = 1;
Sender sender = 2;
Conversation conversation = 3;
Contents contents = 4;
ImpressionMeta impression = 6;
int64 client_resolution_id = 7;
ServerMetadata server_meta = 9;
}
message Sender {
bytes id = 1;
}
message Conversation {
ConversationMeta meta = 1;
}
message ConversationMeta {
ConversationID id = 1;
int64 version = 2;
}
message ConversationID {
bytes id = 1;
}
message ImpressionMeta {
int64 created_at = 1;
int64 read_at = 2;
UserID read_by = 4;
UserID saved_by = 6;
int64 version_id = 11;
}
message UserID {
bytes id = 1;
}
message ServerMetadata {
ServerMessage msg = 1;
}
message ServerMessage {
bytes id = 1;
}
message Contents {
enum ContentType {
UNKNOWN = 0;
MESSAGE = 1;
VIDEO = 2;
SNAP_CONTACT = 3;
}
ContentType type = 2;
Payload payload = 4;
ContentMeta meta = 5;
}
message Payload {
MessagePayload message = 2;
SnapContactPayload snap_contact = 5;
SnapPayload snap = 11;
}
message MessagePayload {
string text = 1;
}
message SnapContactPayload {
SCP_L2 s = 7;
}
message SCP_L2 {
SCP_L3 s = 1;
}
message SCP_L3 {
bytes contact_id = 1;
}
message ContentMeta {
ContentMetaPayload payload = 1;
}
message ContentMetaPayload {
ContentObject obj = 3;
int32 x = 8;
}
message ContentObject {
ContentObjectMeta meta = 2;
}
message ContentObjectMeta {
string id = 2;
TimestampS ts = 4;
int32 x = 9;
int32 y = 10;
int32 z = 12;
}
message TimestampS {
uint64 value = 1;
}
message SnapPayload {
Snap snap = 5;
}
message Snap {
SnapPacket packet = 1;
}
message SnapPacket {
PhotoPacket photo = 1;
TextPacket text = 2;
}
message PhotoPacket {
int32 x = 2;
KeyIV64 key_iv_base64 = 4;
PhotoResolution resolution = 5;
int32 y = 12;
KeyIVRaw key_iv_raw = 19;
}
message TextPacket {
string content = 1;
}
message KeyIV64 {
string key = 1;
string iv = 2;
}
message PhotoResolution {
int32 width = 1;
int32 height = 2;
}
message KeyIVRaw {
bytes key = 1;
bytes iv = 2;
}