#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct AddUserToOrgRequest {
#[serde(rename = "user_id")]
pub user_id: String,
#[serde(rename = "org_id")]
pub org_id: String,
#[serde(rename = "role")]
pub role: String,
#[serde(rename = "additional_roles")]
pub additional_roles: Vec<String>,
}
impl AddUserToOrgRequest {
pub fn new(user_id: String, org_id: String, role: String) -> AddUserToOrgRequest {
AddUserToOrgRequest {
user_id,
org_id,
role,
additional_roles: vec![],
}
}
pub fn with_multiple_roles(
user_id: String,
org_id: String,
mut roles: Vec<String>,
) -> Option<AddUserToOrgRequest> {
let role = roles.pop()?;
Some(AddUserToOrgRequest {
user_id,
org_id,
role,
additional_roles: roles,
})
}
}