reactive_graph_instance_system_api/
flow_instance_import_export_manager.rs

1// use async_trait::async_trait;
2// // use reactive_graph_core_plugins::EntityInstanceCreationError;
3//
4// // use crate::api::RelationInstanceCreationError;
5// use reactive_graph_graph::FlowInstance;
6//
7// #[derive(Debug)]
8// pub enum FlowInstanceCreationError {
9//     EntityInstanceCreationError(EntityInstanceCreationError),
10//     RelationInstanceCreationError(RelationInstanceCreationError),
11// }
12//
13// impl From<EntityInstanceCreationError> for FlowInstanceCreationError {
14//     fn from(e: EntityInstanceCreationError) -> Self {
15//         FlowInstanceCreationError::EntityInstanceCreationError(e)
16//     }
17// }
18//
19// impl From<RelationInstanceCreationError> for FlowInstanceCreationError {
20//     fn from(e: RelationInstanceCreationError) -> Self {
21//         FlowInstanceCreationError::RelationInstanceCreationError(e)
22//     }
23// }
24//
25// #[derive(Debug)]
26// pub enum FlowInstanceImportError {
27//     Io(std::io::Error),
28//     Deserialization(serde_json::Error),
29//     FlowInstanceCreation(FlowInstanceCreationError),
30// }
31//
32// impl From<std::io::Error> for FlowInstanceImportError {
33//     fn from(e: std::io::Error) -> Self {
34//         FlowInstanceImportError::Io(e)
35//     }
36// }
37//
38// impl From<serde_json::Error> for FlowInstanceImportError {
39//     fn from(e: serde_json::Error) -> Self {
40//         FlowInstanceImportError::Deserialization(e)
41//     }
42// }
43//
44// impl From<FlowInstanceCreationError> for FlowInstanceImportError {
45//     fn from(e: FlowInstanceCreationError) -> Self {
46//         FlowInstanceImportError::FlowInstanceCreation(e)
47//     }
48// }
49//
50// #[async_trait]
51// pub trait FlowInstanceManager: Send + Sync {
52//     fn create(&self, flow_instance: FlowInstance) -> Result<FlowInstance, FlowInstanceCreationError>;
53//
54//     fn commit(&self, flow_instance: FlowInstance);
55//
56//     fn delete(&self, flow_instance: FlowInstance);
57//
58//     fn import(&self, path: &str) -> Result<FlowInstance, FlowInstanceImportError>;
59//
60//     fn export(&self, flow_instance: FlowInstance, path: &str);
61// }