keybase-protocol 0.1.1

Provides the Keybase types defined in the Keybase AVDL Protocol files for Rust.
Documentation
// Namespace: "keybase.1"
// Protocol: "tlfKeys"
#![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 super::common::*;
use super::identify::*;
#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum TLFIdentifyBehavior {
  Unset_0,
  Chat_cli_1,
  Chat_gui_2,
  Removed_and_unused_3,
  Kbfs_rekey_4,
  Kbfs_qr_5,
  Chat_skip_6,
  Saltpack_7,
  Cli_8,
  Gui_9,
  Default_kbfs_10,
  Kbfs_chat_11,
  Resolve_and_check_12,
  Gui_profile_13,
  Kbfs_init_14,
  Fs_gui_15,
}

// LINT: @lint("ignore")
pub type CanonicalTlfName = String;

#[derive(Serialize, Deserialize, Debug)]
pub struct CryptKey {
  // @lint("ignore")
  pub KeyGeneration: Option<i32>,
  // @lint("ignore")
  pub Key: Option<Bytes32>,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct TLFBreak {
  #[serde(default)]
  pub breaks: Option<Vec<TLFIdentifyFailure>>,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct TLFIdentifyFailure {
  pub user: Option<User>,
  pub breaks: Option<IdentifyTrackBreaks>,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct CanonicalTLFNameAndIDWithBreaks {
  pub tlfID: Option<TLFID>,
  // @lint("ignore")
  pub CanonicalName: Option<CanonicalTlfName>,
  pub breaks: Option<TLFBreak>,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct GetTLFCryptKeysRes {
  pub nameIDBreaks: Option<CanonicalTLFNameAndIDWithBreaks>,
  // @lint("ignore")
  #[serde(default)]
  pub CryptKeys: Option<Vec<CryptKey>>,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct TLFQuery {
  #[serde(default)]
  pub tlfName: Option<String>,
  pub identifyBehavior: Option<TLFIdentifyBehavior>,
}