omni_orchestrator/schemas/v1/models/
backup.rs1use serde::{Deserialize, Serialize};
2use chrono::{DateTime, Utc};
3use serde_json::Value;
4use sqlx::Row;
5
6#[derive(Debug, sqlx::FromRow, Serialize, Deserialize)]
7pub struct Backup {
8 pub id: i64,
9 pub name: String,
10 pub description: Option<String>,
11 pub created_at: DateTime<Utc>,
12 pub created_by: String,
13 pub backup_type: String, pub status: String, pub format_version: String,
16 pub source_environment: String,
17 pub encryption_method: Option<String>,
18 pub encryption_key_id: Option<i64>,
19 pub size_bytes: Option<i64>,
20 pub has_system_core: bool,
21 pub has_directors: bool,
22 pub has_orchestrators: bool,
23 pub has_network_config: bool,
24 pub has_app_definitions: bool,
25 pub has_volume_data: bool,
26 pub included_apps: Option<String>,
27 pub included_services: Option<String>,
28 pub last_validated_at: Option<DateTime<Utc>>,
29 pub last_restored_at: Option<DateTime<Utc>>,
30 pub restore_target_environment: Option<String>,
31 pub restore_status: Option<String>,
32 pub storage_location: String,
33 pub manifest_path: String,
34 pub metadata: Option<Value>,
35}