]> Untitled Git - lemmy.git/blobdiff - crates/db_schema/src/schema.rs
Implement separate mod activities for feature, lock post (#2716)
[lemmy.git] / crates / db_schema / src / schema.rs
index b08028900b84ac1b2be4adc10257a225771e01a6..a177139ceafa297d372d54dd311b42674c32b93f 100644 (file)
@@ -5,25 +5,29 @@ table! {
         local -> Bool,
         published -> Timestamp,
         updated -> Nullable<Timestamp>,
-        ap_id -> Nullable<Text>,
+        ap_id -> Text,
         sensitive -> Nullable<Bool>,
     }
 }
 
 table! {
+  use diesel_ltree::sql_types::Ltree;
+  use diesel::sql_types::*;
+
     comment (id) {
         id -> Int4,
         creator_id -> Int4,
         post_id -> Int4,
-        parent_id -> Nullable<Int4>,
         content -> Text,
         removed -> Bool,
-        read -> Bool,
         published -> Timestamp,
         updated -> Nullable<Timestamp>,
         deleted -> Bool,
         ap_id -> Varchar,
         local -> Bool,
+        path -> Ltree,
+        distinguished -> Bool,
+        language_id -> Int4,
     }
 }
 
@@ -35,6 +39,7 @@ table! {
         upvotes -> Int8,
         downvotes -> Int8,
         published -> Timestamp,
+        child_count ->  Int4,
     }
 }
 
@@ -86,13 +91,18 @@ table! {
         actor_id -> Varchar,
         local -> Bool,
         private_key -> Nullable<Text>,
-        public_key -> Nullable<Text>,
+        public_key -> Text,
         last_refreshed_at -> Timestamp,
         icon -> Nullable<Varchar>,
         banner -> Nullable<Varchar>,
         followers_url -> Varchar,
         inbox_url -> Varchar,
         shared_inbox_url -> Nullable<Varchar>,
+        moderators_url -> Nullable<Varchar>,
+        featured_url -> Nullable<Varchar>,
+        hidden -> Bool,
+        posting_restricted_to_mods -> Bool,
+        instance_id -> Int4,
     }
 }
 
@@ -117,7 +127,7 @@ table! {
         community_id -> Int4,
         person_id -> Int4,
         published -> Timestamp,
-        pending -> Nullable<Bool>,
+        pending -> Bool,
     }
 }
 
@@ -136,6 +146,7 @@ table! {
         community_id -> Int4,
         person_id -> Int4,
         published -> Timestamp,
+        expires -> Nullable<Timestamp>,
     }
 }
 
@@ -149,7 +160,7 @@ table! {
         theme -> Varchar,
         default_sort_type -> Int2,
         default_listing_type -> Int2,
-        lang -> Varchar,
+        interface_language -> Varchar,
         show_avatars -> Bool,
         send_notifications_to_email -> Bool,
         validator_time -> Timestamp,
@@ -157,6 +168,8 @@ table! {
         show_scores -> Bool,
         show_read_posts -> Bool,
         show_new_post_notifs -> Bool,
+        email_verified -> Bool,
+        accepted_application -> Bool,
     }
 }
 
@@ -262,12 +275,13 @@ table! {
 }
 
 table! {
-    mod_sticky_post (id) {
+    mod_feature_post (id) {
         id -> Int4,
         mod_person_id -> Int4,
         post_id -> Int4,
-        stickied -> Nullable<Bool>,
+        featured -> Bool,
         when_ -> Timestamp,
+        is_featured_community -> Bool,
     }
 }
 
@@ -293,7 +307,7 @@ table! {
         bio -> Nullable<Text>,
         local -> Bool,
         private_key -> Nullable<Text>,
-        public_key -> Nullable<Text>,
+        public_key -> Text,
         last_refreshed_at -> Timestamp,
         banner -> Nullable<Varchar>,
         deleted -> Bool,
@@ -302,6 +316,8 @@ table! {
         matrix_user_id -> Nullable<Text>,
         admin -> Bool,
         bot_account -> Bool,
+        ban_expires -> Nullable<Timestamp>,
+        instance_id -> Int4,
     }
 }
 
@@ -334,6 +350,16 @@ table! {
     }
 }
 
