#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct ScimGroupResult {
#[serde(rename = "group_id")]
pub group_id: String,
#[serde(rename = "display_name")]
pub display_name: String,
#[serde(rename = "external_id_from_idp")]
pub external_id_from_idp: Option<String>,
}
impl ScimGroupResult {
pub fn new(group_id: String, display_name: String) -> ScimGroupResult {
ScimGroupResult {
group_id,
display_name,
external_id_from_idp: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct ScimGroupResultPage {
#[serde(rename = "groups")]
pub groups: Vec<ScimGroupResult>,
#[serde(rename = "total_groups")]
pub total_groups: i64,
#[serde(rename = "page_number")]
pub page_number: i64,
#[serde(rename = "page_size")]
pub page_size: i64,
}
impl ScimGroupResultPage {
pub fn new(groups: Vec<ScimGroupResult>, total_groups: i64, page_number: i64, page_size: i64) -> ScimGroupResultPage {
ScimGroupResultPage {
groups,
total_groups,
page_number,
page_size,
}
}
}
#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct ScimGroupMember {
#[serde(rename = "user_id")]
pub user_id: String,
}
impl ScimGroupMember {
pub fn new(user_id: String) -> ScimGroupMember {
ScimGroupMember { user_id }
}
}
#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct ScimGroup {
#[serde(rename = "group_id")]
pub group_id: String,
#[serde(rename = "display_name")]
pub display_name: String,
#[serde(rename = "external_id_from_idp")]
pub external_id_from_idp: Option<String>,
#[serde(rename = "members")]
pub members: Vec<ScimGroupMember>,
}
impl ScimGroup {
pub fn new(group_id: String, display_name: String, members: Vec<ScimGroupMember>) -> ScimGroup {
ScimGroup {
group_id,
display_name,
external_id_from_idp: None,
members,
}
}
}