dialtone_reqwest 0.1.0

Dialtone HTTP Reqwest Client Library
Documentation
use crate::dt_reqwest_error::DtReqwestError;
use crate::site_connection::SiteConnection;
use dialtone_common::rest::api_paths::full_path::USER__PASSWORD;
use dialtone_common::rest::simple_exchanges::SimpleResponse;
use dialtone_common::rest::users::user_exchanges::PutUserPassword;

pub async fn change_password(
    sc: &SiteConnection,
    request: &PutUserPassword,
) -> Result<bool, DtReqwestError> {
    sc.must_be_logged_in()?;
    let response: SimpleResponse = sc
        .put(USER__PASSWORD, &[])
        .json(&request)
        .send()
        .await?
        .error_for_status()?
        .json()
        .await?;
    if response.result {
        Ok(true)
    } else {
        Ok(false)
    }
}