use domino_cli::*;
use structopt::StructOpt;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let cli = Cli::from_args();
match cli.cmd {
Command::Dashboard => actions::dashboard::dashboard(cli.common).await?,
Command::ProgenitorCommand(cmd) => match cmd {
ProgenitorCommand::Dashboard => actions::dashboard::dashboard(cli.common).await?,
ProgenitorCommand::Init { library_path } => {
actions::progenitor::init(cli.common, library_path).await?
}
ProgenitorCommand::InitializeGlobalDefinition => {
actions::zome_call::global::initialize_global_definition(
cli.common, None, None, None, None, None, None,
)
.await?
}
ProgenitorCommand::GetGlobalDefinitions => {
actions::zome_call::global::get_current_global_definition(cli.common).await?
}
ProgenitorCommand::AddGlobalUnits(unit_definition) => {
actions::zome_call::global::add_global_units(cli.common, unit_definition).await?
}
ProgenitorCommand::UpdateGlobalUnits(unit_definition) => {
actions::zome_call::global::update_global_units(cli.common, unit_definition).await?
}
ProgenitorCommand::GetGlobalUnitsDetails => {
actions::zome_call::global::get_global_units_details(cli.common).await?
}
ProgenitorCommand::CreateServiceNetworkDefinition { definition } => {
actions::zome_call::service_network::create_service_network_definition(
cli.common, definition,
)
.await?
}
ProgenitorCommand::UpdateServiceNetworkDefinition { definition } => {
actions::zome_call::service_network::update_service_network_definition(
cli.common, definition,
)
.await?
}
ProgenitorCommand::GetAllServiceNetwork => {
actions::zome_call::service_network::get_all_service_network(cli.common).await?
}
},
Command::ZomeCommand(cmd) => match cmd {
ZomeCommand::WhoAmI => {
_ = actions::dashboard::whoami(cli.common).await?;
return Ok(());
}
ZomeCommand::GetLedger => actions::dashboard::get_ledger(cli.common).await?,
ZomeCommand::GetPending => actions::dashboard::get_pending(cli.common).await?,
ZomeCommand::GetActionableTransactions => {
actions::dashboard::get_actionable_transactions(cli.common).await?
}
ZomeCommand::GetCompleted => actions::dashboard::get_completed(cli.common).await?,
ZomeCommand::CreateSpend {
receiver,
amount,
note,
auto_credit_check,
} => {
actions::zome_call::transactions::create_spend(
cli.common,
receiver,
amount,
note,
auto_credit_check,
)
.await?
}
ZomeCommand::CreateInvoice {
spender,
amount,
note,
} => {
actions::zome_call::transactions::create_invoice(cli.common, spender, amount, note)
.await?
}
ZomeCommand::AcceptTransaction {
address,
auto_credit_check,
} => {
actions::zome_call::transactions::accept_transaction(
cli.common,
address,
auto_credit_check,
)
.await?
}
ZomeCommand::GetParkedSpend => {
actions::zome_call::transactions::get_parked_spend(cli.common).await?
}
ZomeCommand::ExecuteSAVED { input } => {
actions::zome_call::saved::execute_saved(cli.common, input).await?
}
ZomeCommand::GetIncomingSAVEDs => {
actions::zome_call::saved::get_incoming_saveds(cli.common).await?
}
ZomeCommand::AcceptSAVED { saved } => {
actions::zome_call::saved::collect_from_saved(cli.common, saved).await?
}
ZomeCommand::GetGlobalDefinitions => {
actions::zome_call::global::get_current_global_definition(cli.common).await?
}
ZomeCommand::GetGlobalUnitsDetails => {
actions::zome_call::global::get_global_units_details(cli.common).await?
}
ZomeCommand::GetAllServiceNetworks => {
actions::zome_call::service_network::get_all_service_network(cli.common).await?
}
ZomeCommand::GetCodeTemplatesLib => {
_ = actions::zome_call::saved::get_code_templates_lib(cli.common).await?
}
},
}
Ok(())
}