mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-04 16:56:59 +01:00
feat(core,fuse,gui,cli): restore to this computer per device
ListDeviceRestorableFolders and RestoreDeviceFolders read another registered device's folders and attach them with that device's share, without changing this machine's cached device. The Computers page moves restore into each computer's menu, and pdfs sync restore takes --device.
This commit is contained in:
1 parent
0b63a65661
commit
52651caf8e
8 files changed
+199
-43
No files matched your search
@@ -443,6 +443,18 @@ pub enum Request {
|
||||
/// Attach the given remote device folders to local paths and sync them down.
|
||||
/// Replies with [`Response::Ok`].
|
||||
RestoreSyncFolders { items: Vec<RestoreItem> },
|
||||
/// [`Request::ListRestorableFolders`] for another registered device, by
|
||||
/// uid, so its folders can be synced down to this machine. Replies with
|
||||
/// [`Response::RestorableFolders`].
|
||||
ListDeviceRestorableFolders { device: String },
|
||||
/// [`Request::RestoreSyncFolders`] for folders under another device. A
|
||||
/// separate variant rather than an optional field: an older daemon that
|
||||
/// ignored the field would attach the folders under this machine's device
|
||||
/// share instead. Replies with [`Response::Ok`].
|
||||
RestoreDeviceFolders {
|
||||
device: String,
|
||||
items: Vec<RestoreItem>,
|
||||
},
|
||||
|
||||
// ---- sharing a node ---------------------------------------------------
|
||||
/// Invite `emails` (Proton and/or external addresses, auto-detected) to the
|
||||
@@ -2491,6 +2503,17 @@ mod tests {
|
||||
mode: "mirror".into(),
|
||||
}],
|
||||
},
|
||||
Request::ListDeviceRestorableFolders {
|
||||
device: "dev-2".into(),
|
||||
},
|
||||
Request::RestoreDeviceFolders {
|
||||
device: "dev-2".into(),
|
||||
items: vec![RestoreItem {
|
||||
remote_uid: "vol~link".into(),
|
||||
local_path: "/home/me/Work".into(),
|
||||
mode: "ondemand".into(),
|
||||
}],
|
||||
},
|
||||
Request::ShareNode {
|
||||
path: "a/b".into(),
|
||||
emails: vec!["x@proton.me".into(), "y@example.com".into()],
|
||||
|
||||
Reference in new issue
Block a user