use crate::models;
use serde::{Deserialize, Serialize};
#[serde_with::serde_as]
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GroupAuditLogEntryDataGroupGalleryDelete {
#[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>>,
#[serde(rename = "createdAt")]
pub created_at: chrono::DateTime<chrono::FixedOffset>,
#[serde(rename = "updatedAt")]
pub updated_at: chrono::DateTime<chrono::FixedOffset>,
}
impl GroupAuditLogEntryDataGroupGalleryDelete {
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>>,
created_at: chrono::DateTime<chrono::FixedOffset>,
updated_at: chrono::DateTime<chrono::FixedOffset>,
) -> GroupAuditLogEntryDataGroupGalleryDelete {
GroupAuditLogEntryDataGroupGalleryDelete {
description,
members_only,
name,
role_ids_to_auto_approve,
role_ids_to_manage,
role_ids_to_submit,
role_ids_to_view,
created_at,
updated_at,
}
}
}