use crate::models;
use serde::{Deserialize, Serialize};
#[serde_with::serde_as]
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GroupAuditLogGroupRequestBlock {
#[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 GroupAuditLogGroupRequestBlock {
pub fn new(
group_audit_log_base: models::GroupAuditLogBase,
data: serde_json::Value,
event_type: EventType,
target_id: String,
) -> GroupAuditLogGroupRequestBlock {
GroupAuditLogGroupRequestBlock {
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.request.block")]
GroupRequestBlock,
}
impl Default for EventType {
fn default() -> EventType {
Self::GroupRequestBlock
}
}