med_core 0.6.4

A Rust Powered Core Engine for M.E.D. Masking, Encryption, and Decryption CSV/JSON
Documentation
use crate::{audit::db::Database, models::metrics::Metrics, utils::error::MedError};

#[derive(Debug, Default, Clone)]
pub struct Summary {
    pub user: String,
    pub hostname: String,
    pub metrics: Metrics,
    pub runtime_conf: String,
    pub process_failure_reason: Option<String>,
    pub successed: bool,
    pub elapsed_time: String,
}

pub struct Audit {
    pub db: Database,
    pub summary: Summary,
}

impl Audit {
    pub async fn new() -> Result<Self, MedError> {
        let db = Database::new().await?;
        let summary = Summary::default();
        Ok(Audit { db, summary })
    }

    #[cfg(not(tarpaulin_include))]
    pub async fn insert(&mut self) -> Result<i64, MedError> {
        let id = self.db.insert(&self.summary).await?;
        Ok(id)
    }
}