mirror of
https://github.com/LemmyNet/lemmy.git
synced 2024-06-16 12:20:32 +00:00
* Implement reports for private messages * finish private message report view + test * implement api for pm reports * merge list report api calls into one, move report count to site * fix compile error * Revert "merge list report api calls into one, move report count to site" This reverts commit 3bf3b06a705c6bcf2bf20d07e2819b81298790f3. * add websocket messages for pm report created/resolved * remove private_message_report_view * add joinable private_message_report -> person_alias_1 * Address review comments
35 lines
1.1 KiB
Rust
35 lines
1.1 KiB
Rust
use crate::newtypes::{PersonId, PrivateMessageId, PrivateMessageReportId};
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
#[cfg(feature = "full")]
|
|
use crate::schema::private_message_report;
|
|
|
|
#[derive(PartialEq, Serialize, Deserialize, Debug, Clone)]
|
|
#[cfg_attr(feature = "full", derive(Queryable, Associations, Identifiable))]
|
|
#[cfg_attr(
|
|
feature = "full",
|
|
belongs_to(crate::source::private_message::PrivateMessage)
|
|
)]
|
|
#[cfg_attr(feature = "full", table_name = "private_message_report")]
|
|
pub struct PrivateMessageReport {
|
|
pub id: PrivateMessageReportId,
|
|
pub creator_id: PersonId,
|
|
pub private_message_id: PrivateMessageId,
|
|
pub original_pm_text: String,
|
|
pub reason: String,
|
|
pub resolved: bool,
|
|
pub resolver_id: Option<PersonId>,
|
|
pub published: chrono::NaiveDateTime,
|
|
pub updated: Option<chrono::NaiveDateTime>,
|
|
}
|
|
|
|
#[derive(Clone)]
|
|
#[cfg_attr(feature = "full", derive(Insertable, AsChangeset))]
|
|
#[cfg_attr(feature = "full", table_name = "private_message_report")]
|
|
pub struct PrivateMessageReportForm {
|
|
pub creator_id: PersonId,
|
|
pub private_message_id: PrivateMessageId,
|
|
pub original_pm_text: String,
|
|
pub reason: String,
|
|
}
|