+table! {
+    comment_reply (id) {
+        id -> Int4,
+        recipient_id -> Int4,
+        comment_id -> Int4,
+        read -> Bool,
+        published -> Timestamp,
+    }
+}
+
 table! {
     post (id) {
         id -> Int4,
@@ -348,13 +374,25 @@ table! {
         updated -> Nullable<Timestamp>,
         deleted -> Bool,
         nsfw -> Bool,
-        stickied -> Bool,
         embed_title -> Nullable<Text>,
         embed_description -> Nullable<Text>,
-        embed_html -> Nullable<Text>,
+        embed_video_url -> Nullable<Text>,
         thumbnail_url -> Nullable<Text>,
         ap_id -> Varchar,
         local -> Bool,
+        language_id -> Int4,
+        featured_community -> Bool,
+        featured_local -> Bool,
+    }
+}
+
+table! {
+    person_post_aggregates (id) {
+        id -> Int4,
+        person_id -> Int4,
+        post_id -> Int4,
+        read_comments -> Int8,
+        published -> Timestamp,
     }
 }
 
@@ -366,10 +404,11 @@ table! {
         score -> Int8,
         upvotes -> Int8,
         downvotes -> Int8,
-        stickied -> Bool,
         published -> Timestamp,
         newest_comment_time_necro -> Timestamp,
         newest_comment_time -> Timestamp,
+        featured_community -> Bool,
+        featured_local -> Bool,
     }
 }
 
@@ -432,21 +471,36 @@ table! {
     }
 }
 
+table! {
+    private_message_report (id) {
+        id -> Int4,
+        creator_id -> Int4,
+        private_message_id -> Int4,
+        original_pm_text -> Text,
+        reason -> Text,
+        resolved -> Bool,
+        resolver_id -> Nullable<Int4>,
+        published -> Timestamp,
+        updated -> Nullable<Timestamp>,
+    }
+}
+
 table! {
     site (id) {
         id -> Int4,
         name -> Varchar,
         sidebar -> Nullable<Text>,
-        creator_id -> Int4,
         published -> Timestamp,
         updated -> Nullable<Timestamp>,
-        enable_downvotes -> Bool,
-        open_registration -> Bool,
-        enable_nsfw -> Bool,
         icon -> Nullable<Varchar>,
         banner -> Nullable<Varchar>,
         description -> Nullable<Text>,
-        community_creation_admin_only -> Bool,
+        actor_id -> Text,
+        last_refreshed_at -> Timestamp,
+        inbox_url -> Text,
+        private_key -> Nullable<Text>,
+        public_key -> Text,
+        instance_id -> Int4,
     }
 }
 
@@ -483,92 +537,219 @@ table! {
     }
 }
 
