use crate::models;
use serde::{Deserialize, Serialize};
#[serde_with::serde_as]
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GroupAuditLogEntryDataGroupGalleryCreate {
#[serde(rename = "description")]
pub description: String,
#[serde(rename = "membersOnly")]
pub members_only: bool,
#[serde(rename = "name")]
pub name: String,
#[serde(
rename = "roleIdsToAutoApprove",
deserialize_with = "Option::deserialize"
)]
pub role_ids_to_auto_approve: Option<Vec<String>>,
#[serde(rename = "roleIdsToManage", deserialize_with = "Option::deserialize")]
pub role_ids_to_manage: Option<Vec<String>>,
#[serde(rename = "roleIdsToSubmit", deserialize_with = "Option::deserialize")]
pub role_ids_to_submit: Option<Vec<String>>,
#[serde(rename = "roleIdsToView", deserialize_with = "Option::deserialize")]
pub role_ids_to_view: Option<Vec<String>>,
}
impl GroupAuditLogEntryDataGroupGalleryCreate {
pub fn new(
description: String,
members_only: bool,
name: String,
role_ids_to_auto_approve: Option<Vec<String>>,
role_ids_to_manage: Option<Vec<String>>,
role_ids_to_submit: Option<Vec<String>>,
role_ids_to_view: Option<Vec<String>>,
) -> GroupAuditLogEntryDataGroupGalleryCreate {
GroupAuditLogEntryDataGroupGalleryCreate {
description,
members_only,
name,
role_ids_to_auto_approve,
role_ids_to_manage,
role_ids_to_submit,
role_ids_to_view,
}
}
}