Add both (De)Serialize to all models (#1851)
authorTmpod <35771816+Tmpod@users.noreply.github.com>
Tue, 19 Oct 2021 16:37:01 +0000 (17:37 +0100)
committerGitHub <noreply@github.com>
Tue, 19 Oct 2021 16:37:01 +0000 (12:37 -0400)
47 files changed:
crates/api_common/src/comment.rs
crates/api_common/src/community.rs
crates/api_common/src/person.rs
crates/api_common/src/post.rs
crates/api_common/src/site.rs
crates/api_common/src/websocket.rs
crates/db_queries/src/aggregates/comment_aggregates.rs
crates/db_queries/src/aggregates/community_aggregates.rs
crates/db_queries/src/aggregates/person_aggregates.rs
crates/db_queries/src/aggregates/post_aggregates.rs
crates/db_queries/src/aggregates/site_aggregates.rs
crates/db_schema/src/source/comment.rs
crates/db_schema/src/source/community.rs
crates/db_schema/src/source/community_block.rs
crates/db_schema/src/source/local_user.rs
crates/db_schema/src/source/moderator.rs
crates/db_schema/src/source/person.rs
crates/db_schema/src/source/person_block.rs
crates/db_schema/src/source/person_mention.rs
crates/db_schema/src/source/post.rs
crates/db_schema/src/source/private_message.rs
crates/db_schema/src/source/site.rs
crates/db_views/src/comment_report_view.rs
crates/db_views/src/comment_view.rs
crates/db_views/src/local_user_view.rs
crates/db_views/src/post_report_view.rs
crates/db_views/src/post_view.rs
crates/db_views/src/private_message_view.rs
crates/db_views/src/site_view.rs
crates/db_views_actor/src/community_block_view.rs
crates/db_views_actor/src/community_follower_view.rs
crates/db_views_actor/src/community_moderator_view.rs
crates/db_views_actor/src/community_person_ban_view.rs
crates/db_views_actor/src/community_view.rs
crates/db_views_actor/src/person_block_view.rs
crates/db_views_actor/src/person_mention_view.rs
crates/db_views_actor/src/person_view.rs
crates/db_views_moderator/src/mod_add_community_view.rs
crates/db_views_moderator/src/mod_add_view.rs
crates/db_views_moderator/src/mod_ban_from_community_view.rs
crates/db_views_moderator/src/mod_ban_view.rs
crates/db_views_moderator/src/mod_lock_post_view.rs
crates/db_views_moderator/src/mod_remove_comment_view.rs
crates/db_views_moderator/src/mod_remove_community_view.rs
crates/db_views_moderator/src/mod_remove_post_view.rs
crates/db_views_moderator/src/mod_sticky_post_view.rs
crates/db_views_moderator/src/mod_transfer_community_view.rs

index 555640580ebd95aa9d4cadbd1667359467ed2580..2739b955589b70c80ef5e8432b54306072a2418c 100644 (file)
@@ -2,7 +2,7 @@ use lemmy_db_schema::{CommentId, CommentReportId, CommunityId, LocalUserId, Post
 use lemmy_db_views::{comment_report_view::CommentReportView, comment_view::CommentView};
 use serde::{Deserialize, Serialize};
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct CreateComment {
   pub content: String,
   pub post_id: PostId,
@@ -11,7 +11,7 @@ pub struct CreateComment {
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct EditComment {
   pub content: String,
   pub comment_id: CommentId,
@@ -19,14 +19,14 @@ pub struct EditComment {
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct DeleteComment {
   pub comment_id: CommentId,
   pub deleted: bool,
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct RemoveComment {
   pub comment_id: CommentId,
   pub removed: bool,
@@ -34,35 +34,35 @@ pub struct RemoveComment {
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct MarkCommentAsRead {
   pub comment_id: CommentId,
   pub read: bool,
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct SaveComment {
   pub comment_id: CommentId,
   pub save: bool,
   pub auth: String,
 }
 
-#[derive(Serialize, Clone)]
+#[derive(Serialize, Deserialize, Clone)]
 pub struct CommentResponse {
   pub comment_view: CommentView,
   pub recipient_ids: Vec<LocalUserId>,
   pub form_id: Option<String>, // An optional front end ID, to tell which is coming back
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct CreateCommentLike {
   pub comment_id: CommentId,
   pub score: i16,
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct GetComments {
   pub type_: Option<String>,
   pub sort: Option<String>,
@@ -74,31 +74,31 @@ pub struct GetComments {
   pub auth: Option<String>,
 }
 
-#[derive(Serialize)]
+#[derive(Serialize, Deserialize)]
 pub struct GetCommentsResponse {
   pub comments: Vec<CommentView>,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct CreateCommentReport {
   pub comment_id: CommentId,
   pub reason: String,
   pub auth: String,
 }
 
-#[derive(Serialize, Clone)]
+#[derive(Serialize, Deserialize, Clone)]
 pub struct CommentReportResponse {
   pub comment_report_view: CommentReportView,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct ResolveCommentReport {
   pub report_id: CommentReportId,
   pub resolved: bool,
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct ListCommentReports {
   pub page: Option<i64>,
   pub limit: Option<i64>,
@@ -109,7 +109,7 @@ pub struct ListCommentReports {
   pub auth: String,
 }
 
-#[derive(Serialize)]
+#[derive(Serialize, Deserialize)]
 pub struct ListCommentReportsResponse {
   pub comment_reports: Vec<CommentReportView>,
 }
index 68ba2ff68a7309cff63e3b763f79c5d270a8b3e0..eea4bc7b3917f2947c407b4f9c5ee1fc92e49f1c 100644 (file)
@@ -6,7 +6,7 @@ use lemmy_db_views_actor::{
 };
 use serde::{Deserialize, Serialize};
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct GetCommunity {
   pub id: Option<CommunityId>,
   /// Example: star_trek , or star_trek@xyz.tld
@@ -14,14 +14,14 @@ pub struct GetCommunity {
   pub auth: Option<String>,
 }
 
-#[derive(Serialize)]
+#[derive(Serialize, Deserialize)]
 pub struct GetCommunityResponse {
   pub community_view: CommunityView,
   pub moderators: Vec<CommunityModeratorView>,
   pub online: usize,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct CreateCommunity {
   pub name: String,
   pub title: String,
@@ -32,12 +32,12 @@ pub struct CreateCommunity {
   pub auth: String,
 }
 
-#[derive(Serialize, Clone)]
+#[derive(Serialize, Deserialize, Clone)]
 pub struct CommunityResponse {
   pub community_view: CommunityView,
 }
 
-#[derive(Deserialize, Debug)]
+#[derive(Serialize, Deserialize, Debug)]
 pub struct ListCommunities {
   pub type_: Option<String>,
   pub sort: Option<String>,
@@ -46,12 +46,12 @@ pub struct ListCommunities {
   pub auth: Option<String>,
 }
 
-#[derive(Serialize, Debug)]
+#[derive(Serialize, Deserialize, Debug)]
 pub struct ListCommunitiesResponse {
   pub communities: Vec<CommunityView>,
 }
 
-#[derive(Deserialize, Clone)]
+#[derive(Serialize, Deserialize, Clone)]
 pub struct BanFromCommunity {
   pub community_id: CommunityId,
   pub person_id: PersonId,
@@ -62,13 +62,13 @@ pub struct BanFromCommunity {
   pub auth: String,
 }
 
-#[derive(Serialize, Clone)]
+#[derive(Serialize, Deserialize, Clone)]
 pub struct BanFromCommunityResponse {
   pub person_view: PersonViewSafe,
   pub banned: bool,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct AddModToCommunity {
   pub community_id: CommunityId,
   pub person_id: PersonId,
@@ -76,12 +76,12 @@ pub struct AddModToCommunity {
   pub auth: String,
 }
 
-#[derive(Serialize, Clone)]
+#[derive(Serialize, Deserialize, Clone)]
 pub struct AddModToCommunityResponse {
   pub moderators: Vec<CommunityModeratorView>,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct EditCommunity {
   pub community_id: CommunityId,
   pub title: Option<String>,
@@ -92,14 +92,14 @@ pub struct EditCommunity {
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct DeleteCommunity {
   pub community_id: CommunityId,
   pub deleted: bool,
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct RemoveCommunity {
   pub community_id: CommunityId,
   pub removed: bool,
@@ -108,27 +108,27 @@ pub struct RemoveCommunity {
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct FollowCommunity {
   pub community_id: CommunityId,
   pub follow: bool,
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct BlockCommunity {
   pub community_id: CommunityId,
   pub block: bool,
   pub auth: String,
 }
 
-#[derive(Serialize, Clone)]
+#[derive(Serialize, Deserialize, Clone)]
 pub struct BlockCommunityResponse {
   pub community_view: CommunityView,
   pub blocked: bool,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct TransferCommunity {
   pub community_id: CommunityId,
   pub person_id: PersonId,
index af7212bac078d8c89c5088d807480a6f3fee89e3..ce0c1bf80cbd82e05ec6a178a437355aa82fd67c 100644 (file)
@@ -10,14 +10,14 @@ use lemmy_db_views_actor::{
 };
 use serde::{Deserialize, Serialize};
 
-#[derive(Deserialize, Debug)]
+#[derive(Serialize, Deserialize, Debug)]
 pub struct Login {
   pub username_or_email: String,
   pub password: String,
 }
 use lemmy_db_schema::{CommunityId, PersonId, PersonMentionId, PrivateMessageId};
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct Register {
   pub username: String,
   pub password: String,
@@ -29,22 +29,22 @@ pub struct Register {
   pub honeypot: Option<String>,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct GetCaptcha {}
 
-#[derive(Serialize)]
+#[derive(Serialize, Deserialize)]
 pub struct GetCaptchaResponse {
   pub ok: Option<CaptchaResponse>, // Will be None if captchas are disabled
 }
 
-#[derive(Serialize)]
+#[derive(Serialize, Deserialize)]
 pub struct CaptchaResponse {
   pub png: String, // A Base64 encoded png
   pub wav: String, // A Base64 encoded wav audio
   pub uuid: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct SaveUserSettings {
   pub show_nsfw: Option<bool>,
   pub show_scores: Option<bool>,
@@ -67,7 +67,7 @@ pub struct SaveUserSettings {
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct ChangePassword {
   pub new_password: String,
   pub new_password_verify: String,
@@ -75,12 +75,12 @@ pub struct ChangePassword {
   pub auth: String,
 }
 
-#[derive(Serialize)]
+#[derive(Serialize, Deserialize)]
 pub struct LoginResponse {
   pub jwt: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct GetPersonDetails {
   pub person_id: Option<PersonId>, // One of these two are required
   /// Example: dessalines , or dessalines@xyz.tld
@@ -93,7 +93,7 @@ pub struct GetPersonDetails {
   pub auth: Option<String>,
 }
 
-#[derive(Serialize)]
+#[derive(Serialize, Deserialize)]
 pub struct GetPersonDetailsResponse {
   pub person_view: PersonViewSafe,
   pub comments: Vec<CommentView>,
@@ -101,34 +101,34 @@ pub struct GetPersonDetailsResponse {
   pub moderates: Vec<CommunityModeratorView>,
 }
 
-#[derive(Serialize)]
+#[derive(Serialize, Deserialize)]
 pub struct GetRepliesResponse {
   pub replies: Vec<CommentView>,
 }
 
-#[derive(Serialize)]
+#[derive(Serialize, Deserialize)]
 pub struct GetPersonMentionsResponse {
   pub mentions: Vec<PersonMentionView>,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct MarkAllAsRead {
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct AddAdmin {
   pub person_id: PersonId,
   pub added: bool,
   pub auth: String,
 }
 
-#[derive(Serialize, Clone)]
+#[derive(Serialize, Deserialize, Clone)]
 pub struct AddAdminResponse {
   pub admins: Vec<PersonViewSafe>,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct BanPerson {
   pub person_id: PersonId,
   pub ban: bool,
@@ -138,26 +138,26 @@ pub struct BanPerson {
   pub auth: String,
 }
 
-#[derive(Serialize, Clone)]
+#[derive(Serialize, Deserialize, Clone)]
 pub struct BanPersonResponse {
   pub person_view: PersonViewSafe,
   pub banned: bool,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct BlockPerson {
   pub person_id: PersonId,
   pub block: bool,
   pub auth: String,
 }
 
-#[derive(Serialize, Clone)]
+#[derive(Serialize, Deserialize, Clone)]
 pub struct BlockPersonResponse {
   pub person_view: PersonViewSafe,
   pub blocked: bool,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct GetReplies {
   pub sort: Option<String>,
   pub page: Option<i64>,
@@ -166,7 +166,7 @@ pub struct GetReplies {
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct GetPersonMentions {
   pub sort: Option<String>,
   pub page: Option<i64>,
@@ -175,68 +175,68 @@ pub struct GetPersonMentions {
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct MarkPersonMentionAsRead {
   pub person_mention_id: PersonMentionId,
   pub read: bool,
   pub auth: String,
 }
 
-#[derive(Serialize, Clone)]
+#[derive(Serialize, Deserialize, Clone)]
 pub struct PersonMentionResponse {
   pub person_mention_view: PersonMentionView,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct DeleteAccount {
   pub password: String,
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct PasswordReset {
   pub email: String,
 }
 
-#[derive(Serialize, Clone)]
+#[derive(Serialize, Deserialize, Clone)]
 pub struct PasswordResetResponse {}
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct PasswordChange {
   pub token: String,
   pub password: String,
   pub password_verify: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct CreatePrivateMessage {
   pub content: String,
   pub recipient_id: PersonId,
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct EditPrivateMessage {
   pub private_message_id: PrivateMessageId,
   pub content: String,
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct DeletePrivateMessage {
   pub private_message_id: PrivateMessageId,
   pub deleted: bool,
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct MarkPrivateMessageAsRead {
   pub private_message_id: PrivateMessageId,
   pub read: bool,
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct GetPrivateMessages {
   pub unread_only: Option<bool>,
   pub page: Option<i64>,
@@ -244,35 +244,35 @@ pub struct GetPrivateMessages {
   pub auth: String,
 }
 
-#[derive(Serialize, Clone)]
+#[derive(Serialize, Deserialize, Clone)]
 pub struct PrivateMessagesResponse {
   pub private_messages: Vec<PrivateMessageView>,
 }
 
-#[derive(Serialize, Clone)]
+#[derive(Serialize, Deserialize, Clone)]
 pub struct PrivateMessageResponse {
   pub private_message_view: PrivateMessageView,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct GetReportCount {
   pub community_id: Option<CommunityId>,
   pub auth: String,
 }
 
-#[derive(Serialize, Clone)]
+#[derive(Serialize, Deserialize, Clone)]
 pub struct GetReportCountResponse {
   pub community_id: Option<CommunityId>,
   pub comment_reports: i64,
   pub post_reports: i64,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct GetUnreadCount {
   pub auth: String,
 }
 
-#[derive(Serialize, Clone)]
+#[derive(Serialize, Deserialize, Clone)]
 pub struct GetUnreadCountResponse {
   pub replies: i64,
   pub mentions: i64,
index a4e823bd8f9b3cad233daecc308427037f86e164..1a53ef5875ab0b06d7b497eb41dd5251d1d6f43d 100644 (file)
@@ -12,7 +12,7 @@ use lemmy_utils::request::SiteMetadata;
 use serde::{Deserialize, Serialize};
 use url::Url;
 
-#[derive(Deserialize, Debug)]
+#[derive(Serialize, Deserialize, Debug)]
 pub struct CreatePost {
   pub name: String,
   pub community_id: CommunityId,
@@ -23,18 +23,18 @@ pub struct CreatePost {
   pub auth: String,
 }
 
-#[derive(Serialize, Clone)]
+#[derive(Serialize, Deserialize, Clone)]
 pub struct PostResponse {
   pub post_view: PostView,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct GetPost {
   pub id: PostId,
   pub auth: Option<String>,
 }
 
-#[derive(Serialize)]
+#[derive(Serialize, Deserialize)]
 pub struct GetPostResponse {
   pub post_view: PostView,
   pub community_view: CommunityView,
@@ -43,7 +43,7 @@ pub struct GetPostResponse {
   pub online: usize,
 }
 
-#[derive(Deserialize, Debug)]
+#[derive(Serialize, Deserialize, Debug)]
 pub struct GetPosts {
   pub type_: Option<String>,
   pub sort: Option<String>,
@@ -55,19 +55,19 @@ pub struct GetPosts {
   pub auth: Option<String>,
 }
 
-#[derive(Serialize, Debug)]
+#[derive(Serialize, Deserialize, Debug)]
 pub struct GetPostsResponse {
   pub posts: Vec<PostView>,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct CreatePostLike {
   pub post_id: PostId,
   pub score: i16,
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct EditPost {
   pub post_id: PostId,
   pub name: Option<String>,
@@ -77,14 +77,14 @@ pub struct EditPost {
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct DeletePost {
   pub post_id: PostId,
   pub deleted: bool,
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct RemovePost {
   pub post_id: PostId,
   pub removed: bool,
@@ -92,47 +92,47 @@ pub struct RemovePost {
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct LockPost {
   pub post_id: PostId,
   pub locked: bool,
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct StickyPost {
   pub post_id: PostId,
   pub stickied: bool,
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct SavePost {
   pub post_id: PostId,
   pub save: bool,
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct CreatePostReport {
   pub post_id: PostId,
   pub reason: String,
   pub auth: String,
 }
 
-#[derive(Serialize, Clone)]
+#[derive(Serialize, Deserialize, Clone)]
 pub struct PostReportResponse {
   pub post_report_view: PostReportView,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct ResolvePostReport {
   pub report_id: PostReportId,
   pub resolved: bool,
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct ListPostReports {
   pub page: Option<i64>,
   pub limit: Option<i64>,
@@ -143,17 +143,17 @@ pub struct ListPostReports {
   pub auth: String,
 }
 
-#[derive(Serialize)]
+#[derive(Serialize, Deserialize)]
 pub struct ListPostReportsResponse {
   pub post_reports: Vec<PostReportView>,
 }
 
-#[derive(Deserialize, Debug)]
+#[derive(Serialize, Deserialize, Debug)]
 pub struct GetSiteMetadata {
   pub url: Url,
 }
 
-#[derive(Serialize, Clone, Debug)]
+#[derive(Serialize, Deserialize, Clone, Debug)]
 pub struct GetSiteMetadataResponse {
   pub metadata: SiteMetadata,
 }
index 03f86f3dc5cb814c50818d7c8221829801aa94eb..e1e75f9ea3c66759cf49f657e65643baa60e9a1a 100644 (file)
@@ -27,7 +27,7 @@ use lemmy_db_views_moderator::{
 };
 use serde::{Deserialize, Serialize};
 
-#[derive(Deserialize, Debug)]
+#[derive(Serialize, Deserialize, Debug)]
 pub struct Search {
   pub q: String,
   pub community_id: Option<CommunityId>,
@@ -41,7 +41,7 @@ pub struct Search {
   pub auth: Option<String>,
 }
 
-#[derive(Serialize, Debug)]
+#[derive(Serialize, Deserialize, Debug)]
 pub struct SearchResponse {
   pub type_: String,
   pub comments: Vec<CommentView>,
@@ -50,13 +50,13 @@ pub struct SearchResponse {
   pub users: Vec<PersonViewSafe>,
 }
 
-#[derive(Deserialize, Debug)]
+#[derive(Serialize, Deserialize, Debug)]
 pub struct ResolveObject {
   pub q: String,
   pub auth: Option<String>,
 }
 
-#[derive(Serialize, Default)]
+#[derive(Serialize, Deserialize, Default)]
 pub struct ResolveObjectResponse {
   pub comment: Option<CommentView>,
   pub post: Option<PostView>,
@@ -64,7 +64,7 @@ pub struct ResolveObjectResponse {
   pub person: Option<PersonViewSafe>,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct GetModlog {
   pub mod_person_id: Option<PersonId>,
   pub community_id: Option<CommunityId>,
@@ -72,7 +72,7 @@ pub struct GetModlog {
   pub limit: Option<i64>,
 }
 
-#[derive(Serialize)]
+#[derive(Serialize, Deserialize)]
 pub struct GetModlogResponse {
   pub removed_posts: Vec<ModRemovePostView>,
   pub locked_posts: Vec<ModLockPostView>,
@@ -86,7 +86,7 @@ pub struct GetModlogResponse {
   pub added: Vec<ModAddView>,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct CreateSite {
   pub name: String,
   pub sidebar: Option<String>,
@@ -100,7 +100,7 @@ pub struct CreateSite {
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct EditSite {
   pub name: Option<String>,
   pub sidebar: Option<String>,
@@ -114,17 +114,17 @@ pub struct EditSite {
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct GetSite {
   pub auth: Option<String>,
 }
 
-#[derive(Serialize, Clone)]
+#[derive(Serialize, Deserialize, Clone)]
 pub struct SiteResponse {
   pub site_view: SiteView,
 }
 
-#[derive(Serialize)]
+#[derive(Serialize, Deserialize)]
 pub struct GetSiteResponse {
   pub site_view: Option<SiteView>, // Because the site might not be set up yet
   pub admins: Vec<PersonViewSafe>,
@@ -135,7 +135,7 @@ pub struct GetSiteResponse {
   pub federated_instances: Option<FederatedInstances>, // Federation may be disabled
 }
 
-#[derive(Serialize)]
+#[derive(Serialize, Deserialize)]
 pub struct MyUserInfo {
   pub local_user_view: LocalUserSettingsView,
   pub follows: Vec<CommunityFollowerView>,
@@ -144,29 +144,29 @@ pub struct MyUserInfo {
   pub person_blocks: Vec<PersonBlockView>,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct TransferSite {
   pub person_id: PersonId,
   pub auth: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct GetSiteConfig {
   pub auth: String,
 }
 
-#[derive(Serialize)]
+#[derive(Serialize, Deserialize)]
 pub struct GetSiteConfigResponse {
   pub config_hjson: String,
 }
 
-#[derive(Deserialize)]
+#[derive(Serialize, Deserialize)]
 pub struct SaveSiteConfig {
   pub config_hjson: String,
   pub auth: String,
 }
 
-#[derive(Serialize)]
+#[derive(Serialize, Deserialize)]
 pub struct FederatedInstances {
   pub linked: Vec<String>,
   pub allowed: Option<Vec<String>>,
index c64a56c0440f6dd718428b0160f8dc51c99b97dc..f88819cdce77f4962bf6e93494f6e6686a7e471c 100644 (file)
@@ -1,42 +1,42 @@
 use lemmy_db_schema::{CommunityId, PostId};
 use serde::{Deserialize, Serialize};
 
-#[derive(Deserialize, Debug)]
+#[derive(Serialize, Deserialize, Debug)]
 pub struct UserJoin {
   pub auth: String,
 }
 
-#[derive(Serialize, Clone)]
+#[derive(Serialize, Deserialize, Clone)]
 pub struct UserJoinResponse {
   pub joined: bool,
 }
 
-#[derive(Deserialize, Debug)]
+#[derive(Serialize, Deserialize, Debug)]
 pub struct CommunityJoin {
   pub community_id: CommunityId,
 }
 
-#[derive(Serialize, Clone)]
+#[derive(Serialize, Deserialize, Clone)]
 pub struct CommunityJoinResponse {
   pub joined: bool,
 }
 
-#[derive(Deserialize, Debug)]
+#[derive(Serialize, Deserialize, Debug)]
 pub struct ModJoin {
   pub community_id: CommunityId,
 }
 
-#[derive(Serialize, Clone)]
+#[derive(Serialize, Deserialize, Clone)]
 pub struct ModJoinResponse {
   pub joined: bool,
 }
 
-#[derive(Deserialize, Debug)]
+#[derive(Serialize, Deserialize, Debug)]
 pub struct PostJoin {
   pub post_id: PostId,
 }
 
-#[derive(Serialize, Clone)]
+#[derive(Serialize, Deserialize, Clone)]
 pub struct PostJoinResponse {
   pub joined: bool,
 }
index 898c57da392e3b8b1eed89077e56629d9a1b10e5..4fbc646b186d06803d5e04bb7cdca0d997feed0e 100644 (file)
@@ -1,8 +1,10 @@
 use diesel::{result::Error, *};
 use lemmy_db_schema::{schema::comment_aggregates, CommentId};
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Queryable, Associations, Identifiable, PartialEq, Debug, Serialize, Clone)]
+#[derive(
+  Queryable, Associations, Identifiable, PartialEq, Debug, Serialize, Deserialize, Clone,
+)]
 #[table_name = "comment_aggregates"]
 pub struct CommentAggregates {
   pub id: i32,
index c668c15ac8a4fa50d1fe989e4a5cc2debad9cd39..d8865d409ab568fee966fdb9be265c92032ff362 100644 (file)
@@ -1,8 +1,10 @@
 use diesel::{result::Error, *};
 use lemmy_db_schema::{schema::community_aggregates, CommunityId};
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Queryable, Associations, Identifiable, PartialEq, Debug, Serialize, Clone)]
+#[derive(
+  Queryable, Associations, Identifiable, PartialEq, Debug, Serialize, Deserialize, Clone,
+)]
 #[table_name = "community_aggregates"]
 pub struct CommunityAggregates {
   pub id: i32,
index 56d72d38b076b974725b83d975936c887ddb56b5..16d480decf94ea0d29bef1ea100a7ba182cdb731 100644 (file)
@@ -1,8 +1,10 @@
 use diesel::{result::Error, *};
 use lemmy_db_schema::{schema::person_aggregates, PersonId};
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Queryable, Associations, Identifiable, PartialEq, Debug, Serialize, Clone)]
+#[derive(
+  Queryable, Associations, Identifiable, PartialEq, Debug, Serialize, Deserialize, Clone,
+)]
 #[table_name = "person_aggregates"]
 pub struct PersonAggregates {
   pub id: i32,
index 2fcb6f5d2132b8782d914cf94560c9566b1bbca2..323b55ab69492bf53adb5b0186971540ba0d6d97 100644 (file)
@@ -1,8 +1,10 @@
 use diesel::{result::Error, *};
 use lemmy_db_schema::{schema::post_aggregates, PostId};
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Queryable, Associations, Identifiable, PartialEq, Debug, Serialize, Clone)]
+#[derive(
+  Queryable, Associations, Identifiable, PartialEq, Debug, Serialize, Deserialize, Clone,
+)]
 #[table_name = "post_aggregates"]
 pub struct PostAggregates {
   pub id: i32,
index 109e4bd6554f50fcc78e7c5f1906b9e9194cd717..af0f7cb4d69c1d58dcd503d9f3786080b5c7d9d4 100644 (file)
@@ -1,8 +1,10 @@
 use diesel::{result::Error, *};
 use lemmy_db_schema::schema::site_aggregates;
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Queryable, Associations, Identifiable, PartialEq, Debug, Serialize, Clone)]
+#[derive(
+  Queryable, Associations, Identifiable, PartialEq, Debug, Serialize, Deserialize, Clone,
+)]
 #[table_name = "site_aggregates"]
 pub struct SiteAggregates {
   pub id: i32,
index 88c47d3a4171e5750b74a34152f09ebe19677123..63062d1dda08c661dd090d3e55866f9b9421b7ce 100644 (file)
@@ -10,7 +10,7 @@ use chrono::NaiveDateTime;
 use diesel::{ExpressionMethods, PgConnection, QueryDsl, RunQueryDsl};
 use lemmy_apub_lib::traits::ApubObject;
 use lemmy_utils::LemmyError;
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 use url::Url;
 
 // WITH RECURSIVE MyTree AS (
@@ -20,7 +20,9 @@ use url::Url;
 // )
 // SELECT * FROM MyTree;
 
-#[derive(Clone, Queryable, Associations, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(
+  Clone, Queryable, Associations, Identifiable, PartialEq, Debug, Serialize, Deserialize,
+)]
 #[belongs_to(Post)]
 #[table_name = "comment"]
 pub struct Comment {
@@ -38,7 +40,9 @@ pub struct Comment {
   pub local: bool,
 }
 
-#[derive(Clone, Queryable, Associations, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(
+  Clone, Queryable, Associations, Identifiable, PartialEq, Debug, Serialize, Deserialize,
+)]
 #[belongs_to(Post)]
 #[table_name = "comment_alias_1"]
 pub struct CommentAlias1 {
index 0018e3f024e32d53a3d86971b62d082e3f8f7672..f90bab13d67902b18b902b83bec3a3cc50b5b848 100644 (file)
@@ -8,10 +8,10 @@ use chrono::NaiveDateTime;
 use diesel::{ExpressionMethods, PgConnection, QueryDsl, RunQueryDsl};
 use lemmy_apub_lib::traits::{ActorType, ApubObject};
 use lemmy_utils::LemmyError;
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 use url::Url;
 
-#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize, Deserialize)]
 #[table_name = "community"]
 pub struct Community {
   pub id: CommunityId,
@@ -36,7 +36,7 @@ pub struct Community {
 }
 
 /// A safe representation of community, without the sensitive info
-#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize, Deserialize)]
 #[table_name = "community"]
 pub struct CommunitySafe {
   pub id: CommunityId,
index 6aa630b8bdfce9fa80a3b9c20dc409c368c78ab3..35dfbd8a9bf0cb369a0b2b1111d9b20fc384043b 100644 (file)
@@ -5,9 +5,11 @@ use crate::{
   CommunityId,
   PersonId,
 };
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Clone, Queryable, Associations, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(
+  Clone, Queryable, Associations, Identifiable, PartialEq, Debug, Serialize, Deserialize,
+)]
 #[table_name = "community_block"]
 #[belongs_to(Community)]
 pub struct CommunityBlock {
index df83e268feb104f27ce9f7d66c73c049c4693bec..d9fce8da911ac6f3514c35b7f83c8e00a65bbd1f 100644 (file)
@@ -1,7 +1,7 @@
 use crate::{schema::local_user, LocalUserId, PersonId};
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize, Deserialize)]
 #[table_name = "local_user"]
 pub struct LocalUser {
   pub id: LocalUserId,
@@ -43,7 +43,7 @@ pub struct LocalUserForm {
 }
 
 /// A local user view that removes password encrypted
-#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize, Deserialize)]
 #[table_name = "local_user"]
 pub struct LocalUserSettings {
   pub id: LocalUserId,
index 66889ae507bec1c163774e62acf47b7ed96b59b8..adde70351b21be36bf0c81a93c35265004c4949f 100644 (file)
@@ -16,9 +16,9 @@ use crate::{
   PersonId,
   PostId,
 };
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize, Deserialize)]
 #[table_name = "mod_remove_post"]
 pub struct ModRemovePost {
   pub id: i32,
@@ -38,7 +38,7 @@ pub struct ModRemovePostForm {
   pub removed: Option<bool>,
 }
 
-#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize, Deserialize)]
 #[table_name = "mod_lock_post"]
 pub struct ModLockPost {
   pub id: i32,
@@ -56,7 +56,7 @@ pub struct ModLockPostForm {
   pub locked: Option<bool>,
 }
 
-#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize, Deserialize)]
 #[table_name = "mod_sticky_post"]
 pub struct ModStickyPost {
   pub id: i32,
@@ -74,7 +74,7 @@ pub struct ModStickyPostForm {
   pub stickied: Option<bool>,
 }
 
-#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize, Deserialize)]
 #[table_name = "mod_remove_comment"]
 pub struct ModRemoveComment {
   pub id: i32,
@@ -94,7 +94,7 @@ pub struct ModRemoveCommentForm {
   pub removed: Option<bool>,
 }
 
-#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize, Deserialize)]
 #[table_name = "mod_remove_community"]
 pub struct ModRemoveCommunity {
   pub id: i32,
@@ -116,7 +116,7 @@ pub struct ModRemoveCommunityForm {
   pub expires: Option<chrono::NaiveDateTime>,
 }
 
-#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize, Deserialize)]
 #[table_name = "mod_ban_from_community"]
 pub struct ModBanFromCommunity {
   pub id: i32,
@@ -140,7 +140,7 @@ pub struct ModBanFromCommunityForm {
   pub expires: Option<chrono::NaiveDateTime>,
 }
 
-#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize, Deserialize)]
 #[table_name = "mod_ban"]
 pub struct ModBan {
   pub id: i32,
@@ -162,7 +162,7 @@ pub struct ModBanForm {
   pub expires: Option<chrono::NaiveDateTime>,
 }
 
-#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize, Deserialize)]
 #[table_name = "mod_add_community"]
 pub struct ModAddCommunity {
   pub id: i32,
@@ -182,7 +182,7 @@ pub struct ModAddCommunityForm {
   pub removed: Option<bool>,
 }
 
-#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize, Deserialize)]
 #[table_name = "mod_transfer_community"]
 pub struct ModTransferCommunity {
   pub id: i32,
@@ -202,7 +202,7 @@ pub struct ModTransferCommunityForm {
   pub removed: Option<bool>,
 }
 
-#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize, Deserialize)]
 #[table_name = "mod_add"]
 pub struct ModAdd {
   pub id: i32,
index 3b065b93634d67cab98ec1fa5521467a87e763fc..03fb821faba27dfdeb6fa940ee17ce70f40163f2 100644 (file)
@@ -7,10 +7,10 @@ use chrono::NaiveDateTime;
 use diesel::{ExpressionMethods, PgConnection, QueryDsl, RunQueryDsl};
 use lemmy_apub_lib::traits::{ActorType, ApubObject};
 use lemmy_utils::LemmyError;
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 use url::Url;
 
-#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize, Deserialize)]
 #[table_name = "person"]
 pub struct Person {
   pub id: PersonId,
@@ -36,7 +36,7 @@ pub struct Person {
 }
 
 /// A safe representation of person, without the sensitive info
-#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize, Deserialize)]
 #[table_name = "person"]
 pub struct PersonSafe {
   pub id: PersonId,
@@ -58,7 +58,7 @@ pub struct PersonSafe {
   pub bot_account: bool,
 }
 
-#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize, Deserialize)]
 #[table_name = "person_alias_1"]
 pub struct PersonAlias1 {
   pub id: PersonId,
@@ -83,7 +83,7 @@ pub struct PersonAlias1 {
   pub bot_account: bool,
 }
 
-#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize, Deserialize)]
 #[table_name = "person_alias_1"]
 pub struct PersonSafeAlias1 {
   pub id: PersonId,
@@ -105,7 +105,7 @@ pub struct PersonSafeAlias1 {
   pub bot_account: bool,
 }
 
-#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize, Deserialize)]
 #[table_name = "person_alias_2"]
 pub struct PersonAlias2 {
   pub id: PersonId,
@@ -130,7 +130,7 @@ pub struct PersonAlias2 {
   pub bot_account: bool,
 }
 
-#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize, Deserialize)]
 #[table_name = "person_alias_1"]
 pub struct PersonSafeAlias2 {
   pub id: PersonId,
index cedf7de18b1a8d38b2bad4c55b90427994c70927..c0ad15ca9379961e742968e4b5e8a482ffb56eb9 100644 (file)
@@ -1,7 +1,9 @@
 use crate::{schema::person_block, PersonBlockId, PersonId};
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Clone, Queryable, Associations, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(
+  Clone, Queryable, Associations, Identifiable, PartialEq, Debug, Serialize, Deserialize,
+)]
 #[table_name = "person_block"]
 pub struct PersonBlock {
   pub id: PersonBlockId,
index 61ed32b0bfec2efed34ba7878b85d9a61478b58c..d65a13b9d443772162af8ce35cc78aff93a16e48 100644 (file)
@@ -5,9 +5,11 @@ use crate::{
   PersonId,
   PersonMentionId,
 };
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Clone, Queryable, Associations, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(
+  Clone, Queryable, Associations, Identifiable, PartialEq, Debug, Serialize, Deserialize,
+)]
 #[belongs_to(Comment)]
 #[table_name = "person_mention"]
 pub struct PersonMention {
index c0c42c830283b4f373889b7351f82c43005ca56e..a09e88395a05a27229e117d4a60db8ce28c1e700 100644 (file)
@@ -9,10 +9,10 @@ use chrono::NaiveDateTime;
 use diesel::{ExpressionMethods, PgConnection, QueryDsl, RunQueryDsl};
 use lemmy_apub_lib::traits::ApubObject;
 use lemmy_utils::LemmyError;
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 use url::Url;
 
-#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize, Deserialize)]
 #[table_name = "post"]
 pub struct Post {
   pub id: PostId,
index a0d1b9d1062a9793709fc0195a96ca3749be421f..a867ce93e18b69b5e896cd17802b9d5d6d2a9ed4 100644 (file)
@@ -3,10 +3,12 @@ use chrono::NaiveDateTime;
 use diesel::{ExpressionMethods, PgConnection, QueryDsl, RunQueryDsl};
 use lemmy_apub_lib::traits::ApubObject;
 use lemmy_utils::LemmyError;
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 use url::Url;
 
-#[derive(Clone, Queryable, Associations, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(
+  Clone, Queryable, Associations, Identifiable, PartialEq, Debug, Serialize, Deserialize,
+)]
 #[table_name = "private_message"]
 pub struct PrivateMessage {
   pub id: PrivateMessageId,
index 19c41bf73303ca16c23950784b41375563a1d7f1..ec9dee84e4be5433b48e185434c42394c462d013 100644 (file)
@@ -1,7 +1,7 @@
 use crate::{schema::site, DbUrl, PersonId};
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Queryable, Identifiable, PartialEq, Debug, Clone, Serialize)]
+#[derive(Queryable, Identifiable, PartialEq, Debug, Clone, Serialize, Deserialize)]
 #[table_name = "site"]
 pub struct Site {
   pub id: i32,
index 682eaaa5a20e211031557fe84188745de6ac57a2..7c2f99579de86c341dde989ba4dcf2355e7b9dd4 100644 (file)
@@ -31,9 +31,9 @@ use lemmy_db_schema::{
   CommunityId,
   PersonId,
 };
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Debug, PartialEq, Serialize, Clone)]
+#[derive(Debug, PartialEq, Serialize, Deserialize, Clone)]
 pub struct CommentReportView {
   pub comment_report: CommentReport,
   pub comment: Comment,
index e61752805c9cb05e643891cf817842ddca9490a7..2468c6536a7b46d02efa5f92a42be465c49ff38a 100644 (file)
@@ -39,9 +39,9 @@ use lemmy_db_schema::{
   PersonId,
   PostId,
 };
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Debug, PartialEq, Serialize, Clone)]
+#[derive(Debug, PartialEq, Serialize, Deserialize, Clone)]
 pub struct CommentView {
   pub comment: Comment,
   pub creator: PersonSafe,
index 63dedb866e02e23d515e6fc7f408bdb2da6a56bc..0e4d872ac60c82f49169e90bf1dec3a1ea428191 100644 (file)
@@ -9,9 +9,9 @@ use lemmy_db_schema::{
   LocalUserId,
   PersonId,
 };
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Debug, Serialize, Clone)]
+#[derive(Debug, Serialize, Deserialize, Clone)]
 pub struct LocalUserView {
   pub local_user: LocalUser,
   pub person: Person,
@@ -117,7 +117,7 @@ impl LocalUserView {
   }
 }
 
-#[derive(Debug, Serialize, Clone)]
+#[derive(Debug, Serialize, Deserialize, Clone)]
 pub struct LocalUserSettingsView {
   pub local_user: LocalUserSettings,
   pub person: PersonSafe,
index de587c7c87b489c28a88c5e8452047c059fd7451..a8604ea9cdf3ce3b3f65b4df1917b74b13a4a240 100644 (file)
@@ -29,9 +29,9 @@ use lemmy_db_schema::{
   PersonId,
   PostReportId,
 };
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Debug, PartialEq, Serialize, Clone)]
+#[derive(Debug, PartialEq, Serialize, Deserialize, Clone)]
 pub struct PostReportView {
   pub post_report: PostReport,
   pub post: Post,
index dc55e6ece4f6170145ea8b590c03e5e35f84ef3f..f42a16599f0015528601951aff2fe775b0de957c 100644 (file)
@@ -36,9 +36,9 @@ use lemmy_db_schema::{
   PostId,
 };
 use log::debug;
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Debug, PartialEq, Serialize, Clone)]
+#[derive(Debug, PartialEq, Serialize, Deserialize, Clone)]
 pub struct PostView {
   pub post: Post,
   pub creator: PersonSafe,
index 86c1b79cb197a47b52948113abf9ffeb819b4785..7e322bbc71f5380c9b9d4a63a5c1a5b05c90da3a 100644 (file)
@@ -10,9 +10,9 @@ use lemmy_db_schema::{
   PrivateMessageId,
 };
 use log::debug;
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Debug, PartialEq, Serialize, Clone)]
+#[derive(Debug, PartialEq, Serialize, Deserialize, Clone)]
 pub struct PrivateMessageView {
   pub private_message: PrivateMessage,
   pub creator: PersonSafe,
index 87fded01b184ef27517f1fb6964f6a7e6f13349e..d0c2ee82df9c506e469759304282d1d1102f07b6 100644 (file)
@@ -7,9 +7,9 @@ use lemmy_db_schema::{
     site::Site,
   },
 };
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Debug, Serialize, Clone)]
+#[derive(Debug, Serialize, Deserialize, Clone)]
 pub struct SiteView {
   pub site: Site,
   pub creator: PersonSafe,
index 5e24bcaabb206fbf8bd4baa6270e1b80338a4347..3046b0c2dc26b1a3fddfaf7b48965b0ab6d2224c 100644 (file)
@@ -8,9 +8,9 @@ use lemmy_db_schema::{
   },
   PersonId,
 };
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Debug, Serialize, Clone)]
+#[derive(Debug, Serialize, Deserialize, Clone)]
 pub struct CommunityBlockView {
   pub person: PersonSafe,
   pub community: CommunitySafe,
index 73082419400a82d3a0dea9616f2f7bad4de9e8be..d3b11e4d265d6b949a74eaa7dfaa5cb7bc4325ec 100644 (file)
@@ -9,9 +9,9 @@ use lemmy_db_schema::{
   CommunityId,
   PersonId,
 };
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Debug, Serialize, Clone)]
+#[derive(Debug, Serialize, Deserialize, Clone)]
 pub struct CommunityFollowerView {
   pub community: CommunitySafe,
   pub follower: PersonSafe,
index 9ea1079356d0b9bc2bb86fa58dcdc4b5ba7d2f85..071fc107524df8dc1e109d9358e9d03885f4742e 100644 (file)
@@ -9,9 +9,9 @@ use lemmy_db_schema::{
   CommunityId,
   PersonId,
 };
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Debug, Serialize, Clone)]
+#[derive(Debug, Serialize, Deserialize, Clone)]
 pub struct CommunityModeratorView {
   pub community: CommunitySafe,
   pub moderator: PersonSafe,
index 4db967239ba7fe3584385670cf513bd9438c15ca..b085492116ca7acf4c0686674b5705872f4055a6 100644 (file)
@@ -9,9 +9,9 @@ use lemmy_db_schema::{
   CommunityId,
   PersonId,
 };
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Debug, Serialize, Clone)]
+#[derive(Debug, Serialize, Deserialize, Clone)]
 pub struct CommunityPersonBanView {
   pub community: CommunitySafe,
   pub person: PersonSafe,
index 8e64a5f9e588da1edf1436826d93e1212d70bf04..8ce3b7e6f111c6c2de7720353f3aaa8b934cc38a 100644 (file)
@@ -20,9 +20,9 @@ use lemmy_db_schema::{
   CommunityId,
   PersonId,
 };
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Debug, Serialize, Clone)]
+#[derive(Debug, Serialize, Deserialize, Clone)]
 pub struct CommunityView {
   pub community: CommunitySafe,
   pub subscribed: bool,
index 5eb18589b6b78f55d99594ea89bb7628faf61304..d4a52860389e50abdb3d8378c143a71017578d53 100644 (file)
@@ -5,9 +5,9 @@ use lemmy_db_schema::{
   source::person::{Person, PersonAlias1, PersonSafe, PersonSafeAlias1},
   PersonId,
 };
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Debug, Serialize, Clone)]
+#[derive(Debug, Serialize, Deserialize, Clone)]
 pub struct PersonBlockView {
   pub person: PersonSafe,
   pub target: PersonSafeAlias1,
index 0d3cfc837ac6c1dac7786beae95401dad0ee4add..1de01491f3f5418c2626b00a0f5b629de4bb41a2 100644 (file)
@@ -34,9 +34,9 @@ use lemmy_db_schema::{
   PersonId,
   PersonMentionId,
 };
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Debug, PartialEq, Serialize, Clone)]
+#[derive(Debug, PartialEq, Serialize, Deserialize, Clone)]
 pub struct PersonMentionView {
   pub person_mention: PersonMention,
   pub comment: Comment,
index 861d333fe83272475f58df9fbba9611a0dff3bd0..496ac672f9db3aee8ff7523595e5a5a68140c498 100644 (file)
@@ -13,9 +13,9 @@ use lemmy_db_schema::{
   source::person::{Person, PersonSafe},
   PersonId,
 };
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Debug, Serialize, Clone)]
+#[derive(Debug, Serialize, Deserialize, Clone)]
 pub struct PersonViewSafe {
   pub person: PersonSafe,
   pub counts: PersonAggregates,
index df56d8cb2dfb1c261a35bf561326a099e375b1aa..f5fe8af115d16dd5dcb0e8daaa80465ab89698a0 100644 (file)
@@ -10,9 +10,9 @@ use lemmy_db_schema::{
   CommunityId,
   PersonId,
 };
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Debug, Serialize, Clone)]
+#[derive(Debug, Serialize, Deserialize, Clone)]
 pub struct ModAddCommunityView {
   pub mod_add_community: ModAddCommunity,
   pub moderator: PersonSafe,
index d4b5746b6ddee0fb407e9fda73e02d315d22cc44..0ac915539a42c566097bf3faf61fd59def2673a8 100644 (file)
@@ -8,9 +8,9 @@ use lemmy_db_schema::{
   },
   PersonId,
 };
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Debug, Serialize, Clone)]
+#[derive(Debug, Serialize, Deserialize, Clone)]
 pub struct ModAddView {
   pub mod_add: ModAdd,
   pub moderator: PersonSafe,
index 82d336f17b4a2e9ceb3ecd6f16c740ffcbeb83bd..d67f82dfe7b1ce88ee65788db7fb568338733646 100644 (file)
@@ -10,9 +10,9 @@ use lemmy_db_schema::{
   CommunityId,
   PersonId,
 };
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Debug, Serialize, Clone)]
+#[derive(Debug, Serialize, Deserialize, Clone)]
 pub struct ModBanFromCommunityView {
   pub mod_ban_from_community: ModBanFromCommunity,
   pub moderator: PersonSafe,
index ff962977497cbd03313b5df9415abd10d48771a0..79a199cb0d1bfe6b22a71f37d4db14ee79154c59 100644 (file)
@@ -8,9 +8,9 @@ use lemmy_db_schema::{
   },
   PersonId,
 };
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Debug, Serialize, Clone)]
+#[derive(Debug, Serialize, Deserialize, Clone)]
 pub struct ModBanView {
   pub mod_ban: ModBan,
   pub moderator: PersonSafe,
index 2ce303ecbac6e5c268f618783c654424d337edd5..8774bfbd4bdc95f6f05acd735fe72955c0eac62a 100644 (file)
@@ -11,9 +11,9 @@ use lemmy_db_schema::{
   CommunityId,
   PersonId,
 };
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Debug, Serialize, Clone)]
+#[derive(Debug, Serialize, Deserialize, Clone)]
 pub struct ModLockPostView {
   pub mod_lock_post: ModLockPost,
   pub moderator: PersonSafe,
index 33b167b821d0c3fd699f888ae1baa2856b4a6d06..9cf9862e15f0e8fc5f86feb573be6c41eb032e7b 100644 (file)
@@ -12,9 +12,9 @@ use lemmy_db_schema::{
   CommunityId,
   PersonId,
 };
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Debug, Serialize, Clone)]
+#[derive(Debug, Serialize, Deserialize, Clone)]
 pub struct ModRemoveCommentView {
   pub mod_remove_comment: ModRemoveComment,
   pub moderator: PersonSafe,
index 34fd09828e06b546ed5742ddf41c6f38aeaeb18b..7196aec6b56f4423b53c3e113d4c1d82b8ef92e2 100644 (file)
@@ -9,9 +9,9 @@ use lemmy_db_schema::{
   },
   PersonId,
 };
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Debug, Serialize, Clone)]
+#[derive(Debug, Serialize, Deserialize, Clone)]
 pub struct ModRemoveCommunityView {
   pub mod_remove_community: ModRemoveCommunity,
   pub moderator: PersonSafe,
index ac34ff5ebff2401b0d3e07207f14d0ead816036a..d83f95b4605a2f3d3f743a560ff57601b759158b 100644 (file)
@@ -11,9 +11,9 @@ use lemmy_db_schema::{
   CommunityId,
   PersonId,
 };
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Debug, Serialize, Clone)]
+#[derive(Debug, Serialize, Deserialize, Clone)]
 pub struct ModRemovePostView {
   pub mod_remove_post: ModRemovePost,
   pub moderator: PersonSafe,
index 411cb57afb5b314ba68973c37f58c1213506abdc..f1dfcb144548412b73c4e567dc9463052087bb48 100644 (file)
@@ -11,9 +11,9 @@ use lemmy_db_schema::{
   CommunityId,
   PersonId,
 };
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Debug, Serialize, Clone)]
+#[derive(Debug, Serialize, Deserialize, Clone)]
 pub struct ModStickyPostView {
   pub mod_sticky_post: ModStickyPost,
   pub moderator: PersonSafe,
index 94c0abc7d4bedc4fe293d07267efb73b8796aff0..9fcc481be1ebe7bddf63e0c3b3789c193ee607d0 100644 (file)
@@ -10,9 +10,9 @@ use lemmy_db_schema::{
   CommunityId,
   PersonId,
 };
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Debug, Serialize, Clone)]
+#[derive(Debug, Serialize, Deserialize, Clone)]
 pub struct ModTransferCommunityView {
   pub mod_transfer_community: ModTransferCommunity,
   pub moderator: PersonSafe,