reactive_graph_instance_system_api/
relation_instance_import_export_manager.rs1use async_trait::async_trait;
2use springtime_di::injectable;
3
4use reactive_graph_graph::RelationInstanceId;
5use reactive_graph_lifecycle::Lifecycle;
6use reactive_graph_reactive_model_impl::ReactiveRelation;
7
8use crate::RelationInstanceExportError;
9use crate::RelationInstanceImportError;
10
11#[injectable]
12#[async_trait]
13pub trait RelationInstanceImportExportManager: Send + Sync + Lifecycle {
14 async fn import(&self, path: &str) -> Result<ReactiveRelation, RelationInstanceImportError>;
15
16 async fn export(&self, id: &RelationInstanceId, path: &str) -> Result<(), RelationInstanceExportError>;
17}