Some checks failed
CI Pipeline / Rust Format Check (push) Failing after 2s
CI Pipeline / Clippy Lints (push) Failing after 1s
CI Pipeline / Rust Unit Tests (push) Failing after 2s
CI Pipeline / Security Audit (push) Failing after 2s
CI Pipeline / Frontend Lint & Type Check (push) Failing after 3s
CI Pipeline / Build .deb & Release (push) Has been skipped
- health_poller: persist agent_version from HealthData.version - health_poller: call /system/info to update os_family, os_name, arch - enrollment: set os_family and arch from os_details during approval - enrollment: build os_name from os+os_version when name field absent - COALESCE in UPDATE preserves existing values when new data unavailable - version bump 0.1.7 -> 0.1.8
28 lines
728 B
Rust
Executable File
28 lines
728 B
Rust
Executable File
//! pm-reports — CSV and PDF report generation.
|
|
//!
|
|
//! Uses printpdf + plotters for in-process PDF with charts.
|
|
pub mod csv;
|
|
pub mod pdf;
|
|
|
|
pub use csv::generate_csv;
|
|
pub use pdf::generate_pdf;
|
|
|
|
/// The type of report to generate.
|
|
#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
|
|
#[serde(rename_all = "kebab-case")]
|
|
pub enum ReportType {
|
|
Compliance,
|
|
PatchHistory,
|
|
Vulnerability,
|
|
Audit,
|
|
}
|
|
|
|
/// Parameters controlling report generation.
|
|
#[derive(Debug, Clone, serde::Deserialize)]
|
|
pub struct ReportParams {
|
|
pub report_type: ReportType,
|
|
pub from: Option<chrono::DateTime<chrono::Utc>>,
|
|
pub to: Option<chrono::DateTime<chrono::Utc>>,
|
|
pub group_id: Option<uuid::Uuid>,
|
|
}
|