use crate::newtypes::{DbUrl, PersonId, PrivateMessageId}; use serde::{Deserialize, Serialize}; #[cfg(feature = "full")] use crate::schema::private_message; #[derive(Clone, PartialEq, Debug, Serialize, Deserialize)] #[cfg_attr(feature = "full", derive(Queryable, Associations, Identifiable))] #[cfg_attr(feature = "full", table_name = "private_message")] pub struct PrivateMessage { pub id: PrivateMessageId, pub creator_id: PersonId, pub recipient_id: PersonId, pub content: String, pub deleted: bool, pub read: bool, pub published: chrono::NaiveDateTime, pub updated: Option, pub ap_id: DbUrl, pub local: bool, } #[derive(Default)] #[cfg_attr(feature = "full", derive(Insertable, AsChangeset))] #[cfg_attr(feature = "full", table_name = "private_message")] pub struct PrivateMessageForm { pub creator_id: PersonId, pub recipient_id: PersonId, pub content: String, pub deleted: Option, pub read: Option, pub published: Option, pub updated: Option, pub ap_id: Option, pub local: Option, }