reactive_graph_reactive_service_api/
reactive_instance_events.rs

1use uuid::Uuid;
2
3use reactive_graph_graph::RelationInstanceId;
4
5#[derive(Eq, Hash, PartialEq, Clone, Debug)]
6pub enum ReactiveInstanceEventTypes {
7    EntityInstanceCreated,
8    EntityInstanceDeleted,
9    RelationInstanceCreated,
10    RelationInstanceDeleted,
11    FlowInstanceCreated,
12    FlowInstanceDeleted,
13}
14
15pub enum ReactiveInstanceEvent {
16    EntityInstanceCreated(Uuid),
17    EntityInstanceDeleted(Uuid),
18    RelationInstanceCreated(RelationInstanceId),
19    RelationInstanceDeleted(RelationInstanceId),
20    FlowInstanceCreated(Uuid),
21    FlowInstanceDeleted(Uuid),
22}
23
24impl From<&ReactiveInstanceEvent> for ReactiveInstanceEventTypes {
25    fn from(event: &ReactiveInstanceEvent) -> Self {
26        match event {
27            ReactiveInstanceEvent::EntityInstanceCreated(_) => ReactiveInstanceEventTypes::EntityInstanceCreated,
28            ReactiveInstanceEvent::EntityInstanceDeleted(_) => ReactiveInstanceEventTypes::EntityInstanceDeleted,
29            ReactiveInstanceEvent::RelationInstanceCreated(_) => ReactiveInstanceEventTypes::RelationInstanceCreated,
30            ReactiveInstanceEvent::RelationInstanceDeleted(_) => ReactiveInstanceEventTypes::RelationInstanceDeleted,
31            ReactiveInstanceEvent::FlowInstanceCreated(_) => ReactiveInstanceEventTypes::FlowInstanceCreated,
32            ReactiveInstanceEvent::FlowInstanceDeleted(_) => ReactiveInstanceEventTypes::FlowInstanceDeleted,
33        }
34    }
35}