forked from Rosetta/landing
Новый лендинг
This commit is contained in:
529
proto/layer.1.yml
Normal file
529
proto/layer.1.yml
Normal file
@@ -0,0 +1,529 @@
|
||||
version: 1
|
||||
|
||||
enums:
|
||||
#Type of attachment
|
||||
AttachmentType:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: IMAGE #Image
|
||||
- id: 1
|
||||
name: MESSAGES #Reply/Forwarded messages
|
||||
- id: 2
|
||||
name: FILE #File
|
||||
- id: 3
|
||||
name: AVATAR #Avatar
|
||||
- id: 4
|
||||
name: CALL #Call
|
||||
- id: 5
|
||||
name: VOICE #Voice message
|
||||
- id: 6
|
||||
name: VIDEO_CIRCLE #Video circle
|
||||
|
||||
#Solution by device after accept or decline request to attach new device
|
||||
DeviceSolution:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: ACCEPT #Accept device to log in to account
|
||||
- id: 1
|
||||
name: DECLINE #Decline device
|
||||
|
||||
#Handshake Stage (need for set device confirm view after pass seed)
|
||||
HandshakeStage:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: COMPLETED
|
||||
- id: 1
|
||||
name: NEED_DEVICE_VERIFICATION
|
||||
|
||||
GroupStatus:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: JOINED
|
||||
- id: 1
|
||||
name: INVALID
|
||||
- id: 2
|
||||
name: NOT_JOINED
|
||||
- id: 3
|
||||
name: BANNED
|
||||
|
||||
NotificationAction:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: SUBSCRIBE
|
||||
- id: 1
|
||||
name: UNSUBSCRIBE
|
||||
|
||||
SignalType:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: CALL
|
||||
- id: 1
|
||||
name: KEY_EXCHANGE
|
||||
- id: 2
|
||||
name: ACTIVE_CALL
|
||||
- id: 3
|
||||
name: END_CALL
|
||||
- id: 4
|
||||
name: ACTIVE
|
||||
- id: 5
|
||||
name: END_CALL_BECAUSE_PEER_DISCONNECTED
|
||||
- id: 6
|
||||
name: END_CALL_BECAUSE_BUSY
|
||||
- id: 7
|
||||
name: ACCEPT
|
||||
- id: 8
|
||||
name: RINGING_TIMEOUT
|
||||
|
||||
NetworkStatus:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: ONLINE
|
||||
- id: 1
|
||||
name: OFFLINE
|
||||
|
||||
SyncStatus:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: NOT_NEEDED
|
||||
- id: 1
|
||||
name: BATCH_START
|
||||
- id: 2
|
||||
name: BATCH_END
|
||||
|
||||
WebRTCType:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: OFFER
|
||||
- id: 1
|
||||
name: ANSWER
|
||||
- id: 2
|
||||
name: ICE_CANDIDATE
|
||||
|
||||
ResultCode:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: SUCCESS
|
||||
- id: 1
|
||||
name: ERROR
|
||||
- id: 2
|
||||
name: INVALID
|
||||
- id: 3
|
||||
name: USERNAME_TAKEN
|
||||
|
||||
TokenType:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: FCM
|
||||
- id: 1
|
||||
name: VoIPApns
|
||||
|
||||
types:
|
||||
Attachment:
|
||||
fields:
|
||||
- id: 1
|
||||
name: id
|
||||
type: string
|
||||
- id: 2
|
||||
name: blob?
|
||||
type: string
|
||||
- id: 3
|
||||
name: type
|
||||
type: AttachmentType
|
||||
- id: 4
|
||||
name: preview
|
||||
type: string
|
||||
- id: 5
|
||||
name: transport
|
||||
type: AttachmentTransport
|
||||
|
||||
AttachmentTransport:
|
||||
fields:
|
||||
- id: 1
|
||||
name: transportTag
|
||||
type: string
|
||||
- id: 2
|
||||
name: transportServer
|
||||
type: string
|
||||
|
||||
NetworkDevice:
|
||||
fields:
|
||||
- id: 1
|
||||
name: networkStatus
|
||||
type: NetworkStatus
|
||||
- id: 2
|
||||
name: deviceName
|
||||
type: string
|
||||
- id: 3
|
||||
name: deviceOs
|
||||
type: string
|
||||
- id: 4
|
||||
name: deviceId
|
||||
type: string
|
||||
- id: 5
|
||||
name: deviceSolution
|
||||
type: DeviceSolution
|
||||
|
||||
PKNetworkStatus:
|
||||
fields:
|
||||
- id: 1
|
||||
name: publicKey
|
||||
type: string
|
||||
- id: 2
|
||||
name: networkStatus
|
||||
type: NetworkStatus
|
||||
|
||||
SearchInfo:
|
||||
fields:
|
||||
- id: 1
|
||||
name: username
|
||||
type: string
|
||||
- id: 2
|
||||
name: title
|
||||
type: string
|
||||
- id: 3
|
||||
name: publicKey
|
||||
type: string
|
||||
- id: 4
|
||||
name: verified
|
||||
type: int32
|
||||
- id: 5
|
||||
name: networkStatus
|
||||
type: NetworkStatus
|
||||
|
||||
RTCIceServer:
|
||||
fields:
|
||||
- id: 1
|
||||
name: url
|
||||
type: string
|
||||
- id: 2
|
||||
name: username
|
||||
type: string
|
||||
- id: 3
|
||||
name: credential
|
||||
type: string
|
||||
- id: 4
|
||||
name: transport
|
||||
type: string
|
||||
|
||||
packets:
|
||||
Handshake:
|
||||
id: 0
|
||||
fields:
|
||||
- id: 1
|
||||
name: publicKey
|
||||
type: string
|
||||
- id: 2
|
||||
name: privateKey
|
||||
type: string
|
||||
- id: 3
|
||||
name: deviceId
|
||||
type: string
|
||||
- id: 4
|
||||
name: deviceName
|
||||
type: string
|
||||
- id: 5
|
||||
name: deviceOs
|
||||
type: string
|
||||
- id: 6
|
||||
name: handshakeStage?
|
||||
type: HandshakeStage
|
||||
|
||||
UserInfo:
|
||||
id: 1
|
||||
fields:
|
||||
- id: 1
|
||||
name: privateKey
|
||||
type: string
|
||||
- id: 2
|
||||
name: username
|
||||
type: string
|
||||
- id: 3
|
||||
name: title
|
||||
type: string
|
||||
|
||||
Result:
|
||||
id: 2
|
||||
fields:
|
||||
- id: 1
|
||||
name: resultCode
|
||||
type: ResultCode
|
||||
|
||||
Search:
|
||||
id: 3
|
||||
fields:
|
||||
- id: 1
|
||||
name: privateKey
|
||||
type: string
|
||||
- id: 2
|
||||
name: search
|
||||
type: string
|
||||
- id: 3
|
||||
name: searchInfo?
|
||||
type: SearchInfo[]
|
||||
|
||||
OnlineSubscribe:
|
||||
id: 4
|
||||
fields:
|
||||
- id: 1
|
||||
name: privateKey
|
||||
type: string
|
||||
- id: 2
|
||||
name: publicKeys
|
||||
type: string[]
|
||||
|
||||
OnlineState:
|
||||
id: 5
|
||||
fields:
|
||||
- id: 1
|
||||
name: pkNetworkStatuses
|
||||
type: PKNetworkStatus[]
|
||||
|
||||
Message:
|
||||
id: 6
|
||||
fields:
|
||||
- id: 1
|
||||
name: fromPublicKey
|
||||
type: string
|
||||
- id: 2
|
||||
name: toPublicKey
|
||||
type: string
|
||||
- id: 3
|
||||
name: privateKey
|
||||
type: string
|
||||
- id: 4
|
||||
name: content
|
||||
type: string
|
||||
- id: 5
|
||||
name: chachaKey
|
||||
type: string
|
||||
- id: 6
|
||||
name: timestamp
|
||||
type: int64
|
||||
- id: 7
|
||||
name: messageId
|
||||
type: string
|
||||
- id: 8
|
||||
name: attachments?
|
||||
type: Attachment[]
|
||||
- id: 9
|
||||
name: aesChachaKey
|
||||
type: string
|
||||
|
||||
Read:
|
||||
id: 7
|
||||
fields:
|
||||
- id: 1
|
||||
name: fromPublicKey
|
||||
type: string
|
||||
- id: 2
|
||||
name: toPublicKey
|
||||
type: string
|
||||
- id: 3
|
||||
name: privateKey
|
||||
type: string
|
||||
|
||||
Delivery:
|
||||
id: 8
|
||||
fields:
|
||||
- id: 1
|
||||
name: messageId
|
||||
type: string
|
||||
- id: 2
|
||||
name: toPublicKey
|
||||
type: string
|
||||
|
||||
DeviceNew:
|
||||
id: 9
|
||||
fields:
|
||||
- id: 1
|
||||
name: ipAddress
|
||||
type: string
|
||||
- id: 2
|
||||
name: deviceId
|
||||
type: string
|
||||
- id: 3
|
||||
name: deviceName
|
||||
type: string
|
||||
- id: 4
|
||||
name: deviceOs
|
||||
type: string
|
||||
|
||||
RequestUpdate:
|
||||
id: 10
|
||||
fields:
|
||||
- id: 1
|
||||
name: server?
|
||||
type: string
|
||||
|
||||
Typeing:
|
||||
id: 11
|
||||
fields:
|
||||
- id: 1
|
||||
name: fromPublicKey
|
||||
type: string
|
||||
- id: 2
|
||||
name: toPublicKey
|
||||
type: string
|
||||
- id: 3
|
||||
name: privateKey
|
||||
type: string
|
||||
|
||||
RequestTransport:
|
||||
id: 15
|
||||
fields:
|
||||
- id: 1
|
||||
name: server?
|
||||
type: string
|
||||
|
||||
PushNotification:
|
||||
id: 16
|
||||
fields:
|
||||
- id: 1
|
||||
name: notificationToken
|
||||
type: string
|
||||
- id: 2
|
||||
name: action
|
||||
type: NotificationAction
|
||||
- id: 3
|
||||
name: tokenType
|
||||
type: TokenType
|
||||
- id: 4
|
||||
name: deviceId
|
||||
type: string
|
||||
|
||||
GroupCreate:
|
||||
id: 17
|
||||
fields:
|
||||
- id: 1
|
||||
name: groupId
|
||||
type: string
|
||||
|
||||
GroupInfo:
|
||||
id: 18
|
||||
fields:
|
||||
- id: 1
|
||||
name: groupId
|
||||
type: string
|
||||
- id: 2
|
||||
name: membersPKs?
|
||||
type: string[]
|
||||
|
||||
GroupInviteInfo:
|
||||
id: 19
|
||||
fields:
|
||||
- id: 1
|
||||
name: groupId
|
||||
type: string
|
||||
- id: 2
|
||||
name: membersCount?
|
||||
type: int32
|
||||
- id: 3
|
||||
name: status?
|
||||
type: GroupStatus
|
||||
|
||||
GroupJoin:
|
||||
id: 20
|
||||
fields:
|
||||
- id: 1
|
||||
name: groupId
|
||||
type: string
|
||||
- id: 2
|
||||
name: status?
|
||||
type: GroupStatus
|
||||
- id: 3
|
||||
name: groupString
|
||||
type: string
|
||||
|
||||
GroupLeave:
|
||||
id: 21
|
||||
fields:
|
||||
- id: 1
|
||||
name: groupId
|
||||
type: string
|
||||
|
||||
GroupBan:
|
||||
id: 22
|
||||
fields:
|
||||
- id: 1
|
||||
name: groupId
|
||||
type: string
|
||||
- id: 2
|
||||
name: publicKey
|
||||
type: string
|
||||
|
||||
DeviceList:
|
||||
id: 23
|
||||
fields:
|
||||
- id: 1
|
||||
name: devices
|
||||
type: NetworkDevice[]
|
||||
|
||||
DeviceResolve:
|
||||
id: 24
|
||||
fields:
|
||||
- id: 1
|
||||
name: deviceId
|
||||
type: string
|
||||
- id: 2
|
||||
name: solution
|
||||
type: DeviceSolution
|
||||
|
||||
Sync:
|
||||
id: 25
|
||||
fields:
|
||||
- id: 1
|
||||
name: syncStatus
|
||||
type: SyncStatus
|
||||
- id: 2
|
||||
name: timestamp
|
||||
type: int64
|
||||
|
||||
SignalPeer:
|
||||
id: 26
|
||||
fields:
|
||||
- id: 1
|
||||
name: src
|
||||
type: string
|
||||
- id: 2
|
||||
name: dst
|
||||
type: string
|
||||
- id: 3
|
||||
name: sharedPublic
|
||||
type: string
|
||||
- id: 4
|
||||
name: signalType
|
||||
type: SignalType
|
||||
- id: 5
|
||||
name: callId
|
||||
type: string
|
||||
- id: 6
|
||||
name: joinToken
|
||||
type: string
|
||||
|
||||
WebRTC:
|
||||
id: 27
|
||||
fields:
|
||||
- id: 1
|
||||
name: sdpOrCandidate
|
||||
type: string
|
||||
- id: 2
|
||||
name: type
|
||||
type: WebRTCType
|
||||
|
||||
IceServers:
|
||||
id: 28
|
||||
fields:
|
||||
- id: 1
|
||||
name: iceServers?
|
||||
type: RTCIceServer[]
|
||||
527
proto/layer.2.yml
Normal file
527
proto/layer.2.yml
Normal file
@@ -0,0 +1,527 @@
|
||||
version: 2
|
||||
description: Remove avatars as attachments, add video
|
||||
|
||||
enums:
|
||||
AttachmentType:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: IMAGE
|
||||
- id: 1
|
||||
name: MESSAGES
|
||||
- id: 2
|
||||
name: FILE
|
||||
- id: 4
|
||||
name: CALL
|
||||
- id: 5
|
||||
name: VOICE
|
||||
- id: 6
|
||||
name: VIDEO_CIRCLE
|
||||
- id: 7
|
||||
name: VIDEO
|
||||
|
||||
DeviceSolution:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: ACCEPT
|
||||
- id: 1
|
||||
name: DECLINE
|
||||
|
||||
HandshakeStage:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: COMPLETED
|
||||
- id: 1
|
||||
name: NEED_DEVICE_VERIFICATION
|
||||
|
||||
GroupStatus:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: JOINED
|
||||
- id: 1
|
||||
name: INVALID
|
||||
- id: 2
|
||||
name: NOT_JOINED
|
||||
- id: 3
|
||||
name: BANNED
|
||||
|
||||
NotificationAction:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: SUBSCRIBE
|
||||
- id: 1
|
||||
name: UNSUBSCRIBE
|
||||
|
||||
SignalType:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: CALL
|
||||
- id: 1
|
||||
name: KEY_EXCHANGE
|
||||
- id: 2
|
||||
name: ACTIVE_CALL
|
||||
- id: 3
|
||||
name: END_CALL
|
||||
- id: 4
|
||||
name: ACTIVE
|
||||
- id: 5
|
||||
name: END_CALL_BECAUSE_PEER_DISCONNECTED
|
||||
- id: 6
|
||||
name: END_CALL_BECAUSE_BUSY
|
||||
- id: 7
|
||||
name: ACCEPT
|
||||
- id: 8
|
||||
name: RINGING_TIMEOUT
|
||||
|
||||
NetworkStatus:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: ONLINE
|
||||
- id: 1
|
||||
name: OFFLINE
|
||||
|
||||
SyncStatus:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: NOT_NEEDED
|
||||
- id: 1
|
||||
name: BATCH_START
|
||||
- id: 2
|
||||
name: BATCH_END
|
||||
|
||||
WebRTCType:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: OFFER
|
||||
- id: 1
|
||||
name: ANSWER
|
||||
- id: 2
|
||||
name: ICE_CANDIDATE
|
||||
|
||||
ResultCode:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: SUCCESS
|
||||
- id: 1
|
||||
name: ERROR
|
||||
- id: 2
|
||||
name: INVALID
|
||||
- id: 3
|
||||
name: USERNAME_TAKEN
|
||||
|
||||
TokenType:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: FCM
|
||||
- id: 1
|
||||
name: VoIPApns
|
||||
|
||||
types:
|
||||
Attachment:
|
||||
fields:
|
||||
- id: 1
|
||||
name: id
|
||||
type: string
|
||||
- id: 2
|
||||
name: blob?
|
||||
type: string
|
||||
- id: 3
|
||||
name: type
|
||||
type: AttachmentType
|
||||
- id: 4
|
||||
name: preview
|
||||
type: string
|
||||
- id: 5
|
||||
name: transport
|
||||
type: AttachmentTransport
|
||||
|
||||
AttachmentTransport:
|
||||
fields:
|
||||
- id: 1
|
||||
name: transportTag
|
||||
type: string
|
||||
- id: 2
|
||||
name: transportServer
|
||||
type: string
|
||||
|
||||
NetworkDevice:
|
||||
fields:
|
||||
- id: 1
|
||||
name: networkStatus
|
||||
type: NetworkStatus
|
||||
- id: 2
|
||||
name: deviceName
|
||||
type: string
|
||||
- id: 3
|
||||
name: deviceOs
|
||||
type: string
|
||||
- id: 4
|
||||
name: deviceId
|
||||
type: string
|
||||
- id: 5
|
||||
name: deviceSolution
|
||||
type: DeviceSolution
|
||||
|
||||
PKNetworkStatus:
|
||||
fields:
|
||||
- id: 1
|
||||
name: publicKey
|
||||
type: string
|
||||
- id: 2
|
||||
name: networkStatus
|
||||
type: NetworkStatus
|
||||
|
||||
SearchInfo:
|
||||
fields:
|
||||
- id: 1
|
||||
name: username
|
||||
type: string
|
||||
- id: 2
|
||||
name: title
|
||||
type: string
|
||||
- id: 3
|
||||
name: publicKey
|
||||
type: string
|
||||
- id: 4
|
||||
name: verified
|
||||
type: int32
|
||||
- id: 5
|
||||
name: networkStatus
|
||||
type: NetworkStatus
|
||||
|
||||
RTCIceServer:
|
||||
fields:
|
||||
- id: 1
|
||||
name: url
|
||||
type: string
|
||||
- id: 2
|
||||
name: username
|
||||
type: string
|
||||
- id: 3
|
||||
name: credential
|
||||
type: string
|
||||
- id: 4
|
||||
name: transport
|
||||
type: string
|
||||
|
||||
packets:
|
||||
Handshake:
|
||||
id: 0
|
||||
fields:
|
||||
- id: 1
|
||||
name: publicKey
|
||||
type: string
|
||||
- id: 2
|
||||
name: privateKey
|
||||
type: string
|
||||
- id: 3
|
||||
name: deviceId
|
||||
type: string
|
||||
- id: 4
|
||||
name: deviceName
|
||||
type: string
|
||||
- id: 5
|
||||
name: deviceOs
|
||||
type: string
|
||||
- id: 6
|
||||
name: handshakeStage?
|
||||
type: HandshakeStage
|
||||
|
||||
UserInfo:
|
||||
id: 1
|
||||
fields:
|
||||
- id: 1
|
||||
name: privateKey
|
||||
type: string
|
||||
- id: 2
|
||||
name: username
|
||||
type: string
|
||||
- id: 3
|
||||
name: title
|
||||
type: string
|
||||
|
||||
Result:
|
||||
id: 2
|
||||
fields:
|
||||
- id: 1
|
||||
name: resultCode
|
||||
type: ResultCode
|
||||
|
||||
Search:
|
||||
id: 3
|
||||
fields:
|
||||
- id: 1
|
||||
name: privateKey
|
||||
type: string
|
||||
- id: 2
|
||||
name: search
|
||||
type: string
|
||||
- id: 3
|
||||
name: searchInfo?
|
||||
type: SearchInfo[]
|
||||
|
||||
OnlineSubscribe:
|
||||
id: 4
|
||||
fields:
|
||||
- id: 1
|
||||
name: privateKey
|
||||
type: string
|
||||
- id: 2
|
||||
name: publicKeys
|
||||
type: string[]
|
||||
|
||||
OnlineState:
|
||||
id: 5
|
||||
fields:
|
||||
- id: 1
|
||||
name: pkNetworkStatuses
|
||||
type: PKNetworkStatus[]
|
||||
|
||||
Message:
|
||||
id: 6
|
||||
fields:
|
||||
- id: 1
|
||||
name: fromPublicKey
|
||||
type: string
|
||||
- id: 2
|
||||
name: toPublicKey
|
||||
type: string
|
||||
- id: 3
|
||||
name: privateKey
|
||||
type: string
|
||||
- id: 4
|
||||
name: content
|
||||
type: string
|
||||
- id: 5
|
||||
name: chachaKey
|
||||
type: string
|
||||
- id: 6
|
||||
name: timestamp
|
||||
type: int64
|
||||
- id: 7
|
||||
name: messageId
|
||||
type: string
|
||||
- id: 8
|
||||
name: attachments?
|
||||
type: Attachment[]
|
||||
- id: 9
|
||||
name: aesChachaKey
|
||||
type: string
|
||||
|
||||
Read:
|
||||
id: 7
|
||||
fields:
|
||||
- id: 1
|
||||
name: fromPublicKey
|
||||
type: string
|
||||
- id: 2
|
||||
name: toPublicKey
|
||||
type: string
|
||||
- id: 4
|
||||
name: timestamp
|
||||
type: int64
|
||||
|
||||
Delivery:
|
||||
id: 8
|
||||
fields:
|
||||
- id: 1
|
||||
name: messageId
|
||||
type: string
|
||||
- id: 2
|
||||
name: toPublicKey
|
||||
type: string
|
||||
|
||||
DeviceNew:
|
||||
id: 9
|
||||
fields:
|
||||
- id: 1
|
||||
name: ipAddress
|
||||
type: string
|
||||
- id: 2
|
||||
name: deviceId
|
||||
type: string
|
||||
- id: 3
|
||||
name: deviceName
|
||||
type: string
|
||||
- id: 4
|
||||
name: deviceOs
|
||||
type: string
|
||||
|
||||
RequestUpdate:
|
||||
id: 10
|
||||
fields:
|
||||
- id: 1
|
||||
name: server?
|
||||
type: string
|
||||
|
||||
Typeing:
|
||||
id: 11
|
||||
fields:
|
||||
- id: 1
|
||||
name: fromPublicKey
|
||||
type: string
|
||||
- id: 2
|
||||
name: toPublicKey
|
||||
type: string
|
||||
- id: 3
|
||||
name: privateKey
|
||||
type: string
|
||||
|
||||
RequestTransport:
|
||||
id: 15
|
||||
fields:
|
||||
- id: 1
|
||||
name: server?
|
||||
type: string
|
||||
|
||||
PushNotification:
|
||||
id: 16
|
||||
fields:
|
||||
- id: 1
|
||||
name: notificationToken
|
||||
type: string
|
||||
- id: 2
|
||||
name: action
|
||||
type: NotificationAction
|
||||
- id: 3
|
||||
name: tokenType
|
||||
type: TokenType
|
||||
- id: 4
|
||||
name: deviceId
|
||||
type: string
|
||||
|
||||
GroupCreate:
|
||||
id: 17
|
||||
fields:
|
||||
- id: 1
|
||||
name: groupId?
|
||||
type: string
|
||||
|
||||
GroupInfo:
|
||||
id: 18
|
||||
fields:
|
||||
- id: 1
|
||||
name: groupId
|
||||
type: string
|
||||
- id: 2
|
||||
name: membersPKs?
|
||||
type: string[]
|
||||
|
||||
GroupInviteInfo:
|
||||
id: 19
|
||||
fields:
|
||||
- id: 1
|
||||
name: groupId
|
||||
type: string
|
||||
- id: 2
|
||||
name: membersCount?
|
||||
type: int32
|
||||
- id: 3
|
||||
name: status?
|
||||
type: GroupStatus
|
||||
|
||||
GroupJoin:
|
||||
id: 20
|
||||
fields:
|
||||
- id: 1
|
||||
name: groupId
|
||||
type: string
|
||||
- id: 2
|
||||
name: status?
|
||||
type: GroupStatus
|
||||
- id: 3
|
||||
name: groupString
|
||||
type: string
|
||||
|
||||
GroupLeave:
|
||||
id: 21
|
||||
fields:
|
||||
- id: 1
|
||||
name: groupId
|
||||
type: string
|
||||
|
||||
GroupBan:
|
||||
id: 22
|
||||
fields:
|
||||
- id: 1
|
||||
name: groupId
|
||||
type: string
|
||||
- id: 2
|
||||
name: publicKey
|
||||
type: string
|
||||
|
||||
DeviceList:
|
||||
id: 23
|
||||
fields:
|
||||
- id: 1
|
||||
name: devices
|
||||
type: NetworkDevice[]
|
||||
|
||||
DeviceResolve:
|
||||
id: 24
|
||||
fields:
|
||||
- id: 1
|
||||
name: deviceId
|
||||
type: string
|
||||
- id: 2
|
||||
name: solution
|
||||
type: DeviceSolution
|
||||
|
||||
Sync:
|
||||
id: 25
|
||||
fields:
|
||||
- id: 1
|
||||
name: syncStatus
|
||||
type: SyncStatus
|
||||
- id: 2
|
||||
name: timestamp
|
||||
type: int64
|
||||
|
||||
SignalPeer:
|
||||
id: 26
|
||||
fields:
|
||||
- id: 1
|
||||
name: src
|
||||
type: string
|
||||
- id: 2
|
||||
name: dst
|
||||
type: string
|
||||
- id: 3
|
||||
name: sharedPublic?
|
||||
type: string
|
||||
- id: 4
|
||||
name: signalType
|
||||
type: SignalType
|
||||
- id: 5
|
||||
name: callId?
|
||||
type: string
|
||||
- id: 6
|
||||
name: joinToken?
|
||||
type: string
|
||||
|
||||
WebRTC:
|
||||
id: 27
|
||||
fields:
|
||||
- id: 1
|
||||
name: sdpOrCandidate
|
||||
type: string
|
||||
- id: 2
|
||||
name: type
|
||||
type: WebRTCType
|
||||
|
||||
IceServers:
|
||||
id: 28
|
||||
fields:
|
||||
- id: 1
|
||||
name: iceServers?
|
||||
type: RTCIceServer[]
|
||||
651
proto/layer.3.yml
Normal file
651
proto/layer.3.yml
Normal file
@@ -0,0 +1,651 @@
|
||||
version: 3
|
||||
description: Add avatars and more CDN safety, remove transport server
|
||||
|
||||
enums:
|
||||
AttachmentType:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: IMAGE
|
||||
- id: 1
|
||||
name: MESSAGES
|
||||
- id: 2
|
||||
name: FILE
|
||||
- id: 4
|
||||
name: CALL
|
||||
- id: 5
|
||||
name: VOICE
|
||||
- id: 6
|
||||
name: VIDEO_CIRCLE
|
||||
- id: 7
|
||||
name: VIDEO
|
||||
|
||||
DeviceSolution:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: ACCEPT
|
||||
- id: 1
|
||||
name: DECLINE
|
||||
|
||||
HandshakeStage:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: COMPLETED
|
||||
- id: 1
|
||||
name: NEED_DEVICE_VERIFICATION
|
||||
|
||||
GroupStatus:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: JOINED
|
||||
- id: 1
|
||||
name: INVALID
|
||||
- id: 2
|
||||
name: NOT_JOINED
|
||||
- id: 3
|
||||
name: BANNED
|
||||
|
||||
NotificationAction:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: SUBSCRIBE
|
||||
- id: 1
|
||||
name: UNSUBSCRIBE
|
||||
|
||||
SignalType:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: CALL
|
||||
- id: 1
|
||||
name: KEY_EXCHANGE
|
||||
- id: 2
|
||||
name: ACTIVE_CALL
|
||||
- id: 3
|
||||
name: END_CALL
|
||||
- id: 4
|
||||
name: ACTIVE
|
||||
- id: 5
|
||||
name: END_CALL_BECAUSE_PEER_DISCONNECTED
|
||||
- id: 6
|
||||
name: END_CALL_BECAUSE_BUSY
|
||||
- id: 7
|
||||
name: ACCEPT
|
||||
- id: 8
|
||||
name: RINGING_TIMEOUT
|
||||
|
||||
NetworkStatus:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: ONLINE
|
||||
- id: 1
|
||||
name: OFFLINE
|
||||
|
||||
SyncStatus:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: NOT_NEEDED
|
||||
- id: 1
|
||||
name: BATCH_START
|
||||
- id: 2
|
||||
name: BATCH_END
|
||||
|
||||
WebRTCType:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: OFFER
|
||||
- id: 1
|
||||
name: ANSWER
|
||||
- id: 2
|
||||
name: ICE_CANDIDATE
|
||||
|
||||
ResultCode:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: SUCCESS
|
||||
- id: 1
|
||||
name: ERROR
|
||||
- id: 2
|
||||
name: INVALID #любая ошибка смысл которой зависит от контекста, например в случае с файловой системой - нет файла
|
||||
- id: 3
|
||||
name: USERNAME_TAKEN
|
||||
- id: 4
|
||||
name: OVERSIZE #слишком большой размер файла
|
||||
- id: 5
|
||||
name: OVERLIFE #слишком большой TTL
|
||||
|
||||
TokenType:
|
||||
type: int8
|
||||
values:
|
||||
- id: 0
|
||||
name: FCM
|
||||
- id: 1
|
||||
name: VoIPApns
|
||||
|
||||
#Тип медиа файла профиля (пока только фото)
|
||||
ProfileMediaType:
|
||||
type: uint8
|
||||
values:
|
||||
- id: 0
|
||||
name: PROFILE_PHOTO
|
||||
|
||||
types:
|
||||
Attachment:
|
||||
fields:
|
||||
- id: 1
|
||||
name: id
|
||||
type: string
|
||||
- id: 2
|
||||
name: blob?
|
||||
type: string
|
||||
- id: 3
|
||||
name: type
|
||||
type: AttachmentType
|
||||
- id: 4
|
||||
name: preview
|
||||
type: string
|
||||
- id: 6
|
||||
name: objectId
|
||||
type: string
|
||||
|
||||
#Медиа-файлы профиля такие как аватарки (фото) и будущие истории
|
||||
ProfileMedia:
|
||||
fields:
|
||||
- id: 1
|
||||
name: preview #превью (для фото blurhash)
|
||||
type: string
|
||||
- id: 2
|
||||
name: objectId #обьект на cdn
|
||||
type: string
|
||||
- id: 3
|
||||
name: type #тип медиа
|
||||
type: ProfileMediaType
|
||||
- id: 4
|
||||
name: timestamp #дата публикации
|
||||
type: int64
|
||||
- id: 5
|
||||
name: mediaKey #ключ шифрования от медиа
|
||||
type: string
|
||||
|
||||
NetworkDevice:
|
||||
fields:
|
||||
- id: 1
|
||||
name: networkStatus
|
||||
type: NetworkStatus
|
||||
- id: 2
|
||||
name: deviceName
|
||||
type: string
|
||||
- id: 3
|
||||
name: deviceOs
|
||||
type: string
|
||||
- id: 4
|
||||
name: deviceId
|
||||
type: string
|
||||
- id: 5
|
||||
name: deviceSolution
|
||||
type: DeviceSolution
|
||||
|
||||
PKNetworkStatus:
|
||||
fields:
|
||||
- id: 1
|
||||
name: publicKey
|
||||
type: string
|
||||
- id: 2
|
||||
name: networkStatus
|
||||
type: NetworkStatus
|
||||
|
||||
#Информация при поиске пользователя (приходит в ответ на пакет PacketSearch)
|
||||
SearchInfo:
|
||||
fields:
|
||||
- id: 1
|
||||
name: username #имя для поиска
|
||||
type: string
|
||||
- id: 2
|
||||
name: title #отображаемое имя пользователя
|
||||
type: string
|
||||
- id: 3
|
||||
name: publicKey #публичный ключ
|
||||
type: string
|
||||
- id: 4
|
||||
name: verified #верификация
|
||||
type: int32
|
||||
- id: 5
|
||||
name: networkStatus #онлайн пользователь или нет
|
||||
type: NetworkStatus
|
||||
- id: 6
|
||||
name: avatar? #аватар пользователя если есть
|
||||
type: ProfileMedia
|
||||
|
||||
#Информация которая используется только при входе в профиль пользователя
|
||||
ProfileInfo:
|
||||
fields:
|
||||
- id: 1
|
||||
name: username #имя для поиска
|
||||
type: string
|
||||
- id: 2
|
||||
name: title #отображаемое имя пользователя
|
||||
type: string
|
||||
- id: 3
|
||||
name: publicKey #публичный ключ
|
||||
type: string
|
||||
- id: 4
|
||||
name: verified #верификация
|
||||
type: int32
|
||||
- id: 5
|
||||
name: networkStatus #онлайн пользователь или нет
|
||||
type: NetworkStatus
|
||||
- id: 6
|
||||
name: media? #все активное медиа (включая будущие истории)
|
||||
type: ProfileMedia[]
|
||||
|
||||
RTCIceServer:
|
||||
fields:
|
||||
- id: 1
|
||||
name: url
|
||||
type: string
|
||||
- id: 2
|
||||
name: username
|
||||
type: string
|
||||
- id: 3
|
||||
name: credential
|
||||
type: string
|
||||
- id: 4
|
||||
name: transport
|
||||
type: string
|
||||
|
||||
packets:
|
||||
Handshake:
|
||||
id: 0
|
||||
fields:
|
||||
- id: 1
|
||||
name: publicKey
|
||||
type: string
|
||||
- id: 2
|
||||
name: privateKey
|
||||
type: string
|
||||
- id: 3
|
||||
name: deviceId
|
||||
type: string
|
||||
- id: 4
|
||||
name: deviceName
|
||||
type: string
|
||||
- id: 5
|
||||
name: deviceOs
|
||||
type: string
|
||||
- id: 6
|
||||
name: handshakeStage?
|
||||
type: HandshakeStage
|
||||
|
||||
UserInfo:
|
||||
id: 1
|
||||
fields:
|
||||
- id: 1
|
||||
name: privateKey
|
||||
type: string
|
||||
- id: 2
|
||||
name: username
|
||||
type: string
|
||||
- id: 3
|
||||
name: title
|
||||
type: string
|
||||
|
||||
Result:
|
||||
id: 2
|
||||
fields:
|
||||
- id: 1
|
||||
name: resultCode
|
||||
type: ResultCode
|
||||
|
||||
Search:
|
||||
id: 3
|
||||
fields:
|
||||
- id: 1
|
||||
name: privateKey
|
||||
type: string
|
||||
- id: 2
|
||||
name: search
|
||||
type: string
|
||||
- id: 3
|
||||
name: searchInfo?
|
||||
type: SearchInfo[]
|
||||
|
||||
OnlineSubscribe:
|
||||
id: 4
|
||||
fields:
|
||||
- id: 1
|
||||
name: privateKey
|
||||
type: string
|
||||
- id: 2
|
||||
name: publicKeys
|
||||
type: string[]
|
||||
|
||||
OnlineState:
|
||||
id: 5
|
||||
fields:
|
||||
- id: 1
|
||||
name: pkNetworkStatuses
|
||||
type: PKNetworkStatus[]
|
||||
|
||||
Message:
|
||||
id: 6
|
||||
fields:
|
||||
- id: 1
|
||||
name: fromPublicKey
|
||||
type: string
|
||||
- id: 2
|
||||
name: toPublicKey
|
||||
type: string
|
||||
- id: 3
|
||||
name: privateKey
|
||||
type: string
|
||||
- id: 4
|
||||
name: content
|
||||
type: string
|
||||
- id: 5
|
||||
name: chachaKey
|
||||
type: string
|
||||
- id: 6
|
||||
name: timestamp
|
||||
type: int64
|
||||
- id: 7
|
||||
name: messageId
|
||||
type: string
|
||||
- id: 8
|
||||
name: attachments?
|
||||
type: Attachment[]
|
||||
- id: 9
|
||||
name: aesChachaKey
|
||||
type: string
|
||||
|
||||
Read:
|
||||
id: 7
|
||||
fields:
|
||||
- id: 1
|
||||
name: fromPublicKey
|
||||
type: string
|
||||
- id: 2
|
||||
name: toPublicKey
|
||||
type: string
|
||||
- id: 4
|
||||
name: timestamp
|
||||
type: int64
|
||||
|
||||
Delivery:
|
||||
id: 8
|
||||
fields:
|
||||
- id: 1
|
||||
name: messageId
|
||||
type: string
|
||||
- id: 2
|
||||
name: toPublicKey
|
||||
type: string
|
||||
|
||||
DeviceNew:
|
||||
id: 9
|
||||
fields:
|
||||
- id: 1
|
||||
name: ipAddress
|
||||
type: string
|
||||
- id: 2
|
||||
name: deviceId
|
||||
type: string
|
||||
- id: 3
|
||||
name: deviceName
|
||||
type: string
|
||||
- id: 4
|
||||
name: deviceOs
|
||||
type: string
|
||||
|
||||
RequestUpdate:
|
||||
id: 10
|
||||
fields:
|
||||
- id: 1
|
||||
name: server?
|
||||
type: string
|
||||
|
||||
Typeing:
|
||||
id: 11
|
||||
fields:
|
||||
- id: 1
|
||||
name: fromPublicKey
|
||||
type: string
|
||||
- id: 2
|
||||
name: toPublicKey
|
||||
type: string
|
||||
- id: 3
|
||||
name: privateKey
|
||||
type: string
|
||||
|
||||
#Запрос транспортного сервера
|
||||
RequestTransport:
|
||||
id: 15
|
||||
fields:
|
||||
- id: 1 #сервер > клиент
|
||||
name: server? #выбранный транспортный сервер
|
||||
type: string
|
||||
|
||||
PushNotification:
|
||||
id: 16
|
||||
fields:
|
||||
- id: 1
|
||||
name: notificationToken
|
||||
type: string
|
||||
- id: 2
|
||||
name: action
|
||||
type: NotificationAction
|
||||
- id: 3
|
||||
name: tokenType
|
||||
type: TokenType
|
||||
- id: 4
|
||||
name: deviceId
|
||||
type: string
|
||||
|
||||
GroupCreate:
|
||||
id: 17
|
||||
fields:
|
||||
- id: 1
|
||||
name: groupId?
|
||||
type: string
|
||||
|
||||
GroupInfo:
|
||||
id: 18
|
||||
fields:
|
||||
- id: 1
|
||||
name: groupId
|
||||
type: string
|
||||
- id: 2
|
||||
name: membersPKs?
|
||||
type: string[]
|
||||
|
||||
GroupInviteInfo:
|
||||
id: 19
|
||||
fields:
|
||||
- id: 1
|
||||
name: groupId
|
||||
type: string
|
||||
- id: 2
|
||||
name: membersCount?
|
||||
type: int32
|
||||
- id: 3
|
||||
name: status?
|
||||
type: GroupStatus
|
||||
|
||||
GroupJoin:
|
||||
id: 20
|
||||
fields:
|
||||
- id: 1
|
||||
name: groupId
|
||||
type: string
|
||||
- id: 2
|
||||
name: status?
|
||||
type: GroupStatus
|
||||
- id: 3
|
||||
name: groupString
|
||||
type: string
|
||||
|
||||
GroupLeave:
|
||||
id: 21
|
||||
fields:
|
||||
- id: 1
|
||||
name: groupId
|
||||
type: string
|
||||
|
||||
GroupBan:
|
||||
id: 22
|
||||
fields:
|
||||
- id: 1
|
||||
name: groupId
|
||||
type: string
|
||||
- id: 2
|
||||
name: publicKey
|
||||
type: string
|
||||
|
||||
DeviceList:
|
||||
id: 23
|
||||
fields:
|
||||
- id: 1
|
||||
name: devices
|
||||
type: NetworkDevice[]
|
||||
|
||||
DeviceResolve:
|
||||
id: 24
|
||||
fields:
|
||||
- id: 1
|
||||
name: deviceId
|
||||
type: string
|
||||
- id: 2
|
||||
name: solution
|
||||
type: DeviceSolution
|
||||
|
||||
Sync:
|
||||
id: 25
|
||||
fields:
|
||||
- id: 1
|
||||
name: syncStatus
|
||||
type: SyncStatus
|
||||
- id: 2
|
||||
name: timestamp
|
||||
type: int64
|
||||
|
||||
SignalPeer:
|
||||
id: 26
|
||||
fields:
|
||||
- id: 1
|
||||
name: src
|
||||
type: string
|
||||
- id: 2
|
||||
name: dst
|
||||
type: string
|
||||
- id: 3
|
||||
name: sharedPublic?
|
||||
type: string
|
||||
- id: 4
|
||||
name: signalType
|
||||
type: SignalType
|
||||
- id: 5
|
||||
name: callId?
|
||||
type: string
|
||||
- id: 6
|
||||
name: joinToken?
|
||||
type: string
|
||||
|
||||
WebRTC:
|
||||
id: 27
|
||||
fields:
|
||||
- id: 1
|
||||
name: sdpOrCandidate
|
||||
type: string
|
||||
- id: 2
|
||||
name: type
|
||||
type: WebRTCType
|
||||
|
||||
IceServers:
|
||||
id: 28
|
||||
fields:
|
||||
- id: 1
|
||||
name: iceServers?
|
||||
type: RTCIceServer[]
|
||||
|
||||
#Запрос "посадочного места" у сервера при загрузке файла
|
||||
UploadCandidate:
|
||||
id: 29
|
||||
fields:
|
||||
- id: 1 #клиент > сервер
|
||||
name: size #размер загружаемого файла (декларируемый)
|
||||
type: uint32
|
||||
- id: 2 #сервер > клиент
|
||||
name: objectId? #выделенный сервером objectId
|
||||
type: string
|
||||
- id: 3 #сервер > клиент
|
||||
name: chunkLength? #размер чанка
|
||||
type: uint32
|
||||
- id: 4 #сервер > клиент
|
||||
name: chunks? #количество чанков
|
||||
type: uint32
|
||||
- id: 5 #сервер > клиент
|
||||
name: host? #хост, где сохранен файл
|
||||
type: string
|
||||
- id: 6 #клиент > сервер
|
||||
name: ttl? #ttl в секундах, после которого файл будет удален с CDN и с таблицы, по умолчанию 7 дней, не допускается использование слишком больших значений
|
||||
type: uint32
|
||||
|
||||
#Запрос скачивания файла с сервера, нужно передать objectId, а дальнейшую информацию вернет сервер
|
||||
DownloadCandidate:
|
||||
id: 30
|
||||
fields:
|
||||
- id: 1 #сервер > клиент
|
||||
name: size? #размер файла
|
||||
type: uint32
|
||||
- id: 2 #клиент > сервер
|
||||
name: objectId #выделенный сервером objectId
|
||||
type: string
|
||||
- id: 3 #сервер > клиент
|
||||
name: chunkLength? #размер чанка
|
||||
type: uint32
|
||||
- id: 4 #сервер > клиент
|
||||
name: chunks? #количество чанков
|
||||
type: uint32
|
||||
- id: 5 #сервер > клиент
|
||||
name: host? #сервер с которого скачивать файл
|
||||
type: string
|
||||
|
||||
#Установить аватар профиля
|
||||
SetAvatar:
|
||||
id: 31
|
||||
fields:
|
||||
- id: 1 #клиент > сервер
|
||||
name: objectId #выделенный сервером objectId при отправке пакета UploadCandidate
|
||||
type: string
|
||||
- id: 2 #клиент > сервер
|
||||
name: blurhash #превью аватара, строка blurhash
|
||||
type: string
|
||||
- id: 3 #клиент > сервер
|
||||
name: mediaKey #ключ шифрования
|
||||
type: string
|
||||
|
||||
#Удаляет аватар или фотографию из профиля
|
||||
RemoveAvatar:
|
||||
id: 32
|
||||
fields:
|
||||
- id: 1 #клиент > сервер
|
||||
name: objectId #objectId аватара, аватар или фотография профиля должна при этом стоять у профиля отправителя пакета
|
||||
type: string
|
||||
|
||||
#Запрос профиля
|
||||
Profile:
|
||||
id: 33
|
||||
fields:
|
||||
- id: 1 #клиент > сервер
|
||||
name: publicKey
|
||||
type: string
|
||||
- id: 2 #сервер > клиент
|
||||
name: info?
|
||||
type: ProfileInfo
|
||||
Reference in New Issue
Block a user