lemmy/crates/db_schema/src/source/private_message_report.rs
Nutomic 004efd5d94
Implement reports for private messages (#2433)
* 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
2022-09-19 22:58:42 +00:00

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,
}