reactive_graph_client/client/
handler.rs1use std::sync::Arc;
2
3use crate::client::commands::ClientCommands;
4use crate::client::instances::entities::entity_instances;
5use crate::client::instances::flows::flow_instances;
6use crate::client::instances::relations::relation_instances;
7use crate::client::introspection::introspection_query;
8use crate::client::result::CommandResult;
9use crate::client::system::command::execute_command;
10use crate::client::system::instance::instance_info;
11use crate::client::system::plugin::plugins;
12use crate::client::system::remotes::remotes;
13use crate::client::system::shutdown::shutdown;
14use crate::client::types::components::components;
15use crate::client::types::entities::entity_types;
16use crate::client::types::flows::flow_types;
17use crate::client::types::relations::relation_types;
18use reactive_graph_client::ReactiveGraphClient;
19
20pub(crate) async fn handle_command(client: &Arc<ReactiveGraphClient>, command: ClientCommands) -> CommandResult {
21 match command {
22 ClientCommands::ExecuteCommand(args) => execute_command(client, args).await,
24 ClientCommands::InstanceInfo(args) => instance_info(client, args).await,
25 ClientCommands::Plugins(args) => plugins(client, args).await,
26 ClientCommands::Remotes(args) => remotes(client, args).await,
27 ClientCommands::Shutdown => shutdown(client).await,
28 ClientCommands::Components(args) => components(client, args).await,
30 ClientCommands::EntityTypes(args) => entity_types(client, args).await,
31 ClientCommands::RelationTypes(args) => relation_types(client, args).await,
32 ClientCommands::FlowTypes(args) => flow_types(client, args).await,
33 ClientCommands::EntityInstances(args) => entity_instances(client, args).await,
35 ClientCommands::RelationInstances(args) => relation_instances(client, args).await,
36 ClientCommands::FlowInstances(args) => flow_instances(client, args).await,
37 ClientCommands::Introspection(args) => introspection_query(client, args).await,
39 }
40}