]> Untitled Git - lemmy.git/commitdiff
Merge branch 'main' into move_matrix_and_admin_to_person
authorDessalines <tyhou13@gmx.com>
Tue, 23 Mar 2021 18:16:54 +0000 (14:16 -0400)
committerDessalines <tyhou13@gmx.com>
Tue, 23 Mar 2021 18:16:54 +0000 (14:16 -0400)
41 files changed:
crates/api/src/comment.rs
crates/api/src/community.rs
crates/api/src/lib.rs
crates/api/src/local_user.rs
crates/api/src/post.rs
crates/api_structs/src/community.rs
crates/apub/src/objects/comment.rs
crates/apub/src/objects/community.rs
crates/apub/src/objects/person.rs
crates/apub/src/objects/post.rs
crates/apub/src/objects/private_message.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_queries/src/source/activity.rs
crates/db_queries/src/source/comment.rs
crates/db_queries/src/source/community.rs
crates/db_queries/src/source/local_user.rs
crates/db_queries/src/source/moderator.rs
crates/db_queries/src/source/password_reset_request.rs
crates/db_queries/src/source/person.rs
crates/db_queries/src/source/person_mention.rs
crates/db_queries/src/source/post.rs
crates/db_queries/src/source/private_message.rs
crates/db_schema/src/lib.rs
crates/db_schema/src/schema.rs
crates/db_schema/src/source/activity.rs
crates/db_schema/src/source/comment.rs
crates/db_schema/src/source/community.rs
crates/db_schema/src/source/local_user.rs
crates/db_schema/src/source/person.rs
crates/db_schema/src/source/post.rs
crates/db_schema/src/source/private_message.rs
crates/db_views/src/comment_view.rs
crates/db_views/src/post_view.rs
crates/db_views_actor/src/person_view.rs
migrations/2021-03-20-185321_move_matrix_id_to_person/down.sql [new file with mode: 0644]
migrations/2021-03-20-185321_move_matrix_id_to_person/up.sql [new file with mode: 0644]
src/code_migrations.rs

index bcee72b0942a45dcb7224b6881df1401c614f01c..78bb484f9d0ece58590ff37a62c80d48d31421ee 100644 (file)
@@ -85,13 +85,7 @@ impl Perform for CreateComment {
       parent_id: data.parent_id.to_owned(),
       post_id: data.post_id,
       creator_id: local_user_view.person.id,
-      removed: None,
-      deleted: None,
-      read: None,
-      published: None,
-      updated: None,
-      ap_id: None,
-      local: true,
+      ..CommentForm::default()
     };
 
     // Create the comment
