mod render;
use icydb::__macro::RpcMethod;
use crate::{
cli::CanisterTarget,
icp::{IcpCallKind, require_created_canister},
observability::call_endpoint,
};
pub(super) fn run_snapshot_command(target: CanisterTarget) -> Result<(), String> {
require_created_canister(target.environment(), target.canister_name())?;
let report = call_endpoint::<icydb::db::StorageReport>(
target.environment(),
target.canister_name(),
RpcMethod::Snapshot,
(),
"snapshot",
IcpCallKind::Query,
)?;
print!("{}", render_snapshot_report(&report));
Ok(())
}
pub(super) fn render_snapshot_report(report: &icydb::db::StorageReport) -> String {
render::render_snapshot_report(report)
}