use chrono::{DateTime, Utc};
use uuid::Uuid;
use crate::models::streams::{IngestReading, IngestStatusEvent};
#[derive(Debug, Clone)]
pub struct StreamDescriptor {
pub source_key: String,
pub source_name: String,
pub source_path: String,
pub metadata: serde_json::Value,
pub measurement_type: Option<String>,
}
#[derive(Debug, Clone)]
pub struct StreamFetchRequest {
pub stream_id: Uuid,
pub source_key: String,
pub since: Option<DateTime<Utc>>,
}
#[derive(Debug)]
pub struct StreamReadings {
pub stream_id: Uuid,
pub source_key: String,
pub readings: Vec<IngestReading>,
}
#[derive(Debug)]
pub struct StreamStatusEvents {
pub stream_id: Uuid,
pub source_key: String,
pub events: Vec<IngestStatusEvent>,
}