index f6ecbf1255df3678fb63477eb9d93d348d431ae6..cce4dfbcc43d3e82931e163b69e49922b1a5b312 100644 (file)
@@ -168,19 +168,14 @@ impl Perform for CreateCommunity {
       icon,
       banner,
       creator_id: local_user_view.person.id,
-      removed: None,
-      deleted: None,
       nsfw: data.nsfw,
-      updated: None,
       actor_id: Some(community_actor_id.to_owned()),
-      local: true,
       private_key: Some(keypair.private_key),
       public_key: Some(keypair.public_key),
-      last_refreshed_at: None,
-      published: None,
       followers_url: Some(generate_followers_url(&community_actor_id)?),
       inbox_url: Some(generate_inbox_url(&community_actor_id)?),
       shared_inbox_url: Some(Some(generate_shared_inbox_url(&community_actor_id)?)),
+      ..CommunityForm::default()
     };
 
     let inserted_community = match blocking(context.pool(), move |conn| {
@@ -263,23 +258,13 @@ impl Perform for EditCommunity {
     let community_form = CommunityForm {
       name: read_community.name,
       title: data.title.to_owned(),
+      creator_id: read_community.creator_id,
       description: data.description.to_owned(),
       icon,
       banner,
-      creator_id: read_community.creator_id,
-      removed: Some(read_community.removed),
-      deleted: Some(read_community.deleted),
       nsfw: data.nsfw,
       updated: Some(naive_now()),
-      actor_id: Some(read_community.actor_id),
-      local: read_community.local,
-      private_key: read_community.private_key,
-      public_key: read_community.public_key,
-      last_refreshed_at: None,
-      published: None,
-      followers_url: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..CommunityForm::default()
     };
 
     let community_id = data.community_id;
index 529a13cfdc7605b6b45a8fc76a5ef5a4491eca48..dacf46f2ba707109594180fab7df9dfce2db5edf 100644 (file)
@@ -79,7 +79,7 @@ pub(crate) async fn is_mod_or_admin(
 }
 
 pub fn is_admin(local_user_view: &LocalUserView) -> Result<(), LemmyError> {
-  if !local_user_view.local_user.admin {
+  if !local_user_view.person.admin {
     return Err(ApiError::err("not_an_admin").into());
   }
   Ok(())
@@ -528,38 +528,15 @@ mod tests {
 
     let new_person = PersonForm {
       name: "Gerry9812".into(),
-      preferred_username: None,
-      avatar: None,
-      banner: None,
-      banned: None,
-      deleted: None,
-      published: None,
-      updated: None,
-      actor_id: None,
-      bio: None,
-      local: None,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..PersonForm::default()
     };
 
     let inserted_person = Person::create(&conn, &new_person).unwrap();
 
     let local_user_form = LocalUserForm {
       person_id: inserted_person.id,
-      email: None,
-      matrix_user_id: None,
       password_encrypted: "123456".to_string(),
-      admin: None,
-      show_nsfw: None,
-      theme: None,
-      default_sort_type: None,
-      default_listing_type: None,
-      lang: None,
-      show_avatars: None,
-      send_notifications_to_email: None,
+      ..LocalUserForm::default()
     };
 
     let inserted_local_user = LocalUser::create(&conn, &local_user_form).unwrap();
index 6aa8b26c96faa4c24563e67e19f52ac4f56a2fc9..20e7ff979545232a5dbddfa7a7e5719fc6d5b7f6 100644 (file)
@@ -199,21 +199,13 @@ impl Perform for Register {
     // Register the new person
     let person_form = PersonForm {
       name: data.username.to_owned(),
-      avatar: None,
-      banner: None,
-      preferred_username: None,
-      published: None,
-      updated: None,
-      banned: None,
-      deleted: None,
       actor_id: Some(actor_id.clone()),
-      bio: None,
-      local: Some(true),
       private_key: Some(Some(actor_keypair.private_key)),
       public_key: Some(Some(actor_keypair.public_key)),
-      last_refreshed_at: None,
       inbox_url: Some(generate_inbox_url(&actor_id)?),
       shared_inbox_url: Some(Some(generate_shared_inbox_url(&actor_id)?)),
+      admin: Some(no_admins),
+      ..PersonForm::default()
     };
 
     // insert the person
@@ -232,9 +224,7 @@ impl Perform for Register {
     let local_user_form = LocalUserForm {
       person_id: inserted_person.id,
       email: Some(data.email.to_owned()),
-      matrix_user_id: None,
       password_encrypted: data.password.to_owned(),
-      admin: Some(no_admins),
       show_nsfw: Some(data.show_nsfw),
       theme: Some("browser".into()),
       default_sort_type: Some(SortType::Active as i16),
@@ -285,22 +275,14 @@ impl Perform for Register {
           name: default_community_name.to_string(),
           title: "The Default Community".to_string(),
           description: Some("The Default Community".to_string()),
-          nsfw: false,
           creator_id: inserted_person.id,
-          removed: None,
-          deleted: None,
-          updated: None,
           actor_id: Some(actor_id.to_owned()),
-          local: true,
           private_key: Some(main_community_keypair.private_key),
           public_key: Some(main_community_keypair.public_key),
-          last_refreshed_at: None,
-          published: None,
-          icon: None,
-          banner: None,
           followers_url: Some(generate_followers_url(&actor_id)?),
           inbox_url: Some(generate_inbox_url(&actor_id)?),
           shared_inbox_url: Some(Some(generate_shared_inbox_url(&actor_id)?)),
+          ..CommunityForm::default()
         };
         blocking(context.pool(), move |conn| {
           Community::create(conn, &community_form)
@@ -473,10 +455,12 @@ impl Perform for SaveUserSettings {
       actor_id: None,
       bio,
       local: None,
+      admin: None,
       private_key: None,
       public_key: None,
       last_refreshed_at: None,
       shared_inbox_url: None,
+      matrix_user_id,
     };
 
     let person_res = blocking(context.pool(), move |conn| {
@@ -493,9 +477,7 @@ impl Perform for SaveUserSettings {
     let local_user_form = LocalUserForm {
       person_id,
       email,
-      matrix_user_id,
       password_encrypted,
-      admin: None,
       show_nsfw: data.show_nsfw,
       theme: data.theme.to_owned(),
       default_sort_type,
@@ -657,7 +639,7 @@ impl Perform for AddAdmin {
     let added = data.added;
     let added_person_id = data.person_id;
     let added_admin = match blocking(context.pool(), move |conn| {
-      LocalUser::add_admin(conn, added_person_id, added)
+      Person::add_admin(conn, added_person_id, added)
     })
     .await?
     {
@@ -670,7 +652,7 @@ impl Perform for AddAdmin {
     // Mod tables
     let form = ModAddForm {
       mod_person_id: local_user_view.person.id,
-      other_person_id: added_admin.person_id,
+      other_person_id: added_admin.id,
       removed: Some(!data.added),
     };
 
@@ -1102,12 +1084,7 @@ impl Perform for CreatePrivateMessage {
       content: content_slurs_removed.to_owned(),
       creator_id: local_user_view.person.id,
       recipient_id: data.recipient_id,
-      deleted: None,
-      read: None,
-      updated: None,
-      ap_id: None,
-      local: true,
-      published: None,
+      ..PrivateMessageForm::default()
     };
 
     let inserted_private_message = match blocking(context.pool(), move |conn| {
index bbc3e04bb0e9497e7fd4bc74bbacee908042c7b1..e76cfa18f644513e0c2e4ee248f31f22374fcf89 100644 (file)
@@ -82,19 +82,12 @@ impl Perform for CreatePost {
       body: data.body.to_owned(),
       community_id: data.community_id,
       creator_id: local_user_view.person.id,
-      removed: None,
-      deleted: None,
       nsfw: data.nsfw,
-      locked: None,
-      stickied: None,
-      updated: None,
       embed_title: iframely_title,
       embed_description: iframely_description,
       embed_html: iframely_html,
       thumbnail_url: pictrs_thumbnail.map(|u| u.into()),
-      ap_id: None,
-      local: true,
-      published: None,
+      ..PostForm::default()
     };
 
     let inserted_post =
@@ -402,24 +395,18 @@ impl Perform for EditPost {
       fetch_iframely_and_pictrs_data(context.client(), data_url).await;
 
     let post_form = PostForm {
+      creator_id: orig_post.creator_id.to_owned(),
+      community_id: orig_post.community_id,
       name: data.name.trim().to_owned(),
       url: data_url.map(|u| u.to_owned().into()),
       body: data.body.to_owned(),
       nsfw: data.nsfw,
-      creator_id: orig_post.creator_id.to_owned(),
-      community_id: orig_post.community_id,
-      removed: Some(orig_post.removed),
-      deleted: Some(orig_post.deleted),
-      locked: Some(orig_post.locked),
-      stickied: Some(orig_post.stickied),
       updated: Some(naive_now()),
       embed_title: iframely_title,
       embed_description: iframely_description,
       embed_html: iframely_html,
       thumbnail_url: pictrs_thumbnail.map(|u| u.into()),
-      ap_id: Some(orig_post.ap_id),
-      local: orig_post.local,
-      published: None,
+      ..PostForm::default()
     };
 
     let post_id = data.post_id;
index bd0e129dc7f9b8374166b6fe6857a0d4521ba990..a034404471f0556cf3d4e838051cd2efe8daeec9 100644 (file)
@@ -28,7 +28,7 @@ pub struct CreateCommunity {
   pub description: Option<String>,
   pub icon: Option<String>,
   pub banner: Option<String>,
-  pub nsfw: bool,
+  pub nsfw: Option<bool>,
   pub auth: String,
 }
 
@@ -88,7 +88,7 @@ pub struct EditCommunity {
   pub description: Option<String>,
   pub icon: Option<String>,
   pub banner: Option<String>,
-  pub nsfw: bool,
+  pub nsfw: Option<bool>,
   pub auth: String,
 }
 
index cc1d9f0364b7a50c850e9c01f7d5e11aef94f7bb..b09d4f42d07872399f6ec92d165dfc63c7332383 100644 (file)
@@ -181,7 +181,7 @@ impl FromApubToForm<NoteExt> for CommentForm {
       updated: note.updated().map(|u| u.to_owned().naive_local()),
       deleted: None,
       ap_id: Some(check_object_domain(note, expected_domain)?),
-      local: false,
+      local: Some(false),
     })
   }
 }
index 936938130fc3ad5341a8db3f26a417ce720d038d..a4c0d6c34d81f7e2e46eeea2f70822a48f53872d 100644 (file)
@@ -205,9 +205,9 @@ impl FromApubToForm<GroupExt> for CommunityForm {
       published: group.inner.published().map(|u| u.to_owned().naive_local()),
       updated: group.inner.updated().map(|u| u.to_owned().naive_local()),
       deleted: None,
-      nsfw: group.ext_one.sensitive.unwrap_or(false),
+      nsfw: Some(group.ext_one.sensitive.unwrap_or(false)),
       actor_id: Some(check_object_domain(group, expected_domain)?),
-      local: false,
+      local: Some(false),
       private_key: None,
       public_key: Some(group.ext_two.to_owned().public_key.public_key_pem),
       last_refreshed_at: Some(naive_now()),
index de45aedd3ffffa7eef9a69fcc9cebbe490a3c774..c8e3a35017dc148b1ac1be70097bb85922c62bc6 100644 (file)
@@ -182,11 +182,13 @@ impl FromApubToForm<PersonExt> for PersonForm {
       actor_id: Some(check_object_domain(person, expected_domain)?),
       bio: Some(bio),
       local: Some(false),
+      admin: Some(false),
       private_key: None,
       public_key: Some(Some(person.ext_one.public_key.to_owned().public_key_pem)),
       last_refreshed_at: Some(naive_now()),
       inbox_url: Some(person.inner.inbox()?.to_owned().into()),
       shared_inbox_url: Some(shared_inbox),
+      matrix_user_id: None, // TODO
     })
   }
 }
index 776946cbdceec6afae927ad85c8a6990f17cd037..8f01218a90e945ff2899a5c533aa290816c19dcd 100644 (file)
@@ -217,7 +217,7 @@ impl FromApubToForm<PageExt> for PostForm {
       embed_html: iframely_html,
       thumbnail_url: pictrs_thumbnail.map(|u| u.into()),
       ap_id: Some(check_object_domain(page, expected_domain)?),
-      local: false,
+      local: Some(false),
     })
   }
 }
index d8c0077cf50ce48c8dafa8f83fdf4d18810f3339..b332446f577cd379faf768be9ecd476fcc213c96 100644 (file)
@@ -121,7 +121,7 @@ impl FromApubToForm<NoteExt> for PrivateMessageForm {
       deleted: None,
       read: None,
       ap_id: Some(check_object_domain(note, expected_domain)?),
-      local: false,
+      local: Some(false),
     })
   }
 }
index c55fef0ca7f781a0dea1675b349a7d60e84d473b..a2bea11efaf325f1e66430e93c2dbe608ccef242 100644 (file)
@@ -44,42 +44,14 @@ mod tests {
 
     let new_person = PersonForm {
       name: "thommy_comment_agg".into(),
-      preferred_username: None,
-      avatar: None,
-      banner: None,
-      banned: None,
-      deleted: None,
-      published: None,
-      updated: None,
-      actor_id: None,
-      bio: None,
-      local: None,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..PersonForm::default()
     };
 
     let inserted_person = Person::create(&conn, &new_person).unwrap();
 
     let another_person = PersonForm {
       name: "jerry_comment_agg".into(),
-      preferred_username: None,
-      avatar: None,
-      banner: None,
-      banned: None,
-      deleted: None,
-      published: None,
-      updated: None,
-      actor_id: None,
-      bio: None,
-      local: None,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..PersonForm::default()
     };
 
     let another_inserted_person = Person::create(&conn, &another_person).unwrap();
@@ -88,45 +60,16 @@ mod tests {
       name: "TIL_comment_agg".into(),
       creator_id: inserted_person.id,
       title: "nada".to_owned(),
-      description: None,
-      nsfw: false,
-      removed: None,
-      deleted: None,
-      updated: None,
-      actor_id: None,
-      local: true,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      published: None,
-      icon: None,
-      banner: None,
-      followers_url: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..CommunityForm::default()
     };
 
     let inserted_community = Community::create(&conn, &new_community).unwrap();
 
     let new_post = PostForm {
       name: "A test post".into(),
-      url: None,
-      body: None,
       creator_id: inserted_person.id,
       community_id: inserted_community.id,
-      removed: None,
-      deleted: None,
-      locked: None,
-      stickied: None,
-      nsfw: false,
-      updated: None,
-      embed_title: None,
-      embed_description: None,
-      embed_html: None,
-      thumbnail_url: None,
-      ap_id: None,
-      local: true,
-      published: None,
+      ..PostForm::default()
     };
 
     let inserted_post = Post::create(&conn, &new_post).unwrap();
@@ -135,14 +78,7 @@ mod tests {
       content: "A test comment".into(),
       creator_id: inserted_person.id,
       post_id: inserted_post.id,
-      removed: None,
-      deleted: None,
-      read: None,
-      parent_id: None,
-      published: None,
-      updated: None,
-      ap_id: None,
-      local: true,
+      ..CommentForm::default()
     };
 
     let inserted_comment = Comment::create(&conn, &comment_form).unwrap();
@@ -151,14 +87,8 @@ mod tests {
       content: "A test comment".into(),
       creator_id: inserted_person.id,
       post_id: inserted_post.id,
-      removed: None,
-      deleted: None,
-      read: None,
       parent_id: Some(inserted_comment.id),
-      published: None,
-      updated: None,
-      ap_id: None,
-      local: true,
+      ..CommentForm::default()
     };
 
     let _inserted_child_comment = Comment::create(&conn, &child_comment_form).unwrap();
index bbe751ae5cde71478af7ab2d95b8b92369bf4384..25c0b394e22024b81c49d736bfdd494bde9728bc 100644 (file)
@@ -48,42 +48,14 @@ mod tests {
 
     let new_person = PersonForm {
       name: "thommy_community_agg".into(),
-      preferred_username: None,
-      avatar: None,
-      banner: None,
-      banned: None,
-      deleted: None,
-      published: None,
-      updated: None,
-      actor_id: None,
-      bio: None,
-      local: None,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..PersonForm::default()
     };
 
     let inserted_person = Person::create(&conn, &new_person).unwrap();
 
     let another_person = PersonForm {
       name: "jerry_community_agg".into(),
-      preferred_username: None,
-      avatar: None,
-      banner: None,
-      banned: None,
-      deleted: None,
-      published: None,
-      updated: None,
-      actor_id: None,
-      bio: None,
-      local: None,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..PersonForm::default()
     };
 
     let another_inserted_person = Person::create(&conn, &another_person).unwrap();
@@ -92,22 +64,7 @@ mod tests {
       name: "TIL_community_agg".into(),
       creator_id: inserted_person.id,
       title: "nada".to_owned(),
-      description: None,
-      nsfw: false,
-      removed: None,
-      deleted: None,
-      updated: None,
-      actor_id: None,
-      local: true,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      published: None,
-      icon: None,
-      banner: None,
-      followers_url: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..CommunityForm::default()
     };
 
     let inserted_community = Community::create(&conn, &new_community).unwrap();
@@ -116,22 +73,7 @@ mod tests {
       name: "TIL_community_agg_2".into(),
       creator_id: inserted_person.id,
       title: "nada".to_owned(),
-      description: None,
-      nsfw: false,
-      removed: None,
-      deleted: None,
-      updated: None,
-      actor_id: None,
-      local: true,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      published: None,
-      icon: None,
-      banner: None,
-      followers_url: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..CommunityForm::default()
     };
 
     let another_inserted_community = Community::create(&conn, &another_community).unwrap();
@@ -162,23 +104,9 @@ mod tests {
 
     let new_post = PostForm {
       name: "A test post".into(),
-      url: None,
-      body: None,
       creator_id: inserted_person.id,
       community_id: inserted_community.id,
-      removed: None,
-      deleted: None,
-      locked: None,
-      stickied: None,
-      nsfw: false,
-      updated: None,
-      embed_title: None,
-      embed_description: None,
-      embed_html: None,
-      thumbnail_url: None,
-      ap_id: None,
-      local: true,
-      published: None,
+      ..PostForm::default()
     };
 
     let inserted_post = Post::create(&conn, &new_post).unwrap();
@@ -187,14 +115,7 @@ mod tests {
       content: "A test comment".into(),
       creator_id: inserted_person.id,
       post_id: inserted_post.id,
-      removed: None,
-      deleted: None,
-      read: None,
-      parent_id: None,
-      published: None,
-      updated: None,
-      ap_id: None,
-      local: true,
+      ..CommentForm::default()
     };
 
     let inserted_comment = Comment::create(&conn, &comment_form).unwrap();
@@ -203,14 +124,8 @@ mod tests {
       content: "A test comment".into(),
       creator_id: inserted_person.id,
       post_id: inserted_post.id,
-      removed: None,
-      deleted: None,
-      read: None,
       parent_id: Some(inserted_comment.id),
-      published: None,
-      updated: None,
-      ap_id: None,
-      local: true,
+      ..CommentForm::default()
     };
 
     let _inserted_child_comment = Comment::create(&conn, &child_comment_form).unwrap();
index c1082c4b6cb0a08905c7363d38f169a1900ac070..953f74ee7f3f7f3158e4e7a3fb530c13af4c4608 100644 (file)
@@ -44,42 +44,14 @@ mod tests {
 
     let new_person = PersonForm {
       name: "thommy_user_agg".into(),
-      preferred_username: None,
-      avatar: None,
-      banner: None,
-      banned: None,
-      deleted: None,
-      published: None,
-      updated: None,
-      actor_id: None,
-      bio: None,
-      local: None,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..PersonForm::default()
     };
 
     let inserted_person = Person::create(&conn, &new_person).unwrap();
 
     let another_person = PersonForm {
       name: "jerry_user_agg".into(),
-      preferred_username: None,
-      avatar: None,
-      banner: None,
-      banned: None,
-      deleted: None,
-      published: None,
-      updated: None,
-      actor_id: None,
-      bio: None,
-      local: None,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..PersonForm::default()
     };
 
     let another_inserted_person = Person::create(&conn, &another_person).unwrap();
@@ -88,45 +60,16 @@ mod tests {
       name: "TIL_site_agg".into(),
       creator_id: inserted_person.id,
       title: "nada".to_owned(),
-      description: None,
-      nsfw: false,
-      removed: None,
-      deleted: None,
-      updated: None,
-      actor_id: None,
-      local: true,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      published: None,
-      icon: None,
-      banner: None,
-      followers_url: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..CommunityForm::default()
     };
 
     let inserted_community = Community::create(&conn, &new_community).unwrap();
 
     let new_post = PostForm {
       name: "A test post".into(),
-      url: None,
-      body: None,
       creator_id: inserted_person.id,
       community_id: inserted_community.id,
-      removed: None,
-      deleted: None,
-      locked: None,
-      stickied: None,
-      nsfw: false,
-      updated: None,
-      embed_title: None,
-      embed_description: None,
-      embed_html: None,
-      thumbnail_url: None,
-      ap_id: None,
-      local: true,
-      published: None,
+      ..PostForm::default()
     };
 
     let inserted_post = Post::create(&conn, &new_post).unwrap();
@@ -143,14 +86,7 @@ mod tests {
       content: "A test comment".into(),
       creator_id: inserted_person.id,
       post_id: inserted_post.id,
-      removed: None,
-      deleted: None,
-      read: None,
-      parent_id: None,
-      published: None,
-      updated: None,
-      ap_id: None,
-      local: true,
+      ..CommentForm::default()
     };
 
     let inserted_comment = Comment::create(&conn, &comment_form).unwrap();
@@ -168,14 +104,8 @@ mod tests {
       content: "A test comment".into(),
       creator_id: inserted_person.id,
       post_id: inserted_post.id,
-      removed: None,
-      deleted: None,
-      read: None,
       parent_id: Some(inserted_comment.id),
-      published: None,
-      updated: None,
-      ap_id: None,
-      local: true,
+      ..CommentForm::default()
     };
 
     let inserted_child_comment = Comment::create(&conn, &child_comment_form).unwrap();
index aa5e774e0868a3220226772973a45b2840b73952..fe73813167f1adc4d950d89a4e5a7bdbe30e59ef 100644 (file)
@@ -48,42 +48,14 @@ mod tests {
 
     let new_person = PersonForm {
       name: "thommy_community_agg".into(),
-      preferred_username: None,
-      avatar: None,
-      banner: None,
-      banned: None,
-      deleted: None,
-      published: None,
-      updated: None,
-      actor_id: None,
-      bio: None,
-      local: None,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..PersonForm::default()
     };
 
     let inserted_person = Person::create(&conn, &new_person).unwrap();
 
     let another_person = PersonForm {
       name: "jerry_community_agg".into(),
-      preferred_username: None,
-      avatar: None,
-      banner: None,
-      banned: None,
-      deleted: None,
-      published: None,
-      updated: None,
-      actor_id: None,
-      bio: None,
-      local: None,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..PersonForm::default()
     };
 
     let another_inserted_person = Person::create(&conn, &another_person).unwrap();
@@ -92,45 +64,16 @@ mod tests {
       name: "TIL_community_agg".into(),
       creator_id: inserted_person.id,
       title: "nada".to_owned(),
-      description: None,
-      nsfw: false,
-      removed: None,
-      deleted: None,
-      updated: None,
-      actor_id: None,
-      local: true,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      published: None,
-      icon: None,
-      banner: None,
-      followers_url: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..CommunityForm::default()
     };
 
     let inserted_community = Community::create(&conn, &new_community).unwrap();
 
     let new_post = PostForm {
       name: "A test post".into(),
-      url: None,
-      body: None,
       creator_id: inserted_person.id,
       community_id: inserted_community.id,
-      removed: None,
-      deleted: None,
-      locked: None,
-      stickied: None,
-      nsfw: false,
-      updated: None,
-      embed_title: None,
-      embed_description: None,
-      embed_html: None,
-      thumbnail_url: None,
-      ap_id: None,
-      local: true,
-      published: None,
+      ..PostForm::default()
     };
 
     let inserted_post = Post::create(&conn, &new_post).unwrap();
@@ -139,14 +82,7 @@ mod tests {
       content: "A test comment".into(),
       creator_id: inserted_person.id,
       post_id: inserted_post.id,
-      removed: None,
-      deleted: None,
-      read: None,
-      parent_id: None,
-      published: None,
-      updated: None,
-      ap_id: None,
-      local: true,
+      ..CommentForm::default()
     };
 
     let inserted_comment = Comment::create(&conn, &comment_form).unwrap();
@@ -155,14 +91,8 @@ mod tests {
       content: "A test comment".into(),
       creator_id: inserted_person.id,
       post_id: inserted_post.id,
-      removed: None,
-      deleted: None,
-      read: None,
       parent_id: Some(inserted_comment.id),
-      published: None,
-      updated: None,
-      ap_id: None,
-      local: true,
+      ..CommentForm::default()
     };
 
     let _inserted_child_comment = Comment::create(&conn, &child_comment_form).unwrap();
index a685ad0dae81b167667434cae51151c1e0a744e0..64fbdf7df404e5d850958cbd59053f1013abef3a 100644 (file)
@@ -42,21 +42,7 @@ mod tests {
 
     let new_person = PersonForm {
       name: "thommy_site_agg".into(),
-      preferred_username: None,
-      avatar: None,
-      banner: None,
-      banned: None,
-      deleted: None,
-      published: None,
-      updated: None,
-      actor_id: None,
-      bio: None,
-      local: None,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..PersonForm::default()
     };
 
     let inserted_person = Person::create(&conn, &new_person).unwrap();
@@ -79,45 +65,16 @@ mod tests {
       name: "TIL_site_agg".into(),
       creator_id: inserted_person.id,
       title: "nada".to_owned(),
-      description: None,
-      nsfw: false,
-      removed: None,
-      deleted: None,
-      updated: None,
-      actor_id: None,
-      local: true,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      published: None,
-      icon: None,
-      banner: None,
-      followers_url: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..CommunityForm::default()
     };
 
     let inserted_community = Community::create(&conn, &new_community).unwrap();
 
     let new_post = PostForm {
       name: "A test post".into(),
-      url: None,
-      body: None,
       creator_id: inserted_person.id,
       community_id: inserted_community.id,
-      removed: None,
-      deleted: None,
-      locked: None,
-      stickied: None,
-      nsfw: false,
-      updated: None,
-      embed_title: None,
-      embed_description: None,
-      embed_html: None,
-      thumbnail_url: None,
-      ap_id: None,
-      local: true,
-      published: None,
+      ..PostForm::default()
     };
 
     // Insert two of those posts
@@ -128,14 +85,7 @@ mod tests {
       content: "A test comment".into(),
       creator_id: inserted_person.id,
       post_id: inserted_post.id,
-      removed: None,
-      deleted: None,
-      read: None,
-      parent_id: None,
-      published: None,
-      updated: None,
-      ap_id: None,
-      local: true,
+      ..CommentForm::default()
     };
 
     // Insert two of those comments
@@ -145,14 +95,8 @@ mod tests {
       content: "A test comment".into(),
       creator_id: inserted_person.id,
       post_id: inserted_post.id,
-      removed: None,
-      deleted: None,
-      read: None,
       parent_id: Some(inserted_comment.id),
-      published: None,
-      updated: None,
-      ap_id: None,
-      local: true,
+      ..CommentForm::default()
     };
 
     let _inserted_child_comment = Comment::create(&conn, &child_comment_form).unwrap();
index 1ec9b8d16d78400fce1b0c87adc9561acf71c120..d1fc0622f90a1f389f047571d8d87a7cc930ce1d 100644 (file)
@@ -74,7 +74,7 @@ impl Activity_ for Activity {
     let activity_form = ActivityForm {
       ap_id,
       data: serde_json::to_value(&data)?,
-      local,
+      local: Some(local),
       sensitive,
       updated: None,
     };
@@ -138,21 +138,7 @@ mod tests {
 
     let creator_form = PersonForm {
       name: "activity_creator_pm".into(),
-      preferred_username: None,
-      avatar: None,
-      banner: None,
-      banned: None,
-      deleted: None,
-      published: None,
-      updated: None,
-      actor_id: None,
-      bio: None,
-      local: None,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..PersonForm::default()
     };
 
     let inserted_creator = Person::create(&conn, &creator_form).unwrap();
@@ -179,7 +165,7 @@ mod tests {
     let activity_form = ActivityForm {
       ap_id: ap_id.clone(),
       data: test_json.to_owned(),
-      local: true,
+      local: Some(true),
       sensitive: false,
       updated: None,
     };
index 69ac4c081e339254ee68a47b8bf8781aff011fd7..8d77626aa70c6a5d4703f235698451d814ea4465 100644 (file)
@@ -246,21 +246,7 @@ mod tests {
 
     let new_person = PersonForm {
       name: "terry".into(),
-      preferred_username: None,
-      avatar: None,
-      banner: None,
-      banned: None,
-      deleted: None,
-      published: None,
-      updated: None,
-      actor_id: None,
-      bio: None,
-      local: None,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..PersonForm::default()
     };
 
     let inserted_person = Person::create(&conn, &new_person).unwrap();
@@ -268,23 +254,8 @@ mod tests {
     let new_community = CommunityForm {
       name: "test community".to_string(),
       title: "nada".to_owned(),
-      description: None,
       creator_id: inserted_person.id,
-      removed: None,
-      deleted: None,
-      updated: None,
-      nsfw: false,
-      actor_id: None,
-      local: true,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      published: None,
-      banner: None,
-      icon: None,
-      inbox_url: None,
-      shared_inbox_url: None,
-      followers_url: None,
+      ..CommunityForm::default()
     };
 
     let inserted_community = Community::create(&conn, &new_community).unwrap();
@@ -292,22 +263,8 @@ mod tests {
     let new_post = PostForm {
       name: "A test post".into(),
       creator_id: inserted_person.id,
-      url: None,
-      body: None,
       community_id: inserted_community.id,
-      removed: None,
-      deleted: None,
-      locked: None,
-      stickied: None,
-      updated: None,
-      nsfw: false,
-      embed_title: None,
-      embed_description: None,
-      embed_html: None,
-      thumbnail_url: None,
-      ap_id: None,
-      local: true,
-      published: None,
+      ..PostForm::default()
     };
 
     let inserted_post = Post::create(&conn, &new_post).unwrap();
@@ -316,14 +273,7 @@ mod tests {
       content: "A test comment".into(),
       creator_id: inserted_person.id,
       post_id: inserted_post.id,
-      removed: None,
-      deleted: None,
-      read: None,
-      parent_id: None,
-      published: None,
-      updated: None,
-      ap_id: None,
-      local: true,
+      ..CommentForm::default()
     };
 
     let inserted_comment = Comment::create(&conn, &comment_form).unwrap();
@@ -348,13 +298,7 @@ mod tests {
       creator_id: inserted_person.id,
       post_id: inserted_post.id,
       parent_id: Some(inserted_comment.id),
-      removed: None,
-      deleted: None,
-      read: None,
-      published: None,
-      updated: None,
-      ap_id: None,
-      local: true,
+      ..CommentForm::default()
     };
 
     let inserted_child_comment = Comment::create(&conn, &child_comment_form).unwrap();
index 5b7fc92c86ddbec4e5666d39c132302b24511a88..1970eef88babe398b77458f9d50fb99baf9ae286 100644 (file)
@@ -356,21 +356,7 @@ mod tests {
 
     let new_person = PersonForm {
       name: "bobbee".into(),
-      preferred_username: None,
-      avatar: None,
-      banner: None,
-      banned: None,
-      deleted: None,
-      published: None,
-      updated: None,
-      actor_id: None,
-      bio: None,
-      local: None,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..PersonForm::default()
     };
 
     let inserted_person = Person::create(&conn, &new_person).unwrap();
@@ -379,22 +365,7 @@ mod tests {
       name: "TIL".into(),
       creator_id: inserted_person.id,
       title: "nada".to_owned(),
-      description: None,
-      nsfw: false,
-      removed: None,
-      deleted: None,
-      updated: None,
-      actor_id: None,
-      local: true,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      published: None,
-      icon: None,
-      banner: None,
-      followers_url: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..CommunityForm::default()
     };
 
     let inserted_community = Community::create(&conn, &new_community).unwrap();
index eabd067d38cf362d028bb15ef72894c73fc23737..18720ceba3c0a95469955558a9d271817c5e86d7 100644 (file)
@@ -6,7 +6,6 @@ use lemmy_db_schema::{
   schema::local_user::dsl::*,
   source::local_user::{LocalUser, LocalUserForm},
   LocalUserId,
-  PersonId,
 };
 
 mod safe_settings_type {
@@ -17,7 +16,6 @@ mod safe_settings_type {
     id,
     person_id,
     email,
-    admin,
     show_nsfw,
     theme,
     default_sort_type,
@@ -25,7 +23,6 @@ mod safe_settings_type {
     lang,
     show_avatars,
     send_notifications_to_email,
-    matrix_user_id,
     validator_time,
   );
 
@@ -38,7 +35,6 @@ mod safe_settings_type {
         id,
         person_id,
         email,
-        admin,
         show_nsfw,
         theme,
         default_sort_type,
@@ -46,7 +42,6 @@ mod safe_settings_type {
         lang,
         show_avatars,
         send_notifications_to_email,
-        matrix_user_id,
         validator_time,
       )
     }
@@ -60,7 +55,6 @@ pub trait LocalUser_ {
     local_user_id: LocalUserId,
     new_password: &str,
   ) -> Result<LocalUser, Error>;
-  fn add_admin(conn: &PgConnection, person_id: PersonId, added: bool) -> Result<LocalUser, Error>;
 }
 
 impl LocalUser_ for LocalUser {
@@ -87,12 +81,6 @@ impl LocalUser_ for LocalUser {
       ))
       .get_result::<Self>(conn)
   }
-
-  fn add_admin(conn: &PgConnection, for_person_id: PersonId, added: bool) -> Result<Self, Error> {
-    diesel::update(local_user.filter(person_id.eq(for_person_id)))
-      .set(admin.eq(added))
-      .get_result::<Self>(conn)
-  }
 }
 
 impl Crud<LocalUserForm, LocalUserId> for LocalUser {
index 526fc2bd84fc168850527b00c91f8ee2ec041d6c..c641fffc74fd9b0880ac8d6394eec95e467b2915 100644 (file)
@@ -209,42 +209,14 @@ mod tests {
 
     let new_mod = PersonForm {
       name: "the mod".into(),
-      preferred_username: None,
-      avatar: None,
-      banner: None,
-      banned: None,
-      deleted: None,
-      published: None,
-      updated: None,
-      actor_id: None,
-      bio: None,
-      local: None,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..PersonForm::default()
     };
 
     let inserted_mod = Person::create(&conn, &new_mod).unwrap();
 
     let new_person = PersonForm {
       name: "jim2".into(),
-      preferred_username: None,
-      avatar: None,
-      banner: None,
-      banned: None,
-      deleted: None,
-      published: None,
-      updated: None,
-      actor_id: None,
-      bio: None,
-      local: None,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..PersonForm::default()
     };
 
     let inserted_person = Person::create(&conn, &new_person).unwrap();
@@ -252,46 +224,17 @@ mod tests {
     let new_community = CommunityForm {
       name: "mod_community".to_string(),
       title: "nada".to_owned(),
-      description: None,
       creator_id: inserted_person.id,
-      removed: None,
-      deleted: None,
-      updated: None,
-      nsfw: false,
-      actor_id: None,
-      local: true,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      published: None,
-      icon: None,
-      banner: None,
-      followers_url: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..CommunityForm::default()
     };
 
     let inserted_community = Community::create(&conn, &new_community).unwrap();
 
     let new_post = PostForm {
       name: "A test post thweep".into(),
-      url: None,
-      body: None,
       creator_id: inserted_person.id,
       community_id: inserted_community.id,
-      removed: None,
-      deleted: None,
-      locked: None,
-      stickied: None,
-      updated: None,
-      nsfw: false,
-      embed_title: None,
-      embed_description: None,
-      embed_html: None,
-      thumbnail_url: None,
-      ap_id: None,
-      local: true,
-      published: None,
+      ..PostForm::default()
     };
 
     let inserted_post = Post::create(&conn, &new_post).unwrap();
@@ -300,14 +243,7 @@ mod tests {
       content: "A test comment".into(),
       creator_id: inserted_person.id,
       post_id: inserted_post.id,
-      removed: None,
-      deleted: None,
-      read: None,
-      parent_id: None,
-      published: None,
-      updated: None,
-      ap_id: None,
-      local: true,
+      ..CommentForm::default()
     };
 
     let inserted_comment = Comment::create(&conn, &comment_form).unwrap();
index 89c375058c50dfc835d70765af2223543cfd51f9..6fe4ee3a5b645e29a8c46879d4367457d19ebd40 100644 (file)
@@ -95,21 +95,7 @@ mod tests {
 
     let new_person = PersonForm {
       name: "thommy prw".into(),
-      preferred_username: None,
-      avatar: None,
-      banner: None,
-      banned: None,
-      deleted: None,
-      published: None,
-      updated: None,
-      actor_id: None,
-      bio: None,
-      local: None,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..PersonForm::default()
     };
 
     let inserted_person = Person::create(&conn, &new_person).unwrap();
@@ -117,16 +103,7 @@ mod tests {
     let new_local_user = LocalUserForm {
       person_id: inserted_person.id,
       password_encrypted: "pass".to_string(),
-      email: None,
-      matrix_user_id: None,
-      admin: None,
-      show_nsfw: None,
-      theme: None,
-      default_sort_type: None,
-      default_listing_type: None,
-      lang: None,
-      show_avatars: None,
-      send_notifications_to_email: None,
+      ..LocalUserForm::default()
     };
 
     let inserted_local_user = LocalUser::create(&conn, &new_local_user).unwrap();
index f9979c97027ad44def3bb214547364fd6bf00d0c..35ed540c0fc4f51846cbc8f3d5937707c5d5df93 100644 (file)
@@ -27,6 +27,8 @@ mod safe_type {
     deleted,
     inbox_url,
     shared_inbox_url,
+    matrix_user_id,
+    admin,
   );
 
   impl ToSafe for Person {
@@ -47,6 +49,8 @@ mod safe_type {
         deleted,
         inbox_url,
         shared_inbox_url,
+        matrix_user_id,
+        admin,
       )
     }
   }
@@ -71,6 +75,8 @@ mod safe_type_alias_1 {
     deleted,
     inbox_url,
     shared_inbox_url,
+    matrix_user_id,
+    admin,
   );
 
   impl ToSafe for PersonAlias1 {
@@ -91,6 +97,8 @@ mod safe_type_alias_1 {
         deleted,
         inbox_url,
         shared_inbox_url,
+        matrix_user_id,
+        admin,
       )
     }
   }
@@ -115,6 +123,8 @@ mod safe_type_alias_2 {
     deleted,
     inbox_url,
     shared_inbox_url,
+    matrix_user_id,
+    admin,
   );
 
   impl ToSafe for PersonAlias2 {
@@ -135,6 +145,8 @@ mod safe_type_alias_2 {
         deleted,
         inbox_url,
         shared_inbox_url,
+        matrix_user_id,
+        admin,
       )
     }
   }
@@ -181,6 +193,7 @@ impl ApubObject<PersonForm> for Person {
 
 pub trait Person_ {
   fn ban_person(conn: &PgConnection, person_id: PersonId, ban: bool) -> Result<Person, Error>;
+  fn add_admin(conn: &PgConnection, person_id: PersonId, added: bool) -> Result<Person, Error>;
   fn find_by_name(conn: &PgConnection, name: &str) -> Result<Person, Error>;
   fn mark_as_updated(conn: &PgConnection, person_id: PersonId) -> Result<Person, Error>;
   fn delete_account(conn: &PgConnection, person_id: PersonId) -> Result<Person, Error>;
@@ -193,6 +206,12 @@ impl Person_ for Person {
       .get_result::<Self>(conn)
   }
 
+  fn add_admin(conn: &PgConnection, person_id: PersonId, added: bool) -> Result<Self, Error> {
+    diesel::update(person.find(person_id))
+      .set(admin.eq(added))
+      .get_result::<Self>(conn)
+  }
+
   fn find_by_name(conn: &PgConnection, from_name: &str) -> Result<Person, Error> {
     person
       .filter(deleted.eq(false))
@@ -212,16 +231,14 @@ impl Person_ for Person {
 
     // Set the local user info to none
     diesel::update(local_user::table.filter(local_user::person_id.eq(person_id)))
-      .set((
-        local_user::email.eq::<Option<String>>(None),
-        local_user::matrix_user_id.eq::<Option<String>>(None),
-      ))
+      .set((local_user::email.eq::<Option<String>>(None),))
       .execute(conn)?;
 
     diesel::update(person.find(person_id))
       .set((
         preferred_username.eq::<Option<String>>(None),
         bio.eq::<Option<String>>(None),
+        matrix_user_id.eq::<Option<String>>(None),
         deleted.eq(true),
         updated.eq(naive_now()),
       ))
@@ -239,21 +256,7 @@ mod tests {
 
     let new_person = PersonForm {
       name: "holly".into(),
-      preferred_username: None,
-      avatar: None,
-      banner: None,
-      banned: None,
-      deleted: None,
-      published: None,
-      updated: None,
-      actor_id: None,
-      bio: None,
-      local: None,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..PersonForm::default()
     };
 
     let inserted_person = Person::create(&conn, &new_person).unwrap();
@@ -271,11 +274,13 @@ mod tests {
       actor_id: inserted_person.actor_id.to_owned(),
       bio: None,
       local: true,
+      admin: false,
       private_key: None,
       public_key: None,
       last_refreshed_at: inserted_person.published,
       inbox_url: inserted_person.inbox_url.to_owned(),
       shared_inbox_url: None,
+      matrix_user_id: None,
     };
 
     let read_person = Person::read(&conn, inserted_person.id).unwrap();
index dfd626cba493088bbc41784b2fc7d831f0e286d9..5a3a7ea61dcca9d418a317a360203130180feb7a 100644 (file)
@@ -90,42 +90,14 @@ mod tests {
 
     let new_person = PersonForm {
       name: "terrylake".into(),
-      preferred_username: None,
-      avatar: None,
-      banner: None,
-      banned: None,
-      deleted: None,
-      published: None,
-      updated: None,
-      actor_id: None,
-      bio: None,
-      local: None,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..PersonForm::default()
     };
 
     let inserted_person = Person::create(&conn, &new_person).unwrap();
 
     let recipient_form = PersonForm {
       name: "terrylakes recipient".into(),
-      preferred_username: None,
-      avatar: None,
-      banner: None,
-      banned: None,
-      deleted: None,
-      published: None,
-      updated: None,
-      actor_id: None,
-      bio: None,
-      local: None,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..PersonForm::default()
     };
 
     let inserted_recipient = Person::create(&conn, &recipient_form).unwrap();
@@ -133,23 +105,8 @@ mod tests {
     let new_community = CommunityForm {
       name: "test community lake".to_string(),
       title: "nada".to_owned(),
-      description: None,
       creator_id: inserted_person.id,
-      removed: None,
-      deleted: None,
-      updated: None,
-      nsfw: false,
-      actor_id: None,
-      local: true,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      published: None,
-      icon: None,
-      banner: None,
-      followers_url: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..CommunityForm::default()
     };
 
     let inserted_community = Community::create(&conn, &new_community).unwrap();
@@ -157,22 +114,8 @@ mod tests {
     let new_post = PostForm {
       name: "A test post".into(),
       creator_id: inserted_person.id,
-      url: None,
-      body: None,
       community_id: inserted_community.id,
-      removed: None,
-      deleted: None,
-      locked: None,
-      stickied: None,
-      updated: None,
-      nsfw: false,
-      embed_title: None,
-      embed_description: None,
-      embed_html: None,
-      thumbnail_url: None,
-      ap_id: None,
-      local: true,
-      published: None,
+      ..PostForm::default()
     };
 
     let inserted_post = Post::create(&conn, &new_post).unwrap();
@@ -181,14 +124,7 @@ mod tests {
       content: "A test comment".into(),
       creator_id: inserted_person.id,
       post_id: inserted_post.id,
-      removed: None,
-      deleted: None,
-      read: None,
-      parent_id: None,
-      published: None,
-      updated: None,
-      ap_id: None,
-      local: true,
+      ..CommentForm::default()
     };
 
     let inserted_comment = Comment::create(&conn, &comment_form).unwrap();
index d6492e13058d61c8b60e1226e362bda59dc702ac..169ca18ef51c8ab062ee735bdafdfd0c11f7873d 100644 (file)
@@ -273,21 +273,7 @@ mod tests {
 
     let new_person = PersonForm {
       name: "jim".into(),
-      preferred_username: None,
-      avatar: None,
-      banner: None,
-      banned: None,
-      deleted: None,
-      published: None,
-      updated: None,
-      actor_id: None,
-      bio: None,
-      local: None,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..PersonForm::default()
     };
 
     let inserted_person = Person::create(&conn, &new_person).unwrap();
@@ -295,46 +281,17 @@ mod tests {
     let new_community = CommunityForm {
       name: "test community_3".to_string(),
       title: "nada".to_owned(),
-      description: None,
       creator_id: inserted_person.id,
-      removed: None,
-      deleted: None,
-      updated: None,
-      nsfw: false,
-      actor_id: None,
-      local: true,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      published: None,
-      icon: None,
-      banner: None,
-      followers_url: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..CommunityForm::default()
     };
 
     let inserted_community = Community::create(&conn, &new_community).unwrap();
 
     let new_post = PostForm {
       name: "A test post".into(),
-      url: None,
-      body: None,
       creator_id: inserted_person.id,
       community_id: inserted_community.id,
-      removed: None,
-      deleted: None,
-      locked: None,
-      stickied: None,
-      nsfw: false,
-      updated: None,
-      embed_title: None,
-      embed_description: None,
-      embed_html: None,
-      thumbnail_url: None,
-      ap_id: None,
-      local: true,
-      published: None,
+      ..PostForm::default()
     };
 
     let inserted_post = Post::create(&conn, &new_post).unwrap();
index fe2456890b0318a4dfa51912b0b3980a7a6b3423..98c8e08ce4c644a13232b9889d3160f9afbd2b8b 100644 (file)
@@ -150,42 +150,14 @@ mod tests {
 
     let creator_form = PersonForm {
       name: "creator_pm".into(),
-      preferred_username: None,
-      avatar: None,
-      banner: None,
-      banned: None,
-      deleted: None,
-      published: None,
-      updated: None,
-      actor_id: None,
-      bio: None,
-      local: None,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..PersonForm::default()
     };
 
     let inserted_creator = Person::create(&conn, &creator_form).unwrap();
 
     let recipient_form = PersonForm {
       name: "recipient_pm".into(),
-      preferred_username: None,
-      avatar: None,
-      banner: None,
-      banned: None,
-      deleted: None,
-      published: None,
-      updated: None,
-      actor_id: None,
-      bio: None,
-      local: None,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..PersonForm::default()
     };
 
     let inserted_recipient = Person::create(&conn, &recipient_form).unwrap();
@@ -194,12 +166,7 @@ mod tests {
       content: "A test private message".into(),
       creator_id: inserted_creator.id,
       recipient_id: inserted_recipient.id,
-      deleted: None,
-      read: None,
-      published: None,
-      updated: None,
-      ap_id: None,
-      local: true,
+      ..PrivateMessageForm::default()
     };
 
     let inserted_private_message = PrivateMessage::create(&conn, &private_message_form).unwrap();
index 6b07e5cee5b66dec139aca1c2a4d87b9efc7db58..4efa983fe4365696662ed23ea07fbbd8ed2f70af 100644 (file)
@@ -22,7 +22,9 @@ use url::Url;
 pub mod schema;
 pub mod source;
 
-#[derive(Debug, Copy, Clone, Hash, Eq, PartialEq, Serialize, Deserialize, DieselNewType)]
+#[derive(
+  Debug, Copy, Clone, Hash, Eq, PartialEq, Default, Serialize, Deserialize, DieselNewType,
+)]
 pub struct PostId(pub i32);
 
 impl fmt::Display for PostId {
@@ -31,7 +33,9 @@ impl fmt::Display for PostId {
   }
 }
 
-#[derive(Debug, Copy, Clone, Hash, Eq, PartialEq, Serialize, Deserialize, DieselNewType)]
+#[derive(
+  Debug, Copy, Clone, Hash, Eq, PartialEq, Default, Serialize, Deserialize, DieselNewType,
+)]
 pub struct PersonId(pub i32);
 
 #[derive(Debug, Copy, Clone, Hash, Eq, PartialEq, Serialize, Deserialize, DieselNewType)]
@@ -43,7 +47,9 @@ impl fmt::Display for CommentId {
   }
 }
 
-#[derive(Debug, Copy, Clone, Hash, Eq, PartialEq, Serialize, Deserialize, DieselNewType)]
+#[derive(
+  Debug, Copy, Clone, Hash, Eq, PartialEq, Default, Serialize, Deserialize, DieselNewType,
+)]
 pub struct CommunityId(pub i32);
 
 #[derive(Debug, Copy, Clone, Hash, Eq, PartialEq, Serialize, Deserialize, DieselNewType)]
index 9bb3fe2d6272f8b8f4b87ffc722e497867d42614..5bc55f529bc6a63fb620d545e93c4640959990c8 100644 (file)
@@ -146,7 +146,6 @@ table! {
         person_id -> Int4,
         password_encrypted -> Text,
         email -> Nullable<Text>,
-        admin -> Bool,
         show_nsfw -> Bool,
         theme -> Varchar,
         default_sort_type -> Int2,
@@ -154,7 +153,6 @@ table! {
         lang -> Varchar,
         show_avatars -> Bool,
         send_notifications_to_email -> Bool,
-        matrix_user_id -> Nullable<Text>,
         validator_time -> Timestamp,
     }
 }
@@ -287,6 +285,8 @@ table! {
         deleted -> Bool,
         inbox_url -> Varchar,
         shared_inbox_url -> Nullable<Varchar>,
+        matrix_user_id -> Nullable<Text>,
+        admin -> Bool,
     }
 }
 
@@ -485,6 +485,8 @@ table! {
         deleted -> Bool,
         inbox_url -> Varchar,
         shared_inbox_url -> Nullable<Varchar>,
+        matrix_user_id -> Nullable<Text>,
+        admin -> Bool,
     }
 }
 
@@ -507,6 +509,8 @@ table! {
         deleted -> Bool,
         inbox_url -> Varchar,
         shared_inbox_url -> Nullable<Varchar>,
+        matrix_user_id -> Nullable<Text>,
+        admin -> Bool,
     }
 }
 
index 7b7f4aba391ef44fe39fa24b9855475e3236a077..ced8f3be49c95a87e7119515db4cece71b5fbe64 100644 (file)
@@ -18,7 +18,7 @@ pub struct Activity {
 #[table_name = "activity"]
 pub struct ActivityForm {
   pub data: Value,
-  pub local: bool,
+  pub local: Option<bool>,
   pub updated: Option<chrono::NaiveDateTime>,
   pub ap_id: DbUrl,
   pub sensitive: bool,
index 8a91f601ec7c4340acf4e64f41f2339305c50cbe..fba61f4632de84b46043c4369fe0576d3dc02348 100644 (file)
@@ -51,7 +51,7 @@ pub struct CommentAlias1 {
   pub local: bool,
 }
 
-#[derive(Insertable, AsChangeset, Clone)]
+#[derive(Insertable, AsChangeset, Clone, Default)]
 #[table_name = "comment"]
 pub struct CommentForm {
   pub creator_id: PersonId,
@@ -64,7 +64,7 @@ pub struct CommentForm {
   pub updated: Option<chrono::NaiveDateTime>,
   pub deleted: Option<bool>,
   pub ap_id: Option<DbUrl>,
-  pub local: bool,
+  pub local: Option<bool>,
 }
 
 #[derive(Identifiable, Queryable, Associations, PartialEq, Debug, Clone)]
index 81789ecdfd38598de4f9de291b975849da7111d8..4275102709c19e098314794c71c98c144fe8baa9 100644 (file)
@@ -51,7 +51,7 @@ pub struct CommunitySafe {
   pub banner: Option<DbUrl>,
 }
 
-#[derive(Insertable, AsChangeset, Debug)]
+#[derive(Insertable, AsChangeset, Debug, Default)]
 #[table_name = "community"]
 pub struct CommunityForm {
   pub name: String,
@@ -62,9 +62,9 @@ pub struct CommunityForm {
   pub published: Option<chrono::NaiveDateTime>,
   pub updated: Option<chrono::NaiveDateTime>,
   pub deleted: Option<bool>,
-  pub nsfw: bool,
+  pub nsfw: Option<bool>,
   pub actor_id: Option<DbUrl>,
-  pub local: bool,
+  pub local: Option<bool>,
   pub private_key: Option<String>,
   pub public_key: Option<String>,
   pub last_refreshed_at: Option<chrono::NaiveDateTime>,
index 11dac6c9c06706c05948931c2c0047caa3c2c8da..6f28a8fbcdba6e4e1c44d0f1696ec0684291aaa7 100644 (file)
@@ -8,7 +8,6 @@ pub struct LocalUser {
   pub person_id: PersonId,
   pub password_encrypted: String,
   pub email: Option<String>,
-  pub admin: bool,
   pub show_nsfw: bool,
   pub theme: String,
   pub default_sort_type: i16,
@@ -16,18 +15,16 @@ pub struct LocalUser {
   pub lang: String,
   pub show_avatars: bool,
   pub send_notifications_to_email: bool,
-  pub matrix_user_id: Option<String>,
   pub validator_time: chrono::NaiveDateTime,
 }
 
 // TODO redo these, check table defaults
-#[derive(Insertable, AsChangeset, Clone)]
+#[derive(Insertable, AsChangeset, Clone, Default)]
 #[table_name = "local_user"]
 pub struct LocalUserForm {
   pub person_id: PersonId,
   pub password_encrypted: String,
   pub email: Option<Option<String>>,
-  pub admin: Option<bool>,
   pub show_nsfw: Option<bool>,
   pub theme: Option<String>,
   pub default_sort_type: Option<i16>,
@@ -35,7 +32,6 @@ pub struct LocalUserForm {
   pub lang: Option<String>,
   pub show_avatars: Option<bool>,
   pub send_notifications_to_email: Option<bool>,
-  pub matrix_user_id: Option<Option<String>>,
 }
 
 /// A local user view that removes password encrypted
@@ -45,7 +41,6 @@ pub struct LocalUserSettings {
   pub id: LocalUserId,
   pub person_id: PersonId,
   pub email: Option<String>,
-  pub admin: bool,
   pub show_nsfw: bool,
   pub theme: String,
   pub default_sort_type: i16,
@@ -53,6 +48,5 @@ pub struct LocalUserSettings {
   pub lang: String,
   pub show_avatars: bool,
   pub send_notifications_to_email: bool,
-  pub matrix_user_id: Option<String>,
   pub validator_time: chrono::NaiveDateTime,
 }
index f669f0c55929917a96bfb8bc4b8707572621d147..2c0e7e8b790238b7c5a6c4b9fa6c45576b44da24 100644 (file)
@@ -25,6 +25,8 @@ pub struct Person {
   pub deleted: bool,
   pub inbox_url: DbUrl,
   pub shared_inbox_url: Option<DbUrl>,
+  pub matrix_user_id: Option<String>,
+  pub admin: bool,
 }
 
 /// A safe representation of person, without the sensitive info
@@ -45,6 +47,8 @@ pub struct PersonSafe {
   pub deleted: bool,
   pub inbox_url: DbUrl,
   pub shared_inbox_url: Option<DbUrl>,
+  pub matrix_user_id: Option<String>,
+  pub admin: bool,
 }
 
 #[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)]
@@ -67,6 +71,8 @@ pub struct PersonAlias1 {
   pub deleted: bool,
   pub inbox_url: DbUrl,
   pub shared_inbox_url: Option<DbUrl>,
+  pub matrix_user_id: Option<String>,
+  pub admin: bool,
 }
 
 #[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)]
@@ -86,6 +92,8 @@ pub struct PersonSafeAlias1 {
   pub deleted: bool,
   pub inbox_url: DbUrl,
   pub shared_inbox_url: Option<DbUrl>,
+  pub matrix_user_id: Option<String>,
+  pub admin: bool,
 }
 
 #[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)]
@@ -108,6 +116,8 @@ pub struct PersonAlias2 {
   pub deleted: bool,
   pub inbox_url: DbUrl,
   pub shared_inbox_url: Option<DbUrl>,
+  pub matrix_user_id: Option<String>,
+  pub admin: bool,
 }
 
 #[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)]
@@ -127,9 +137,11 @@ pub struct PersonSafeAlias2 {
   pub deleted: bool,
   pub inbox_url: DbUrl,
   pub shared_inbox_url: Option<DbUrl>,
+  pub matrix_user_id: Option<String>,
+  pub admin: bool,
 }
 
-#[derive(Insertable, AsChangeset, Clone)]
+#[derive(Insertable, AsChangeset, Clone, Default)]
 #[table_name = "person"]
 pub struct PersonForm {
   pub name: String,
@@ -148,4 +160,6 @@ pub struct PersonForm {
   pub deleted: Option<bool>,
   pub inbox_url: Option<DbUrl>,
   pub shared_inbox_url: Option<Option<DbUrl>>,
+  pub matrix_user_id: Option<Option<String>>,
+  pub admin: Option<bool>,
 }
index 34b889d4629987da0a2484085c4b22621e3db36e..87681e010eaf5eb7fd5ebda7e6a200552f38f081 100644 (file)
@@ -31,7 +31,7 @@ pub struct Post {
   pub local: bool,
 }
 
-#[derive(Insertable, AsChangeset)]
+#[derive(Insertable, AsChangeset, Default)]
 #[table_name = "post"]
 pub struct PostForm {
   pub name: String,
@@ -51,7 +51,7 @@ pub struct PostForm {
   pub embed_html: Option<String>,
   pub thumbnail_url: Option<DbUrl>,
   pub ap_id: Option<DbUrl>,
-  pub local: bool,
+  pub local: Option<bool>,
 }
 
 #[derive(Identifiable, Queryable, Associations, PartialEq, Debug)]
index 6d46c012994c03b1ee5b3819c336153dde596de4..6710c2dcfde75ec7d50d9ededbbce73371eeef7e 100644 (file)
@@ -16,7 +16,7 @@ pub struct PrivateMessage {
   pub local: bool,
 }
 
-#[derive(Insertable, AsChangeset)]
+#[derive(Insertable, AsChangeset, Default)]
 #[table_name = "private_message"]
 pub struct PrivateMessageForm {
   pub creator_id: PersonId,
@@ -27,5 +27,5 @@ pub struct PrivateMessageForm {
   pub published: Option<chrono::NaiveDateTime>,
   pub updated: Option<chrono::NaiveDateTime>,
   pub ap_id: Option<DbUrl>,
-  pub local: bool,
+  pub local: Option<bool>,
 }
index 6c5850ad3c899962971043cc579448762a5fd395..6b13103c0eb19b06f7db3c165b6ac389fcedcecc 100644 (file)
@@ -454,21 +454,7 @@ mod tests {
 
     let new_person = PersonForm {
       name: "timmy".into(),
-      preferred_username: None,
-      avatar: None,
-      banner: None,
-      banned: None,
-      deleted: None,
-      published: None,
-      updated: None,
-      actor_id: None,
-      bio: None,
-      local: None,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..PersonForm::default()
     };
 
     let inserted_person = Person::create(&conn, &new_person).unwrap();
@@ -476,23 +462,8 @@ mod tests {
     let new_community = CommunityForm {
       name: "test community 5".to_string(),
       title: "nada".to_owned(),
-      description: None,
       creator_id: inserted_person.id,
-      removed: None,
-      deleted: None,
-      updated: None,
-      nsfw: false,
-      actor_id: None,
-      local: true,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      published: None,
-      icon: None,
-      banner: None,
-      followers_url: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..CommunityForm::default()
     };
 
     let inserted_community = Community::create(&conn, &new_community).unwrap();
@@ -500,22 +471,8 @@ mod tests {
     let new_post = PostForm {
       name: "A test post 2".into(),
       creator_id: inserted_person.id,
-      url: None,
-      body: None,
       community_id: inserted_community.id,
-      removed: None,
-      deleted: None,
-      locked: None,
-      stickied: None,
-      updated: None,
-      nsfw: false,
-      embed_title: None,
-      embed_description: None,
-      embed_html: None,
-      thumbnail_url: None,
-      ap_id: None,
-      local: true,
-      published: None,
+      ..PostForm::default()
     };
 
     let inserted_post = Post::create(&conn, &new_post).unwrap();
@@ -524,14 +481,7 @@ mod tests {
       content: "A test comment 32".into(),
       creator_id: inserted_person.id,
       post_id: inserted_post.id,
-      parent_id: None,
-      removed: None,
-      deleted: None,
-      read: None,
-      published: None,
-      updated: None,
-      ap_id: None,
-      local: true,
+      ..CommentForm::default()
     };
 
     let inserted_comment = Comment::create(&conn, &comment_form).unwrap();
@@ -576,11 +526,13 @@ mod tests {
         local: true,
         banned: false,
         deleted: false,
+        admin: false,
         bio: None,
         banner: None,
         updated: None,
         inbox_url: inserted_person.inbox_url.to_owned(),
         shared_inbox_url: None,
+        matrix_user_id: None,
       },
       recipient: None,
       post: Post {
index fe852e3767b4a1266a974290856013ffc92a1008..df67d36933376becf7cfad72d85b9dc77887898f 100644 (file)
@@ -454,21 +454,7 @@ mod tests {
 
     let new_person = PersonForm {
       name: person_name.to_owned(),
-      preferred_username: None,
-      avatar: None,
-      banner: None,
-      banned: None,
-      deleted: None,
-      published: None,
-      updated: None,
-      actor_id: None,
-      bio: None,
-      local: None,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..PersonForm::default()
     };
 
     let inserted_person = Person::create(&conn, &new_person).unwrap();
@@ -476,46 +462,17 @@ mod tests {
     let new_community = CommunityForm {
       name: community_name.to_owned(),
       title: "nada".to_owned(),
-      description: None,
       creator_id: inserted_person.id,
-      removed: None,
-      deleted: None,
-      updated: None,
-      nsfw: false,
-      actor_id: None,
-      local: true,
-      private_key: None,
-      public_key: None,
-      last_refreshed_at: None,
-      published: None,
-      icon: None,
-      banner: None,
-      followers_url: None,
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..CommunityForm::default()
     };
 
     let inserted_community = Community::create(&conn, &new_community).unwrap();
 
     let new_post = PostForm {
       name: post_name.to_owned(),
-      url: None,
-      body: None,
       creator_id: inserted_person.id,
       community_id: inserted_community.id,
-      removed: None,
-      deleted: None,
-      locked: None,
-      stickied: None,
-      updated: None,
-      nsfw: false,
-      embed_title: None,
-      embed_description: None,
-      embed_html: None,
-      thumbnail_url: None,
-      ap_id: None,
-      local: true,
-      published: None,
+      ..PostForm::default()
     };
 
     let inserted_post = Post::create(&conn, &new_post).unwrap();
@@ -589,6 +546,7 @@ mod tests {
         avatar: None,
         actor_id: inserted_person.actor_id.to_owned(),
         local: true,
+        admin: false,
         banned: false,
         deleted: false,
         bio: None,
@@ -596,6 +554,7 @@ mod tests {
         updated: None,
         inbox_url: inserted_person.inbox_url.to_owned(),
         shared_inbox_url: None,
+        matrix_user_id: None,
       },
       creator_banned_from_community: false,
       community: CommunitySafe {
index a44a468c40fc42df6bb0537e70ffc97641bf5413..8e292c3fcaf045ec02c8d69750e2f33a801a0d64 100644 (file)
@@ -9,7 +9,7 @@ use lemmy_db_queries::{
   ViewToVec,
 };
 use lemmy_db_schema::{
-  schema::{local_user, person, person_aggregates},
+  schema::{person, person_aggregates},
   source::person::{Person, PersonSafe},
   PersonId,
 };
@@ -36,9 +36,8 @@ impl PersonViewSafe {
   pub fn admins(conn: &PgConnection) -> Result<Vec<Self>, Error> {
     let admins = person::table
       .inner_join(person_aggregates::table)
-      .inner_join(local_user::table)
       .select((Person::safe_columns_tuple(), person_aggregates::all_columns))
-      .filter(local_user::admin.eq(true))
+      .filter(person::admin.eq(true))
       .order_by(person::published)
       .load::<PersonViewSafeTuple>(conn)?;
 
diff --git a/migrations/2021-03-20-185321_move_matrix_id_to_person/down.sql b/migrations/2021-03-20-185321_move_matrix_id_to_person/down.sql
new file mode 100644 (file)
index 0000000..990d8fe
--- /dev/null
@@ -0,0 +1,17 @@
+alter table local_user add column matrix_user_id text;
+alter table local_user add column admin boolean default false not null;
+
+update local_user lu
+set 
+  matrix_user_id = p.matrix_user_id,
+  admin = p.admin
+from person p
+where p.id = lu.person_id;
+
+drop view person_alias_1, person_alias_2;
+alter table person drop column matrix_user_id;
+alter table person drop column admin;
+
+-- Regenerate the person_alias views
+create view person_alias_1 as select * from person;
+create view person_alias_2 as select * from person;
diff --git a/migrations/2021-03-20-185321_move_matrix_id_to_person/up.sql b/migrations/2021-03-20-185321_move_matrix_id_to_person/up.sql
new file mode 100644 (file)
index 0000000..d9ba3dd
--- /dev/null
@@ -0,0 +1,17 @@
+alter table person add column matrix_user_id text;
+alter table person add column admin boolean default false not null;
+
+update person p
+set 
+  matrix_user_id = lu.matrix_user_id,
+  admin = lu.admin
+from local_user lu
+where p.id = lu.person_id;
+
+alter table local_user drop column matrix_user_id;
+alter table local_user drop column admin;
+
+-- Regenerate the person_alias views
+drop view person_alias_1, person_alias_2;
+create view person_alias_1 as select * from person;
+create view person_alias_2 as select * from person;
index bd67fe699da6509b9ccf662129cc25f240b94765..144c39f872563f69e3731a920c65b45f6ecc535e 100644 (file)
@@ -55,21 +55,11 @@ fn user_updates_2020_04_02(conn: &PgConnection) -> Result<(), LemmyError> {
 
     let form = PersonForm {
       name: cperson.name.to_owned(),
-      avatar: None,
-      banner: None,
-      preferred_username: None,
-      published: None,
-      updated: None,
-      banned: None,
-      deleted: None,
       actor_id: Some(generate_apub_endpoint(EndpointType::Person, &cperson.name)?),
-      bio: None,
-      local: None,
       private_key: Some(Some(keypair.private_key)),
       public_key: Some(Some(keypair.public_key)),
       last_refreshed_at: Some(naive_now()),
-      inbox_url: None,
-      shared_inbox_url: None,
+      ..PersonForm::default()
     };
 
     Person::update(&conn, cperson.id, &form)?;
@@ -102,10 +92,10 @@ fn community_updates_2020_04_02(conn: &PgConnection) -> Result<(), LemmyError> {
       creator_id: ccommunity.creator_id,
       removed: None,
       deleted: None,
-      nsfw: ccommunity.nsfw,
+      nsfw: None,
       updated: None,
       actor_id: Some(community_actor_id.to_owned()),
-      local: ccommunity.local,
+      local: Some(ccommunity.local),
       private_key: Some(keypair.private_key),
       public_key: Some(keypair.public_key),
       last_refreshed_at: Some(naive_now()),