use crate::models;
use serde::{Deserialize, Serialize};
#[serde_with::serde_as]
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GroupAuditLogGroupInstanceClose {
#[serde(flatten)]
pub group_audit_log_base: models::GroupAuditLogBase,
#[serde(rename = "data")]
pub data: models::GroupAuditLogDataGroupInstanceClose,
#[serde(rename = "eventType", default)]
pub event_type: EventType,
#[serde(rename = "targetId")]
pub target_id: String,
}
impl GroupAuditLogGroupInstanceClose {
pub fn new(
group_audit_log_base: models::GroupAuditLogBase,
data: models::GroupAuditLogDataGroupInstanceClose,
event_type: EventType,
target_id: String,
) -> GroupAuditLogGroupInstanceClose {
GroupAuditLogGroupInstanceClose {
group_audit_log_base,
data,
event_type,
target_id,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum EventType {
#[serde(rename = "group.instance.close")]
GroupInstanceClose,
}
impl Default for EventType {
fn default() -> EventType {
Self::GroupInstanceClose
}
}