diff --git a/src/command/area.rs b/src/command/area.rs index ab231ac..bdee136 100644 --- a/src/command/area.rs +++ b/src/command/area.rs @@ -1,6 +1,6 @@ use crate::{rpc, Result}; use clap::Args; -use serde_json::json; +use serde_json::{json, Value}; #[derive(Args)] pub struct GetAreaArgs { @@ -15,13 +15,14 @@ pub fn get_area(args: &GetAreaArgs) -> Result<()> { pub struct SetAreaTagArgs { pub id: String, pub name: String, - pub value: serde_json::Value, + pub value: String, } pub fn set_area_tag(args: &SetAreaTagArgs) -> Result<()> { + let value: Value = serde_json::from_str(&args.value)?; rpc::call( "set_area_tag", - json!({"id": args.id,"name": args.name, "value": args.value}), + json!({"id": args.id,"name": args.name, "value": value}), ) } diff --git a/src/command/element.rs b/src/command/element.rs index b5fc859..3b5d80f 100644 --- a/src/command/element.rs +++ b/src/command/element.rs @@ -1,6 +1,6 @@ use crate::{rpc, Result}; use clap::Args; -use serde_json::json; +use serde_json::{json, Value}; #[derive(Args)] pub struct GetElementArgs { @@ -15,13 +15,14 @@ pub fn get_element(args: &GetElementArgs) -> Result<()> { pub struct SetElementTagArgs { pub id: String, pub name: String, - pub value: serde_json::Value, + pub value: String, } pub fn set_element_tag(args: &SetElementTagArgs) -> Result<()> { + let value: Value = serde_json::from_str(&args.value)?; rpc::call( "set_element_tag", - json!({"id": args.id,"name": args.name, "value": args.value}), + json!({"id": args.id,"name": args.name, "value": value}), ) }