-// These are necessary since diesel doesn't have self joins / aliases
 table! {
-    comment_alias_1 (id) {
+  secret(id) {
+    id -> Int4,
+    jwt_secret -> Varchar,
+  }
+}
+
+table! {
+  admin_purge_comment (id) {
+    id -> Int4,
+    admin_person_id -> Int4,
+    post_id -> Int4,
+    reason -> Nullable<Text>,
+    when_ -> Timestamp,
+  }
+}
+
+table! {
+  email_verification (id) {
+    id -> Int4,
+    local_user_id -> Int4,
+    email -> Text,
+    verification_token -> Varchar,
+    published -> Timestamp,
+  }
+}
+
+table! {
+  admin_purge_community (id) {
+    id -> Int4,
+    admin_person_id -> Int4,
+    reason -> Nullable<Text>,
+    when_ -> Timestamp,
+  }
+}
+
+table! {
+  admin_purge_person (id) {
+    id -> Int4,
+    admin_person_id -> Int4,
+    reason -> Nullable<Text>,
+    when_ -> Timestamp,
+  }
+}
+
+table! {
+  admin_purge_post (id) {
+    id -> Int4,
+    admin_person_id -> Int4,
+    community_id -> Int4,
+    reason -> Nullable<Text>,
+    when_ -> Timestamp,
+  }
+}
+
+table! {
+    registration_application (id) {
         id -> Int4,
-        creator_id -> Int4,
-        post_id -> Int4,
-        parent_id -> Nullable<Int4>,
-        content -> Text,
-        removed -> Bool,
-        read -> Bool,
+        local_user_id -> Int4,
+        answer -> Text,
+        admin_id -> Nullable<Int4>,
+        deny_reason -> Nullable<Text>,
         published -> Timestamp,
-        updated -> Nullable<Timestamp>,
-        deleted -> Bool,
-        ap_id -> Varchar,
-        local -> Bool,
     }
 }
 
 table! {
-    person_alias_1 (id) {
+    mod_hide_community (id) {
         id -> Int4,
-        name -> Varchar,
-        display_name -> Nullable<Varchar>,
-        avatar -> Nullable<Varchar>,
-        banned -> Bool,
-        published -> Timestamp,
-        updated -> Nullable<Timestamp>,
-        actor_id -> Varchar,
-        bio -> Nullable<Text>,
-        local -> Bool,
-        private_key -> Nullable<Text>,
-        public_key -> Nullable<Text>,
-        last_refreshed_at -> Timestamp,
-        banner -> Nullable<Varchar>,
-        deleted -> Bool,
-        inbox_url -> Varchar,
-        shared_inbox_url -> Nullable<Varchar>,
-        matrix_user_id -> Nullable<Text>,
-        admin -> Bool,
-        bot_account -> Bool,
+        community_id -> Int4,
+        mod_person_id -> Int4,
+        reason -> Nullable<Text>,
+        hidden -> Nullable<Bool>,
+        when_ -> Timestamp,
     }
 }
 
 table! {
-    person_alias_2 (id) {
+    language (id) {
         id -> Int4,
-        name -> Varchar,
-        display_name -> Nullable<Varchar>,
-        avatar -> Nullable<Varchar>,
-        banned -> Bool,
-        published -> Timestamp,
-        updated -> Nullable<Timestamp>,
-        actor_id -> Varchar,
-        bio -> Nullable<Text>,
-        local -> Bool,
-        private_key -> Nullable<Text>,
-        public_key -> Nullable<Text>,
-        last_refreshed_at -> Timestamp,
-        banner -> Nullable<Varchar>,
-        deleted -> Bool,
-        inbox_url -> Varchar,
-        shared_inbox_url -> Nullable<Varchar>,
-        matrix_user_id -> Nullable<Text>,
-        admin -> Bool,
-        bot_account -> Bool,
+        code -> Text,
+        name -> Text,
     }
 }
 
 table! {
-  secret(id) {
+    local_user_language(id) {
+        id -> Int4,
+        local_user_id -> Int4,
+        language_id -> Int4,
+    }
+}
+
+table! {
+    site_language(id) {
+        id -> Int4,
+        site_id -> Int4,
+        language_id -> Int4,
+    }
+}
+
+table! {
+    community_language(id) {
+        id -> Int4,
+        community_id -> Int4,
+        language_id -> Int4,
+    }
+}
+
+table! {
+  instance(id) {
     id -> Int4,
-    jwt_secret -> Varchar,
+    domain -> Text,
+    software -> Nullable<Text>,
+    version -> Nullable<Text>,
+    published -> Timestamp,
+    updated -> Nullable<Timestamp>,
   }
 }
 
-joinable!(comment_alias_1 -> person_alias_1 (creator_id));
-joinable!(comment -> comment_alias_1 (parent_id));
-joinable!(person_mention -> person_alias_1 (recipient_id));
-joinable!(post -> person_alias_1 (creator_id));
-joinable!(comment -> person_alias_1 (creator_id));
+table! {
+  federation_allowlist(id) {
+    id -> Int4,
+    instance_id -> Int4,
+    published -> Timestamp,
+    updated -> Nullable<Timestamp>,
+  }
+}
+
+table! {
+  federation_blocklist(id) {
+    id -> Int4,
+    instance_id -> Int4,
+    published -> Timestamp,
+    updated -> Nullable<Timestamp>,
+  }
+}
+
+table! {
+  use crate::source::local_site::RegistrationModeType;
+  use diesel::sql_types::*;
 
-joinable!(post_report -> person_alias_2 (resolver_id));
-joinable!(comment_report -> person_alias_2 (resolver_id));
+  local_site(id) {
+    id -> Int4,
+    site_id -> Int4,
+    site_setup -> Bool,
+    enable_downvotes -> Bool,
+    enable_nsfw -> Bool,
+    community_creation_admin_only -> Bool,
+    require_email_verification -> Bool,
+    application_question -> Nullable<Text>,
+    private_instance -> Bool,
+    default_theme -> Text,
+    default_post_listing_type -> Text,
+    legal_information -> Nullable<Text>,
+    hide_modlog_mod_names -> Bool,
+    application_email_admins -> Bool,
+    slur_filter_regex -> Nullable<Text>,
+    actor_name_max_length -> Int4,
+    federation_enabled -> Bool,
+    federation_debug -> Bool,
+    federation_worker_count -> Int4,
+    captcha_enabled -> Bool,
+    captcha_difficulty -> Text,
+    registration_mode -> RegistrationModeType,
+    reports_email_admins -> Bool,
+    published -> Timestamp,
+    updated -> Nullable<Timestamp>,
+  }
+}
+
+table! {
+  local_site_rate_limit(id) {
+    id -> Int4,
+    local_site_id -> Int4,
+    message -> Int4,
+    message_per_second-> Int4,
+    post -> Int4,
+    post_per_second -> Int4,
+    register -> Int4,
+    register_per_second -> Int4,
+    image -> Int4,
+    image_per_second -> Int4,
+    comment -> Int4,
+    comment_per_second -> Int4,
+    search -> Int4,
+    search_per_second -> Int4,
+    published -> Timestamp,
+    updated -> Nullable<Timestamp>,
+  }
+}
+
+table! {
+  tagline(id) {
+    id -> Int4,
+    local_site_id -> Int4,
+    content -> Text,
+    published -> Timestamp,
+    updated -> Nullable<Timestamp>,
+  }
+}
+
+table! {
+    person_follower (id) {
+        id -> Int4,
+        person_id -> Int4,
+        follower_id -> Int4,
+        published -> Timestamp,
+        pending -> Bool,
+    }
+}
 
 joinable!(person_block -> person (person_id));
-joinable!(person_block -> person_alias_1 (target_id));
 
 joinable!(comment -> person (creator_id));
 joinable!(comment -> post (post_id));
@@ -600,15 +781,19 @@ joinable!(mod_remove_community -> community (community_id));
 joinable!(mod_remove_community -> person (mod_person_id));
 joinable!(mod_remove_post -> person (mod_person_id));
 joinable!(mod_remove_post -> post (post_id));
-joinable!(mod_sticky_post -> person (mod_person_id));
-joinable!(mod_sticky_post -> post (post_id));
+joinable!(mod_feature_post -> person (mod_person_id));
+joinable!(mod_feature_post -> post (post_id));
 joinable!(password_reset_request -> local_user (local_user_id));
 joinable!(person_aggregates -> person (person_id));
 joinable!(person_ban -> person (person_id));
 joinable!(person_mention -> comment (comment_id));
 joinable!(person_mention -> person (recipient_id));
+joinable!(comment_reply -> comment (comment_id));
+joinable!(comment_reply -> person (recipient_id));
 joinable!(post -> community (community_id));
 joinable!(post -> person (creator_id));
+joinable!(person_post_aggregates -> post (post_id));
+joinable!(person_post_aggregates -> person (person_id));
 joinable!(post_aggregates -> post (post_id));
 joinable!(post_like -> person (person_id));
 joinable!(post_like -> post (post_id));
@@ -617,8 +802,38 @@ joinable!(post_read -> post (post_id));
 joinable!(post_report -> post (post_id));
 joinable!(post_saved -> person (person_id));
 joinable!(post_saved -> post (post_id));
-joinable!(site -> person (creator_id));
 joinable!(site_aggregates -> site (site_id));
+joinable!(email_verification -> local_user (local_user_id));
+joinable!(registration_application -> local_user (local_user_id));
+joinable!(registration_application -> person (admin_id));
+joinable!(mod_hide_community -> person (mod_person_id));
+joinable!(mod_hide_community -> community (community_id));
+joinable!(post -> language (language_id));
+joinable!(comment -> language (language_id));
+joinable!(local_user_language -> language (language_id));
+joinable!(local_user_language -> local_user (local_user_id));
+joinable!(private_message_report -> private_message (private_message_id));
+joinable!(site_language -> language (language_id));
+joinable!(site_language -> site (site_id));
+joinable!(community_language -> language (language_id));
+joinable!(community_language -> community (community_id));
+joinable!(person_follower -> person (follower_id));
+
+joinable!(admin_purge_comment -> person (admin_person_id));
+joinable!(admin_purge_comment -> post (post_id));
+joinable!(admin_purge_community -> person (admin_person_id));
+joinable!(admin_purge_person -> person (admin_person_id));
+joinable!(admin_purge_post -> community (community_id));
+joinable!(admin_purge_post -> person (admin_person_id));
+
+joinable!(site -> instance (instance_id));
+joinable!(person -> instance (instance_id));
+joinable!(community -> instance (instance_id));
+joinable!(federation_allowlist -> instance (instance_id));
+joinable!(federation_blocklist -> instance (instance_id));
+joinable!(local_site -> site (site_id));
+joinable!(local_site_rate_limit -> local_site (local_site_id));
+joinable!(tagline -> local_site (local_site_id));
 
 allow_tables_to_appear_in_same_query!(
   activity,
@@ -643,13 +858,16 @@ allow_tables_to_appear_in_same_query!(
   mod_remove_comment,
   mod_remove_community,
   mod_remove_post,
-  mod_sticky_post,
+  mod_feature_post,
+  mod_hide_community,
   password_reset_request,
   person,
   person_aggregates,
   person_ban,
   person_block,
   person_mention,
+  person_post_aggregates,
+  comment_reply,
   post,
   post_aggregates,
   post_like,
@@ -657,9 +875,24 @@ allow_tables_to_appear_in_same_query!(
   post_report,
   post_saved,
   private_message,
+  private_message_report,
   site,
   site_aggregates,
-  comment_alias_1,
-  person_alias_1,
-  person_alias_2,
+  admin_purge_comment,
+  admin_purge_community,
+  admin_purge_person,
+  admin_purge_post,
+  email_verification,
+  registration_application,
+  language,
+  tagline,
+  local_user_language,
+  site_language,
+  community_language,
+  instance,
+  federation_allowlist,
+  federation_blocklist,
+  local_site,
+  local_site_rate_limit,
+  person_follower
 );