use crate::models;
use serde::{Deserialize, Serialize};
#[serde_with::serde_as]
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GroupAuditLogEntryDataGroupPostDelete {
#[serde(rename = "authorId")]
pub author_id: String,
#[serde(rename = "imageId", deserialize_with = "Option::deserialize")]
pub image_id: Option<String>,
#[serde(rename = "text")]
pub text: String,
#[serde(rename = "title")]
pub title: String,
#[serde(rename = "visibility")]
pub visibility: models::GroupPostVisibility,
#[serde(rename = "createdAt")]
pub created_at: chrono::DateTime<chrono::FixedOffset>,
#[serde(rename = "editorId", deserialize_with = "Option::deserialize")]
pub editor_id: Option<String>,
#[serde(rename = "imageUrl", deserialize_with = "Option::deserialize")]
pub image_url: Option<String>,
#[serde(rename = "roleIds")]
pub role_ids: Vec<String>,
#[serde(rename = "updatedAt")]
pub updated_at: chrono::DateTime<chrono::FixedOffset>,
}
impl GroupAuditLogEntryDataGroupPostDelete {
pub fn new(
author_id: String,
image_id: Option<String>,
text: String,
title: String,
visibility: models::GroupPostVisibility,
created_at: chrono::DateTime<chrono::FixedOffset>,
editor_id: Option<String>,
image_url: Option<String>,
role_ids: Vec<String>,
updated_at: chrono::DateTime<chrono::FixedOffset>,
) -> GroupAuditLogEntryDataGroupPostDelete {
GroupAuditLogEntryDataGroupPostDelete {
author_id,
image_id,
text,
title,
visibility,
created_at,
editor_id,
image_url,
role_ids,
updated_at,
}
}
}