use crate::client::GuacamoleClient;
use crate::error::Result;
use crate::patch::PatchOperation;
use crate::validation::validate_user_group_id;
impl GuacamoleClient {
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(())
}
}