use std::sync::Arc;
use chrono::{DateTime, Utc};
use sqlx::SqlitePool;
use crate::config::Config;
use crate::services::consumer::DetectionConsumer;
use crate::services::recorder::RecorderManager;
use crate::services::sampler::SamplerManager;
#[derive(Clone)]
pub struct AppState {
pub pool: SqlitePool,
pub cfg: Arc<Config>,
pub recorder: Arc<RecorderManager>,
pub sampler: Arc<SamplerManager>,
pub consumers: Arc<Vec<Arc<dyn DetectionConsumer>>>,
pub http: reqwest::Client,
pub started_at: DateTime<Utc>,
}