traq 0.1.5

⚠️ Community Driven ⚠️ traQ v3 API
Documentation
/*
 * traQ v3
 *
 * traQ v3 API
 *
 * The version of the OpenAPI document: 3.0
 *
 * Generated by: https://openapi-generator.tech
 */

/// UserGroup : ユーザーグループ

#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct UserGroup {
    /// グループUUID
    #[serde(rename = "id")]
    pub id: uuid::Uuid,
    /// グループ名
    #[serde(rename = "name")]
    pub name: String,
    /// グループ説明
    #[serde(rename = "description")]
    pub description: String,
    /// グループタイプ
    #[serde(rename = "type")]
    pub r#type: String,
    /// グループアイコンUUID
    #[serde(rename = "icon")]
    pub icon: uuid::Uuid,
    /// グループメンバーの配列
    #[serde(rename = "members")]
    pub members: Vec<crate::models::UserGroupMember>,
    /// 作成日時
    #[serde(rename = "createdAt")]
    pub created_at: String,
    /// 更新日時
    #[serde(rename = "updatedAt")]
    pub updated_at: String,
    /// グループ管理者のUUIDの配列
    #[serde(rename = "admins")]
    pub admins: Vec<uuid::Uuid>,
}

impl UserGroup {
    /// ユーザーグループ
    pub fn new(
        id: uuid::Uuid,
        name: String,
        description: String,
        r#type: String,
        icon: uuid::Uuid,
        members: Vec<crate::models::UserGroupMember>,
        created_at: String,
        updated_at: String,
        admins: Vec<uuid::Uuid>,
    ) -> UserGroup {
        UserGroup {
            id,
            name,
            description,
            r#type,
            icon,
            members,
            created_at,
            updated_at,
            admins,
        }
    }
}