guacamole-client 0.5.1

Rust client library for the Guacamole REST API
Documentation
use crate::client::GuacamoleClient;
use crate::error::Result;
use crate::patch::PatchOperation;
use crate::validation::validate_user_group_id;

impl GuacamoleClient {
    /// Updates the permissions for a user group using JSON Patch operations.
    pub async fn update_user_group_permissions(
        &self,
        data_source: Option<&str>,
        group_id: &str,
        patches: &[PatchOperation],
    ) -> Result<()> {
        validate_user_group_id(group_id)?;
        let ds = self.resolve_data_source(data_source)?;
        let url = self.url(&format!(
            "/api/session/data/{ds}/userGroups/{group_id}/permissions"
        ))?;
        let response = self.http.patch(&url).json(patches).send().await?;
        Self::handle_error(response, &format!("user group {group_id} permissions")).await?;
        Ok(())
    }
}