propelauth 0.23.5

A Rust crate for managing authentication and authorization with support for multi-tenant / B2B products, powered by PropelAuth
Documentation
/*
 * propelauth
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 0.1.0
 *
 * Generated by: https://openapi-generator.tech
 */

#[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,
        }
    }
}