#![allow(dead_code)]
#![allow(non_snake_case)]
#![allow(non_camel_case_types)]
#![allow(unused_imports)]
use serde::{Serialize, Deserialize};
use serde_repr::{Deserialize_repr, Serialize_repr};use super::*;
use crate::protocol::gregor1;
use crate::protocol::keybase1;
#[derive(Serialize, Deserialize, Debug)]
pub struct MessageBoxed {
pub version: Option<MessageBoxedVersion>,
pub serverHeader: Option<MessageServerHeader>,
pub clientHeader: Option<MessageClientHeader>,
pub headerCiphertext: Option<SealedData>,
pub bodyCiphertext: Option<EncryptedData>,
#[serde(default)]
pub verifyKey: Option<String>,
pub keyGeneration: Option<i32>,
}
#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum MessageBoxedVersion {
Vnone_0,
V1_1,
V2_2,
V3_3,
V4_4,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct ThreadViewBoxed {
#[serde(default)]
pub messages: Option<Vec<MessageBoxed>>,
pub pagination: Option<Pagination>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct GetInboxRemoteRes {
pub inbox: Option<InboxView>,
pub rateLimit: Option<RateLimit>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct GetInboxByTLFIDRemoteRes {
#[serde(default)]
pub convs: Option<Vec<Conversation>>,
pub rateLimit: Option<RateLimit>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct GetThreadRemoteRes {
pub thread: Option<ThreadViewBoxed>,
pub membersType: Option<ConversationMembersType>,
pub visibility: Option<keybase1::TLFVisibility>,
pub rateLimit: Option<RateLimit>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct GetConversationMetadataRemoteRes {
pub conv: Option<Conversation>,
pub rateLimit: Option<RateLimit>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct PostRemoteRes {
pub msgHeader: Option<MessageServerHeader>,
pub rateLimit: Option<RateLimit>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct NewConversationRemoteRes {
pub convID: Option<ConversationID>,
#[serde(default)]
pub createdComplexTeam: Option<bool>,
pub rateLimit: Option<RateLimit>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct GetMessagesRemoteRes {
#[serde(default)]
pub msgs: Option<Vec<MessageBoxed>>,
pub rateLimit: Option<RateLimit>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct MarkAsReadRes {
pub rateLimit: Option<RateLimit>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct SetConversationStatusRes {
pub rateLimit: Option<RateLimit>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct GetPublicConversationsRes {
#[serde(default)]
pub conversations: Option<Vec<Conversation>>,
pub rateLimit: Option<RateLimit>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct GetUnreadlineRemoteRes {
pub unreadlineID: Option<MessageID>,
pub rateLimit: Option<RateLimit>,
}
#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum ChannelMention {
None_0,
All_1,
Here_2,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct UnreadUpdateFull {
#[serde(default)]
pub ignore: Option<bool>,
pub inboxVers: Option<InboxVers>,
pub inboxSyncStatus: Option<SyncInboxResType>,
#[serde(default)]
pub updates: Option<Vec<UnreadUpdate>>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct S3Params {
#[serde(default)]
pub bucket: Option<String>,
#[serde(default)]
pub objectKey: Option<String>,
#[serde(default)]
pub accessKey: Option<String>,
#[serde(default)]
pub acl: Option<String>,
#[serde(default)]
pub regionName: Option<String>,
#[serde(default)]
pub regionEndpoint: Option<String>,
#[serde(default)]
pub regionBucketEndpoint: Option<String>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct SyncIncrementalRes {
pub vers: Option<InboxVers>,
#[serde(default)]
pub convs: Option<Vec<Conversation>>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct ServerCacheVers {
pub inboxVers: Option<i32>,
pub bodiesVers: Option<i32>,
}
#[derive(Serialize, Deserialize, Debug)]
#[serde(untagged)]
pub enum SyncInboxRes {
Current {current: ()},
Incremental {incremental: SyncIncrementalRes},
Clear {clear: ()},
}
#[derive(Serialize, Deserialize, Debug)]
pub struct SyncChatRes {
pub cacheVers: Option<ServerCacheVers>,
pub inboxRes: Option<SyncInboxRes>,
}
#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum SyncAllProtVers {
V0_0,
V1_1,
}
#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum SyncAllNotificationType {
State_0,
Incremental_1,
}
#[derive(Serialize, Deserialize, Debug)]
#[serde(untagged)]
pub enum SyncAllNotificationRes {
State {state: gregor1::State},
Incremental {incremental: gregor1::SyncResult},
}
#[derive(Serialize, Deserialize, Debug)]
pub struct SyncAllResult {
pub auth: Option<gregor1::AuthResult>,
pub chat: Option<SyncChatRes>,
pub notification: Option<SyncAllNotificationRes>,
pub badge: Option<UnreadUpdateFull>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct JoinLeaveConversationRemoteRes {
pub rateLimit: Option<RateLimit>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct DeleteConversationRemoteRes {
pub rateLimit: Option<RateLimit>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct GetMessageBeforeRes {
pub msgID: Option<MessageID>,
pub rateLimit: Option<RateLimit>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct GetTLFConversationsRes {
#[serde(default)]
pub conversations: Option<Vec<Conversation>>,
pub rateLimit: Option<RateLimit>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct SetAppNotificationSettingsRes {
pub rateLimit: Option<RateLimit>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct SetRetentionRes {
pub rateLimit: Option<RateLimit>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct SetConvMinWriterRoleRes {
pub rateLimit: Option<RateLimit>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct SweepRes {
#[serde(default)]
pub foundTask: Option<bool>,
#[serde(default)]
pub deletedMessages: Option<bool>,
pub expunge: Option<Expunge>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct ServerNowRes {
pub rateLimit: Option<RateLimit>,
pub now: Option<gregor1::Time>,
}
#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum ExternalAPIKeyTyp {
Googlemaps_0,
Giphy_1,
}
#[derive(Serialize, Deserialize, Debug)]
#[serde(untagged)]
pub enum ExternalAPIKey {
Googlemaps {googlemaps: String},
Giphy {giphy: String},
}
pub type CommandConvVers = u64;
#[derive(Serialize, Deserialize, Debug)]
pub struct RemoteBotCommandsAdvertisementPublic {
pub convID: Option<ConversationID>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct RemoteBotCommandsAdvertisementTLFID {
pub convID: Option<ConversationID>,
pub tlfID: Option<TLFID>,
}
#[derive(Serialize, Deserialize, Debug)]
#[serde(untagged)]
pub enum RemoteBotCommandsAdvertisement {
Public {public: RemoteBotCommandsAdvertisementPublic},
Tlfid_members {tlfid_members: RemoteBotCommandsAdvertisementTLFID},
Tlfid_convs {tlfid_convs: RemoteBotCommandsAdvertisementTLFID},
}
#[derive(Serialize, Deserialize, Debug)]
pub struct BotCommandConv {
pub uid: Option<gregor1::UID>,
pub convID: Option<ConversationID>,
pub vers: Option<CommandConvVers>,
pub mtime: Option<gregor1::Time>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct BotInfo {
#[serde(default)]
pub commandConvs: Option<Vec<BotCommandConv>>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct AdvertiseBotCommandsRes {
pub rateLimit: Option<RateLimit>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct ClearBotCommandsRes {
pub rateLimit: Option<RateLimit>,
}
#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum BotInfoResponseTyp {
Uptodate_0,
Info_1,
}
#[derive(Serialize, Deserialize, Debug)]
#[serde(untagged)]
pub enum BotInfoResponse {
Uptodate {uptodate: ()},
Info {info: BotInfo},
}
#[derive(Serialize, Deserialize, Debug)]
pub struct GetBotInfoRes {
pub response: Option<BotInfoResponse>,
pub rateLimit: Option<RateLimit>,
}
pub type BotInfoHash = String;