#![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;
use super::common::*;
use super::chat_ui::*;
use super::unfurl::*;
use super::commands::*;
#[derive(Serialize, Deserialize, Debug)]
pub struct RateLimitRes {
#[serde(default)]
pub tank: Option<String>,
pub capacity: Option<i32>,
pub reset: Option<i32>,
pub gas: Option<i32>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct ChatChannel {
#[serde(rename = "name")]
#[serde(default)]
pub name: Option<String>,
#[serde(rename = "public")]
#[serde(default)]
pub public: Option<bool>,
#[serde(rename = "members_type")]
#[serde(default)]
pub membersType: Option<String>,
#[serde(rename = "topic_type")]
#[serde(default)]
pub topicType: Option<String>,
#[serde(rename = "topic_name")]
#[serde(default)]
pub topicName: Option<String>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct ChatMessage {
#[serde(rename = "body")]
#[serde(default)]
pub body: Option<String>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct MsgSender {
#[serde(rename = "uid")]
#[serde(default)]
pub uid: Option<String>,
#[serde(rename = "username")]
#[serde(default)]
pub username: Option<String>,
#[serde(rename = "device_id")]
#[serde(default)]
pub deviceID: Option<String>,
#[serde(rename = "device_name")]
#[serde(default)]
pub deviceName: Option<String>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct MsgFlipContent {
#[serde(rename = "text")]
#[serde(default)]
pub text: Option<String>,
#[serde(rename = "game_id")]
#[serde(default)]
pub gameID: Option<String>,
#[serde(rename = "flip_conv_id")]
#[serde(default)]
pub flipConvID: Option<String>,
#[serde(rename = "user_mentions")]
#[serde(default)]
pub userMentions: Option<Vec<KnownUserMention>>,
#[serde(rename = "team_mentions")]
#[serde(default)]
pub teamMentions: Option<Vec<KnownTeamMention>>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct MsgContent {
#[serde(rename = "type")]
#[serde(default)]
pub typeName: Option<String>,
#[serde(rename = "text")]
pub text: Option<MessageText>,
#[serde(rename = "attachment")]
pub attachment: Option<MessageAttachment>,
#[serde(rename = "edit")]
pub edit: Option<MessageEdit>,
#[serde(rename = "reaction")]
pub reaction: Option<MessageReaction>,
#[serde(rename = "delete")]
pub delete: Option<MessageDelete>,
#[serde(rename = "metadata")]
pub metadata: Option<MessageConversationMetadata>,
#[serde(rename = "headline")]
pub headline: Option<MessageHeadline>,
#[serde(rename = "attachment_uploaded")]
pub attachmentUploaded: Option<MessageAttachmentUploaded>,
#[serde(rename = "system")]
pub system: Option<MessageSystem>,
#[serde(rename = "send_payment")]
pub sendPayment: Option<MessageSendPayment>,
#[serde(rename = "request_payment")]
pub requestPayment: Option<MessageRequestPayment>,
#[serde(rename = "unfurl")]
pub unfurl: Option<MessageUnfurl>,
#[serde(rename = "flip")]
pub flip: Option<MsgFlipContent>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct MsgSummary {
#[serde(rename = "id")]
pub id: Option<MessageID>,
#[serde(rename = "conversation_id")]
#[serde(default)]
pub convID: Option<String>,
#[serde(rename = "channel")]
pub channel: Option<ChatChannel>,
#[serde(rename = "sender")]
pub sender: Option<MsgSender>,
#[serde(rename = "sent_at")]
pub sentAt: Option<i64>,
#[serde(rename = "sent_at_ms")]
pub sentAtMs: Option<i64>,
#[serde(rename = "content")]
pub content: Option<MsgContent>,
#[serde(rename = "prev")]
#[serde(default)]
pub prev: Option<Vec<MessagePreviousPointer>>,
#[serde(rename = "unread")]
#[serde(default)]
pub unread: Option<bool>,
#[serde(rename = "revoked_device")]
#[serde(default)]
pub revokedDevice: Option<bool>,
#[serde(rename = "offline")]
#[serde(default)]
pub offline: Option<bool>,
#[serde(rename = "kbfs_encrypted")]
#[serde(default)]
pub kbfsEncrypted: Option<bool>,
#[serde(rename = "is_ephemeral")]
#[serde(default)]
pub isEphemeral: Option<bool>,
#[serde(rename = "is_ephemeral_expired")]
#[serde(default)]
pub isEphemeralExpired: Option<bool>,
#[serde(rename = "e_time")]
pub eTime: Option<gregor1::Time>,
#[serde(rename = "reactions")]
pub reactions: Option<ReactionMap>,
#[serde(rename = "has_pairwise_macs")]
#[serde(default)]
pub hasPairwiseMacs: Option<bool>,
#[serde(rename = "at_mention_usernames")]
#[serde(default)]
pub atMentionUsernames: Option<Vec<String>>,
#[serde(rename = "channel_mention")]
#[serde(default)]
pub channelMention: Option<String>,
#[serde(rename = "channel_name_mentions")]
#[serde(default)]
pub channelNameMentions: Option<Vec<UIChannelNameMention>>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct Message {
#[serde(rename = "msg")]
pub msg: Option<MsgSummary>,
#[serde(rename = "error")]
pub error: Option<String>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct Thread {
#[serde(rename = "messages")]
#[serde(default)]
pub messages: Option<Vec<Message>>,
#[serde(rename = "pagination")]
pub pagination: Option<Pagination>,
#[serde(rename = "offline")]
#[serde(default)]
pub offline: Option<bool>,
#[serde(rename = "identify_failures")]
#[serde(default)]
pub identifyFailures: Option<Vec<keybase1::TLFIdentifyFailure>>,
#[serde(rename = "ratelimits")]
#[serde(default)]
pub rateLimits: Option<Vec<RateLimitRes>>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct ConvSummary {
#[serde(rename = "id")]
#[serde(default)]
pub id: Option<String>,
#[serde(rename = "channel")]
pub channel: Option<ChatChannel>,
#[serde(rename = "unread")]
#[serde(default)]
pub unread: Option<bool>,
#[serde(rename = "active_at")]
pub activeAt: Option<i64>,
#[serde(rename = "active_at_ms")]
pub activeAtMs: Option<i64>,
#[serde(rename = "member_status")]
#[serde(default)]
pub memberStatus: Option<String>,
#[serde(rename = "reset_users")]
#[serde(default)]
pub resetUsers: Option<Vec<String>>,
#[serde(rename = "finalize_info")]
pub finalizeInfo: Option<ConversationFinalizeInfo>,
#[serde(rename = "supersedes")]
#[serde(default)]
pub supersedes: Option<Vec<String>>,
#[serde(rename = "superseded_by")]
#[serde(default)]
pub supersededBy: Option<Vec<String>>,
#[serde(rename = "error")]
#[serde(default)]
pub error: Option<String>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct ChatList {
#[serde(rename = "conversations")]
#[serde(default)]
pub conversations: Option<Vec<ConvSummary>>,
#[serde(rename = "offline")]
#[serde(default)]
pub offline: Option<bool>,
#[serde(rename = "identify_failures")]
#[serde(default)]
pub identifyFailures: Option<Vec<keybase1::TLFIdentifyFailure>>,
#[serde(rename = "pagination")]
pub pagination: Option<Pagination>,
#[serde(rename = "ratelimits")]
#[serde(default)]
pub rateLimits: Option<Vec<RateLimitRes>>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct SendRes {
#[serde(rename = "message")]
#[serde(default)]
pub message: Option<String>,
#[serde(rename = "id")]
pub messageID: Option<MessageID>,
#[serde(rename = "outbox_id")]
pub outboxID: Option<OutboxID>,
#[serde(rename = "identify_failures")]
#[serde(default)]
pub identifyFailures: Option<Vec<keybase1::TLFIdentifyFailure>>,
#[serde(rename = "ratelimits")]
#[serde(default)]
pub rateLimits: Option<Vec<RateLimitRes>>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct SearchInboxResOutput {
#[serde(rename = "results")]
pub results: Option<ChatSearchInboxResults>,
#[serde(rename = "identify_failures")]
#[serde(default)]
pub identifyFailures: Option<Vec<keybase1::TLFIdentifyFailure>>,
#[serde(rename = "ratelimits")]
#[serde(default)]
pub rateLimits: Option<Vec<RateLimitRes>>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct RegexpRes {
#[serde(rename = "hits")]
#[serde(default)]
pub hits: Option<Vec<ChatSearchHit>>,
#[serde(rename = "identify_failures")]
#[serde(default)]
pub identifyFailures: Option<Vec<keybase1::TLFIdentifyFailure>>,
#[serde(rename = "ratelimits")]
#[serde(default)]
pub rateLimits: Option<Vec<RateLimitRes>>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct NewConvRes {
#[serde(rename = "id")]
#[serde(default)]
pub id: Option<String>,
#[serde(rename = "identify_failures")]
#[serde(default)]
pub identifyFailures: Option<Vec<keybase1::TLFIdentifyFailure>>,
#[serde(rename = "ratelimits")]
#[serde(default)]
pub rateLimits: Option<Vec<RateLimitRes>>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct ListCommandsRes {
#[serde(rename = "commands")]
#[serde(default)]
pub commands: Option<Vec<UserBotCommandOutput>>,
#[serde(rename = "ratelimits")]
#[serde(default)]
pub rateLimits: Option<Vec<RateLimitRes>>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct EmptyRes {
#[serde(rename = "ratelimits")]
#[serde(default)]
pub rateLimits: Option<Vec<RateLimitRes>>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct MsgNotification {
#[serde(rename = "type")]
#[serde(default)]
pub ty: Option<String>,
#[serde(default)]
pub source: Option<String>,
pub msg: Option<MsgSummary>,
pub error: Option<String>,
pub pagination: Option<UIPagination>,
}