use crate::models;
use serde::{Deserialize, Serialize};
#[serde_with::serde_as]
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GroupAuditLogEntryGroupUpdate {
#[serde(rename = "actorDisplayName")]
pub actor_display_name: String,
#[serde(rename = "actorId")]
pub actor_id: String,
#[serde(rename = "created_at")]
pub created_at: chrono::DateTime<chrono::FixedOffset>,
#[serde(rename = "description")]
pub description: String,
#[serde(rename = "eventType", default)]
pub event_type: EventType,
#[serde(rename = "groupId")]
pub group_id: String,
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "data")]
pub data: models::GroupAuditLogEntryDataGroupUpdate,
#[serde(rename = "targetId")]
pub target_id: String,
}
impl GroupAuditLogEntryGroupUpdate {
pub fn new(
actor_display_name: String,
actor_id: String,
created_at: chrono::DateTime<chrono::FixedOffset>,
description: String,
event_type: EventType,
group_id: String,
id: String,
data: models::GroupAuditLogEntryDataGroupUpdate,
target_id: String,
) -> GroupAuditLogEntryGroupUpdate {
GroupAuditLogEntryGroupUpdate {
actor_display_name,
actor_id,
created_at,
description,
event_type,
group_id,
id,
data,
target_id,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum EventType {
#[serde(rename = "group.update")]
GroupUpdate,
}
impl Default for EventType {
fn default() -> EventType {
Self::GroupUpdate
}
}