X-Git-Url: http://these/git/?a=blobdiff_plain;f=crates%2Fdb_schema%2Fsrc%2Fsource%2Fpost_report.rs;h=74e4186702e6e68866b3efdf052cc567a172eb51;hb=f7f6766650b9b573a72075e564aed353c0131cd7;hp=a146a4bef5116b1409f9984cef4bae0a620a04b6;hpb=b18c744f637a1bfa51c13fcd6348b8136860c5f8;p=lemmy.git diff --git a/crates/db_schema/src/source/post_report.rs b/crates/db_schema/src/source/post_report.rs index a146a4be..74e41867 100644 --- a/crates/db_schema/src/source/post_report.rs +++ b/crates/db_schema/src/source/post_report.rs @@ -1,17 +1,27 @@ -use crate::{schema::post_report, source::post::Post, DbUrl, PersonId, PostId, PostReportId}; +use crate::newtypes::{DbUrl, PersonId, PostId, PostReportId}; +#[cfg(feature = "full")] +use crate::schema::post_report; use serde::{Deserialize, Serialize}; +use serde_with::skip_serializing_none; +#[cfg(feature = "full")] +use ts_rs::TS; -#[derive( - Identifiable, Queryable, Associations, PartialEq, Serialize, Deserialize, Debug, Clone, -)] -#[belongs_to(Post)] -#[table_name = "post_report"] +#[skip_serializing_none] +#[derive(PartialEq, Eq, Serialize, Deserialize, Debug, Clone)] +#[cfg_attr(feature = "full", derive(Identifiable, Queryable, Associations, TS))] +#[cfg_attr(feature = "full", diesel(belongs_to(crate::source::post::Post)))] // Is this the right assoc? +#[cfg_attr(feature = "full", diesel(table_name = post_report))] +#[cfg_attr(feature = "full", ts(export))] +/// A post report. pub struct PostReport { pub id: PostReportId, pub creator_id: PersonId, pub post_id: PostId, + /// The original post title. pub original_post_name: String, + /// The original post url. pub original_post_url: Option, + /// The original post body. pub original_post_body: Option, pub reason: String, pub resolved: bool, @@ -20,8 +30,9 @@ pub struct PostReport { pub updated: Option, } -#[derive(Insertable, AsChangeset, Clone)] -#[table_name = "post_report"] +#[derive(Clone, Default)] +#[cfg_attr(feature = "full", derive(Insertable, AsChangeset))] +#[cfg_attr(feature = "full", diesel(table_name = post_report))] pub struct PostReportForm { pub creator_id: PersonId, pub post_id: PostId,