diff options
Diffstat (limited to 'makima/src/bin')
| -rw-r--r-- | makima/src/bin/makima.rs | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/makima/src/bin/makima.rs b/makima/src/bin/makima.rs index c2c9beb..d4af878 100644 --- a/makima/src/bin/makima.rs +++ b/makima/src/bin/makima.rs @@ -825,6 +825,50 @@ async fn run_directive( .await?; println!("{}", serde_json::to_string(&result.0)?); } + DirectiveCommand::MemorySet(args) => { + let client = ApiClient::new(args.common.api_url, args.common.api_key)?; + let result = client + .directive_memory_set(args.common.directive_id, &args.key, &args.value) + .await?; + println!("{}", serde_json::to_string(&result.0)?); + } + DirectiveCommand::MemoryGet(args) => { + let client = ApiClient::new(args.common.api_url, args.common.api_key)?; + let result = client + .directive_memory_get(args.common.directive_id, &args.key) + .await?; + println!("{}", serde_json::to_string(&result.0)?); + } + DirectiveCommand::MemoryList(args) => { + let client = ApiClient::new(args.api_url, args.api_key)?; + let result = client + .directive_memory_list(args.directive_id) + .await?; + println!("{}", serde_json::to_string(&result.0)?); + } + DirectiveCommand::MemoryDelete(args) => { + let client = ApiClient::new(args.common.api_url, args.common.api_key)?; + client + .directive_memory_delete(args.common.directive_id, &args.key) + .await?; + println!(r#"{{"success": true}}"#); + } + DirectiveCommand::MemoryClear(args) => { + let client = ApiClient::new(args.api_url, args.api_key)?; + client + .directive_memory_clear(args.directive_id) + .await?; + println!(r#"{{"success": true}}"#); + } + DirectiveCommand::MemoryBatchSet(args) => { + let client = ApiClient::new(args.common.api_url, args.common.api_key)?; + let entries: serde_json::Value = serde_json::from_str(&args.json) + .map_err(|e| format!("Invalid JSON: {}", e))?; + let result = client + .directive_memory_batch_set(args.common.directive_id, entries) + .await?; + println!("{}", serde_json::to_string(&result.0)?); + } } Ok(()) |
