Page MenuHomePhorge

D14675.1768177537.diff
No OneTemporary

Size
4 KB
Referenced Files
None
Subscribers
None

D14675.1768177537.diff

diff --git a/lib/types/backup-types.js b/lib/types/backup-types.js
--- a/lib/types/backup-types.js
+++ b/lib/types/backup-types.js
@@ -19,6 +19,19 @@
siweBackupMsgIssuedAt: t.String,
});
+// This type should match `BackupVersionInfo` in
+// `shared/comm-lib/src/backup/mod.rs`
+export type BackupVersionInfo = {
+ +codeVersion: number,
+ +stateVersion: number,
+ +dbVersion: number,
+};
+export const backupVersionInfoValidator: TInterface<BackupVersionInfo> =
+ tShape<BackupVersionInfo>({
+ codeVersion: t.Number,
+ stateVersion: t.Number,
+ dbVersion: t.Number,
+ });
// This type should match `LatestBackupInfo` in
// `native/native_rust_library/src/backup.rs`
export type LatestBackupInfo = {
@@ -26,6 +39,10 @@
+userID: string,
+siweBackupData?: ?SIWEBackupData,
+keyserverDeviceID?: ?string,
+ // ISO 8601 / RFC 3339 DateTime string
+ +creationTimestamp: string,
+ +totalBackupSize: number,
+ +versionInfo: BackupVersionInfo,
};
export const latestBackupInfoResponseValidator: TInterface<LatestBackupInfo> =
tShape<LatestBackupInfo>({
@@ -33,6 +50,9 @@
userID: t.String,
siweBackupData: t.maybe(siweBackupDataValidator),
keyserverDeviceID: t.maybe(t.String),
+ creationTimestamp: t.String,
+ totalBackupSize: t.Number,
+ versionInfo: backupVersionInfoValidator,
});
// This type should match `UserKeys` in
diff --git a/native/account/restore.js b/native/account/restore.js
--- a/native/account/restore.js
+++ b/native/account/restore.js
@@ -69,7 +69,23 @@
if (!latestBackupInfo) {
throw new Error('Backup not found');
}
- const { userID, backupID, keyserverDeviceID } = latestBackupInfo;
+ const {
+ userID,
+ backupID,
+ keyserverDeviceID,
+ creationTimestamp,
+ totalBackupSize,
+ versionInfo,
+ } = latestBackupInfo;
+
+ const backupDetails = {
+ backupID,
+ backupDate: new Date(creationTimestamp).toString(),
+ totalBackupSize,
+ versionInfo,
+ };
+ const stringifiedDetails = JSON.stringify(backupDetails, undefined, 2);
+ console.log(`Restoring from Backup:\n${stringifiedDetails}`);
const { pickledAccount, pickleKey, backupDataKey, backupLogDataKey } =
await getBackupUserKeys(userIdentifier, secret, backupID);
diff --git a/native/native_rust_library/src/backup.rs b/native/native_rust_library/src/backup.rs
--- a/native/native_rust_library/src/backup.rs
+++ b/native/native_rust_library/src/backup.rs
@@ -15,8 +15,8 @@
use crate::BACKUP_SOCKET_ADDR;
use crate::RUNTIME;
use backup_client::{
- BackupClient, BackupDescriptor, LatestBackupInfoResponse, RequestedData,
- TryStreamExt, UserIdentity,
+ BackupClient, BackupDescriptor, BackupVersionInfo, LatestBackupInfoResponse,
+ RequestedData, TryStreamExt, UserIdentity,
};
use serde::{Deserialize, Serialize};
use siwe::Message;
@@ -258,7 +258,9 @@
user_id,
siwe_backup_msg,
keyserver_device_id,
- ..
+ creation_timestamp,
+ total_backup_size,
+ version_info,
} = result;
let siwe_backup_data = match siwe_backup_msg {
@@ -279,6 +281,9 @@
user_id,
siwe_backup_data,
keyserver_device_id,
+ creation_timestamp,
+ total_backup_size,
+ version_info,
};
let serialize_result = serde_json::to_string(&result);
@@ -487,6 +492,10 @@
pub siwe_backup_data: Option<SIWEBackupData>,
#[serde(rename = "keyserverDeviceID")]
pub keyserver_device_id: Option<String>,
+ // ISO 8601 / RFC 3339 DateTime string
+ pub creation_timestamp: String,
+ pub total_backup_size: u64,
+ pub version_info: BackupVersionInfo,
}
struct CompactionDownloadResult {
diff --git a/shared/comm-lib/src/backup/mod.rs b/shared/comm-lib/src/backup/mod.rs
--- a/shared/comm-lib/src/backup/mod.rs
+++ b/shared/comm-lib/src/backup/mod.rs
@@ -33,11 +33,8 @@
#[serde(rename = "keyserverDeviceID")]
pub keyserver_device_id: Option<String>,
// ISO 8601 / RFC 3339 DateTime string
- #[serde(default)]
pub creation_timestamp: String,
- #[serde(default)]
pub total_backup_size: u64,
- #[serde(default)]
pub version_info: BackupVersionInfo,
}

File Metadata

Mime Type
text/plain
Expires
Mon, Jan 12, 12:25 AM (1 h, 5 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5921077
Default Alt Text
D14675.1768177537.diff (4 KB)

Event Timeline