backup_model - OmniCloudOrg/OmniOrchestrator GitHub Wiki
Path: src/backup/model.rs
- fn new
- fn formatted_created_at
- fn is_successful
- fn set_success
- fn set_failed
- fn set_size
- fn mark_validated
- fn mark_restored
- fn has_system_components
- fn update_metadata
- fn age_in_days
- fn create_backup_job
- fn initialize_backup_environment
pub fn new() -> Self {
let now = chrono::Utc::now();
Create a new Backup instance with default values
pub fn formatted_created_at(&self) -> String {
self.created_at.format("%Y-%m-%d %H:%M:%S").to_string()
}
/// Checks if the backup was successful
pub fn is_successful(&self) -> bool {
// ... function body
}
Returns a formatted string for the backup's created_at field
pub fn is_successful(&self) -> bool {
self.status == "success"
}
/// Sets the backup as successful
pub fn set_success(&mut self) {
// ... function body
}
Checks if the backup was successful
pub fn set_success(&mut self) {
self.status = "success".to_string();
Sets the backup as successful
pub fn set_failed(&mut self, error_msg: Option<String>) {
self.status = "failed".to_string();
Sets the backup as failed with an optional error message
pub fn set_size(&mut self, size: u64) {
self.size_bytes = Some(size.try_into().unwrap_or(0));
Updates the backup size
pub fn mark_validated(&mut self) {
self.last_validated_at = Some(Utc::now());
Records a validation attempt
pub fn mark_restored(&mut self, target_env: String) {
self.last_restored_at = Some(Utc::now());
Records a restore attempt
pub fn has_system_components(&self) -> bool {
self.has_system_core ||
self.has_directors ||
self.has_orchestrators ||
self.has_network_config
}
/// Updates the backup metadata
pub fn update_metadata(&mut self, metadata: Value) {
// ... function body
}
Checks if the backup contains any system components
pub fn update_metadata(&mut self, metadata: Value) {
self.metadata = Some(metadata);
Updates the backup metadata
pub fn age_in_days(&self) -> i64 {
let now = Utc::now();
Gets the age of the backup in days
pub fn create_backup_job(
name: String,
description: Option<String>,
environment: String,
backup_type: String,
created_by: String,
apps_to_include: Option<Vec<String>>,
services_to_include: Option<Vec<String>>,
encryption_method: Option<String>,
encryption_key_id: Option<String>,
storage_location: String,
) -> Self {
// ... function body
}
Create a new backup job, setting up parameters and initializing structures
pub fn initialize_backup_environment(&self) -> Result<PathBuf, anyhow::Error> {
use std::fs;
Initialize the backup environment, creating necessary directories