use std::collections::HashMap;
use std::time::SystemTime;
use crate::value::AttributeValue;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum CrudOperation {
Insert,
Update,
Delete,
Put,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum TypeKind {
Entity,
Relation,
}
pub struct HookContext {
pub type_name: &'static str,
pub type_kind: TypeKind,
pub operation: CrudOperation,
pub attributes: Vec<(&'static str, AttributeValue)>,
pub iid: Option<String>,
pub metadata: HashMap<String, serde_json::Value>,
pub timestamp: SystemTime,
}