backup/
messages.rs

1// SPDX-FileCopyrightText: 2025 Foundation Devices, Inc. <hello@foundation.xyz>
2// SPDX-License-Identifier: GPL-3.0-or-later
3
4use crate::{error::Error, Status};
5
6#[derive(Debug, server::Message, rkyv::Archive, rkyv::Serialize, rkyv::Deserialize)]
7#[event(Status)]
8pub struct StatusSubscribe;
9
10#[derive(Debug, server::Message, rkyv::Archive, rkyv::Serialize, rkyv::Deserialize)]
11#[response(Result<(), Error>)]
12pub struct CreateBackup;
13
14#[derive(Debug, server::Message, rkyv::Archive, rkyv::Serialize, rkyv::Deserialize)]
15#[response(Result<(), Error>)]
16pub struct CreateBackupFile {
17    pub backup_path: String,
18    pub location: fs::Location,
19}
20
21#[derive(Debug, server::Message, rkyv::Archive, rkyv::Serialize, rkyv::Deserialize)]
22#[response(Result<(), Error>)]
23pub struct RestoreBackup {
24    pub backup_path: String,
25    pub location: fs::Location,
26}
27
28#[derive(Debug, Clone, rkyv::Archive, rkyv::Serialize, rkyv::Deserialize)]
29pub enum RestoreProgress {
30    NotFound,
31    Downloading,
32    Restoring,
33    Restored,
34    Error,
35}
36
37#[derive(Debug, server::Message, rkyv::Archive, rkyv::Serialize, rkyv::Deserialize)]
38#[event(RestoreProgress)]
39pub struct SubscribeRestoreProgress;