Files
landing/proto/layer.1.yml
2026-07-31 06:06:07 -07:00

529 lines
8.9 KiB
YAML

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[]