pub async fn update_device(
    configuration: &configuration::Configuration,
    existing_collection_id: &str,
    device_id: &str,
    body: crate::models::UpdateDeviceRequest,
) -> Result<crate::models::Device, Error<UpdateDeviceError>> {
    let local_var_client = &configuration.client;

    let local_var_uri_str = format!(
        "{}/collections/{existingCollectionId}/devices/{deviceId}",
        configuration.base_path,
        existingCollectionId = crate::apis::urlencode(existing_collection_id),
        deviceId = crate::apis::urlencode(device_id)
    );
    let mut local_var_req_builder = local_var_client.patch(local_var_uri_str.as_str());

    if let Some(ref local_var_user_agent) = configuration.user_agent {
        local_var_req_builder =
            local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
    }
    if let Some(ref local_var_apikey) = configuration.api_key {
        let local_var_key = local_var_apikey.key.clone();
        let local_var_value = match local_var_apikey.prefix {
            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
            None => local_var_key,
        };
        local_var_req_builder = local_var_req_builder.header("X-API-Token", local_var_value);
    };
    local_var_req_builder = local_var_req_builder.json(&body);

    let local_var_req = local_var_req_builder.build()?;
    let local_var_resp = local_var_client.execute(local_var_req).await?;

    let local_var_status = local_var_resp.status();
    let local_var_content = local_var_resp.text().await?;

    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
        serde_json::from_str(&local_var_content).map_err(Error::from)
    } else {
        let local_var_entity: Option<UpdateDeviceError> =
            serde_json::from_str(&local_var_content).ok();
        let local_var_error = ResponseContent {
            status: local_var_status,
            content: local_var_content,
            entity: local_var_entity,
        };
        Err(Error::ResponseError(local_var_error))
    }
}
/// Update device. The device can be moved from one collection to another by setting the collection ID field to the new collection. You must have administrative access to both collections.
Update device. The device can be moved from one collection to another by setting the collection ID field to the new collection. You must have administrative access to both collections.
Update device . The device can be moved from one collection to another by setting the collection ID field to the new collection . You must have administrative access to both collections .
pub async fn update_device(
    configuration: &configuration::Configuration,
    existing_collection_id: &str,
    device_id: &str,
    body: crate::models::UpdateDeviceRequest,
) -> Result<crate::models::Device, Error<UpdateDeviceError>> {
    let local_var_client = &configuration.client;
    let local_var_uri_str = format!(
        "{}/collections/{existingCollectionId}/devices/{deviceId}",
        configuration.base_path,
        existingCollectionId = crate::apis::urlencode(existing_collection_id),
        deviceId = crate::apis::urlencode(device_id)
    );
    let mut local_var_req_builder = local_var_client.patch(local_var_uri_str.as_str());
    if let Some(ref local_var_user_agent) = configuration.user_agent {
        local_var_req_builder =
            local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
    }
    if let Some(ref local_var_apikey) = configuration.api_key {
        let local_var_key = local_var_apikey.key.clone();
        let local_var_value = match local_var_apikey.prefix {
            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
            None => local_var_key,
        };
        local_var_req_builder = local_var_req_builder.header("X-API-Token", local_var_value);
    };
    local_var_req_builder = local_var_req_builder.json(&body);
    let local_var_req = local_var_req_builder.build()?;
    let local_var_resp = local_var_client.execute(local_var_req).await?;
    let local_var_status = local_var_resp.status();
    let local_var_content = local_var_resp.text().await?;
    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
        serde_json::from_str(&local_var_content).map_err(Error::from)
    } else {
        let local_var_entity: Option<UpdateDeviceError> =
            serde_json::from_str(&local_var_content).ok();
        let local_var_error = ResponseContent {
            status: local_var_status,
            content: local_var_content,
            entity: local_var_entity,
        };
        Err(Error::ResponseError(local_var_error))
    }
}
pub async fn update_device ( configuration : & configuration :: Configuration , existing_collection_id : & str , device_id : & str , body : crate :: models :: UpdateDeviceRequest , ) -> Result < crate :: models :: Device , Error < UpdateDeviceError > > { let local_var_client = & configuration . client ; let local_var_uri_str = format ! ( " " configuration base_path existingCollectionId crate apis urlencode ( existing_collection_id ) deviceId crate apis urlencode ( device_id ) ) ; let mut local_var_req_builder = local_var_client . patch ( local_var_uri_str . as_str ( ) ) ; if let Some ( ref local_var_user_agent ) = configuration . user_agent { local_var_req_builder = local_var_req_builder . header ( reqwest :: header :: USER_AGENT , local_var_user_agent . clone ( ) ) ; } if let Some ( ref local_var_apikey ) = configuration . api_key { let local_var_key = local_var_apikey . key . clone ( ) ; let local_var_value = match local_var_apikey . prefix { Some ( ref local_var_prefix ) => format ! ( " " local_var_prefix local_var_key ) , None => local_var_key , } ; local_var_req_builder = local_var_req_builder . header ( " " , local_var_value ) ; } ; local_var_req_builder = local_var_req_builder . json ( & body ) ; let local_var_req = local_var_req_builder . build ( ) ? ; let local_var_resp = local_var_client . execute ( local_var_req ) . await ? ; let local_var_status = local_var_resp . status ( ) ; let local_var_content = local_var_resp . text ( ) . await ? ; if ! local_var_status . is_client_error ( ) && ! local_var_status . is_server_error ( ) { serde_json :: from_str ( & local_var_content ) . map_err ( Error :: from ) } else { let local_var_entity : Option < UpdateDeviceError > = serde_json :: from_str ( & local_var_content ) . ok ( ) ; let local_var_error = ResponseContent { status : local_var_status , content : local_var_content , entity : local_var_entity , } ; Err ( Error :: ResponseError ( local_var_error ) ) } }
Update device.
Update device .
configuration
&configuration::Configuration
existing_collection_id
&str
device_id
&str
body
crate::models::UpdateDeviceRequest
configuration
&configuration::Configuration
existing_collection_id
&str
device_id
&str
body
crate::models::UpdateDeviceRequest