use crate::models;
use serde::{Deserialize, Serialize};
#[serde_with::serde_as]
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GroupAuditLogGroupInviteCancel {
#[serde(flatten)]
pub group_audit_log_base: models::GroupAuditLogBase,
#[serde(rename = "data")]
pub data: serde_json::Value,
#[serde(rename = "eventType", default)]
pub event_type: EventType,
#[serde(rename = "targetId")]
pub target_id: String,
}
impl GroupAuditLogGroupInviteCancel {
pub fn new(
group_audit_log_base: models::GroupAuditLogBase,
data: serde_json::Value,
event_type: EventType,
target_id: String,
) -> GroupAuditLogGroupInviteCancel {
GroupAuditLogGroupInviteCancel {
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.invite.cancel")]
GroupInviteCancel,
}
impl Default for EventType {
fn default() -> EventType {
Self::GroupInviteCancel
}
}