keybase-protocol 0.1.1

Provides the Keybase types defined in the Keybase AVDL Protocol files for Rust.
Documentation
// Namespace: "keybase.1"
// Protocol: "kbfsCommon"
#![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::*;

#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum FSStatusCode {
  Start_0,
  Finish_1,
  Error_2,
}

#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum FSNotificationType {
  Encrypting_0,
  Decrypting_1,
  Signing_2,
  Verifying_3,
  Rekeying_4,
  Connection_5,
  Md_read_success_6,
  File_created_7,
  File_modified_8,
  File_deleted_9,
  File_renamed_10,
  Initialized_11,
  Sync_config_changed_12,
}

#[derive(Serialize_repr, Deserialize_repr, Debug, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum FSErrorType {
  Access_denied_0,
  User_not_found_1,
  Revoked_data_detected_2,
  Not_logged_in_3,
  Timeout_4,
  Rekey_needed_5,
  Bad_folder_6,
  Not_implemented_7,
  Old_version_8,
  Over_quota_9,
  No_sig_chain_10,
  Too_many_folders_11,
  Exdev_not_supported_12,
  Disk_limit_reached_13,
  Disk_cache_error_log_send_14,
  Offline_archived_15,
  Offline_unsynced_16,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct FSNotification {
  #[serde(default)]
  pub filename: Option<String>,
  #[serde(default)]
  pub status: Option<String>,
  pub statusCode: Option<FSStatusCode>,
  pub notificationType: Option<FSNotificationType>,
  pub errorType: Option<FSErrorType>,
  pub params: Option<std::collections::HashMap<String, String>>,
  // @lint("ignore")
  pub writerUid: Option<UID>,
  pub localTime: Option<Time>,
  pub folderType: Option<FolderType>,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct FSEditListRequest {
  pub folder: Option<Folder>,
  pub requestID: Option<i32>,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct FSFolderWriterEdit {
  #[serde(default)]
  pub filename: Option<String>,
  pub notificationType: Option<FSNotificationType>,
  pub serverTime: Option<Time>,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct FSFolderWriterEditHistory {
  #[serde(default)]
  pub writerName: Option<String>,
  #[serde(default)]
  pub edits: Option<Vec<FSFolderWriterEdit>>,
  #[serde(default)]
  pub deletes: Option<Vec<FSFolderWriterEdit>>,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct FSFolderEditHistory {
  pub folder: Option<Folder>,
  pub serverTime: Option<Time>,
  #[serde(default)]
  pub history: Option<Vec<FSFolderWriterEditHistory>>,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct FSSyncStatusRequest {
  pub requestID: Option<i32>,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct FSPathSyncStatus {
  pub folderType: Option<FolderType>,
  #[serde(default)]
  pub path: Option<String>,
  pub syncingBytes: Option<i64>,
  pub syncingOps: Option<i64>,
  pub syncedBytes: Option<i64>,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct FSSyncStatus {
  pub totalSyncingBytes: Option<i64>,
  #[serde(default)]
  pub syncingPaths: Option<Vec<String>>,
  pub endEstimate: Option<Time>,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct FolderSyncStatus {
  pub localDiskBytesAvailable: Option<i64>,
  pub localDiskBytesTotal: Option<i64>,
  pub prefetchStatus: Option<PrefetchStatus>,
  pub prefetchProgress: Option<PrefetchProgress>,
  pub storedBytesTotal: Option<i64>,
  #[serde(default)]
  pub outOfSyncSpace: Option<bool>,
}