X-Git-Url: http://these/git/?a=blobdiff_plain;f=crates%2Fdb_schema%2Fsrc%2Fsource%2Fpost_report.rs;h=74e4186702e6e68866b3efdf052cc567a172eb51;hb=f7f6766650b9b573a72075e564aed353c0131cd7;hp=b75fb954a078cc1a6bc77b01d8a2836523d68298;hpb=3b64c58198ddc47305353432026312d1957a4848;p=lemmy.git diff --git a/crates/db_schema/src/source/post_report.rs b/crates/db_schema/src/source/post_report.rs index b75fb954..74e41867 100644 --- a/crates/db_schema/src/source/post_report.rs +++ b/crates/db_schema/src/source/post_report.rs @@ -1,32 +1,43 @@ -use crate::{schema::post_report, source::post::Post}; +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: i32, - pub creator_id: i32, - pub post_id: i32, + pub id: PostReportId, + pub creator_id: PersonId, + pub post_id: PostId, + /// The original post title. pub original_post_name: String, - pub original_post_url: Option, + /// The original post url. + pub original_post_url: Option, + /// The original post body. pub original_post_body: Option, pub reason: String, pub resolved: bool, - pub resolver_id: Option, + pub resolver_id: Option, pub published: chrono::NaiveDateTime, 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: i32, - pub post_id: i32, + pub creator_id: PersonId, + pub post_id: PostId, pub original_post_name: String, - pub original_post_url: Option, + pub original_post_url: Option, pub original_post_body: Option, pub reason: String, }