use serde::{Deserialize, Serialize};
use std::collections::HashMap;
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Default)]
pub struct OcelLog {
pub objects: Vec<OcelObject>,
pub events: Vec<OcelEvent>,
}
impl OcelLog {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
pub struct OcelObject {
pub id: String,
pub r#type: String,
pub attributes: HashMap<String, String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
pub struct OcelEvent {
pub id: String,
pub activity: String,
pub timestamp: chrono::DateTime<chrono::Utc>,
pub objects: Vec<OcelObjectRef>,
pub attributes: HashMap<String, String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
pub struct OcelObjectRef {
pub id: String,
pub r#type: String,
pub qualifier: Option<String>,
}