1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
// 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>,
}