use crate::models;
use serde::{Deserialize, Serialize};
#[serde_with::serde_as]
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GroupAuditLogEntryDataGroupPostCreate {
#[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 = "roleIds", deserialize_with = "Option::deserialize")]
pub role_ids: Option<Vec<String>>,
#[serde(rename = "sendNotification")]
pub send_notification: bool,
}
impl GroupAuditLogEntryDataGroupPostCreate {
pub fn new(
author_id: String,
image_id: Option<String>,
text: String,
title: String,
visibility: models::GroupPostVisibility,
role_ids: Option<Vec<String>>,
send_notification: bool,
) -> GroupAuditLogEntryDataGroupPostCreate {
GroupAuditLogEntryDataGroupPostCreate {
author_id,
image_id,
text,
title,
visibility,
role_ids,
send_notification,
}
}
}