use crate::models;
use serde::{Deserialize, Serialize};
#[serde_with::serde_as]
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GroupAuditLogDataGroupCalendarEventDelete {
#[serde(flatten)]
pub group_audit_log_data_group_calendar_event_create:
models::GroupAuditLogDataGroupCalendarEventCreate,
#[serde(rename = "category")]
pub category: String,
#[serde(rename = "closeInstanceAfterEndMinutes")]
pub close_instance_after_end_minutes: i32,
#[serde(rename = "createdAt")]
pub created_at: chrono::DateTime<chrono::FixedOffset>,
#[serde(rename = "deletedAt", deserialize_with = "Option::deserialize")]
pub deleted_at: Option<chrono::DateTime<chrono::FixedOffset>>,
#[serde(rename = "durationInMs")]
pub duration_in_ms: i32,
#[serde(rename = "endsAt")]
pub ends_at: chrono::DateTime<chrono::FixedOffset>,
#[serde(rename = "featured")]
pub featured: bool,
#[serde(rename = "guestEarlyJoinMinutes")]
pub guest_early_join_minutes: i32,
#[serde(rename = "hostEarlyJoinMinutes")]
pub host_early_join_minutes: i32,
#[serde(rename = "interestedUserCount")]
pub interested_user_count: i32,
#[serde(rename = "isDraft")]
pub is_draft: bool,
#[serde(rename = "languages")]
pub languages: Vec<String>,
#[serde(rename = "occurrenceKind")]
pub occurrence_kind: models::CalendarEventOccurrenceKind,
#[serde(
rename = "occurrenceModified",
deserialize_with = "Option::deserialize"
)]
pub occurrence_modified: Option<String>,
#[serde(rename = "ownerId")]
pub owner_id: String,
#[serde(rename = "platforms")]
pub platforms: Vec<String>,
#[serde(rename = "recurrence", deserialize_with = "Option::deserialize")]
pub recurrence: Option<models::CalendarEventRecurrence>,
#[serde(rename = "roleIds", deserialize_with = "Option::deserialize")]
pub role_ids: Option<Vec<String>>,
#[serde(rename = "seriesId", deserialize_with = "Option::deserialize")]
pub series_id: Option<String>,
#[serde(rename = "shortCode", deserialize_with = "Option::deserialize")]
pub short_code: Option<String>,
#[serde(rename = "startsAt")]
pub starts_at: chrono::DateTime<chrono::FixedOffset>,
#[serde(rename = "tags")]
pub tags: Vec<String>,
#[serde(rename = "updatedAt")]
pub updated_at: chrono::DateTime<chrono::FixedOffset>,
#[serde(rename = "usesInstanceOverflow")]
pub uses_instance_overflow: bool,
}
impl GroupAuditLogDataGroupCalendarEventDelete {
pub fn new(
group_audit_log_data_group_calendar_event_create: models::GroupAuditLogDataGroupCalendarEventCreate,
category: String,
close_instance_after_end_minutes: i32,
created_at: chrono::DateTime<chrono::FixedOffset>,
deleted_at: Option<chrono::DateTime<chrono::FixedOffset>>,
duration_in_ms: i32,
ends_at: chrono::DateTime<chrono::FixedOffset>,
featured: bool,
guest_early_join_minutes: i32,
host_early_join_minutes: i32,
interested_user_count: i32,
is_draft: bool,
languages: Vec<String>,
occurrence_kind: models::CalendarEventOccurrenceKind,
occurrence_modified: Option<String>,
owner_id: String,
platforms: Vec<String>,
recurrence: Option<models::CalendarEventRecurrence>,
role_ids: Option<Vec<String>>,
series_id: Option<String>,
short_code: Option<String>,
starts_at: chrono::DateTime<chrono::FixedOffset>,
tags: Vec<String>,
updated_at: chrono::DateTime<chrono::FixedOffset>,
uses_instance_overflow: bool,
) -> GroupAuditLogDataGroupCalendarEventDelete {
GroupAuditLogDataGroupCalendarEventDelete {
group_audit_log_data_group_calendar_event_create,
category,
close_instance_after_end_minutes,
created_at,
deleted_at,
duration_in_ms,
ends_at,
featured,
guest_early_join_minutes,
host_early_join_minutes,
interested_user_count,
is_draft,
languages,
occurrence_kind,
occurrence_modified,
owner_id,
platforms,
recurrence,
role_ids,
series_id,
short_code,
starts_at,
tags,
updated_at,
uses_instance_overflow,
}
}
}