// AUTO-GENERATED by mizan — do not edit

use serde_json::Value;

use mizan_rust::{MizanClient, MizanError};

use crate::types::{FindUserOutput, FindUserInput};

pub async fn call_find_user(client: &MizanClient, args: &FindUserInput) -> Result<Option<FindUserOutput>, MizanError> {
    let args_value = serde_json::to_value(args).unwrap_or(Value::Object(Default::default()));
    let raw = client.call("find_user", args_value).await?;
    serde_json::from_value(raw)
        .map_err(|e| MizanError::transport(format!("decode find_user result: {e}")))
}
