]> Untitled Git - lemmy.git/blobdiff - crates/db_schema/src/schema.rs
add enable_federated_downvotes site option
[lemmy.git] / crates / db_schema / src / schema.rs
index 91ad72789d9670c17388d6c6d4d2d29cb725e254..5aa54c9db4090a0d3fe56f0938832e080eb8c1bd 100644 (file)
@@ -1,33 +1,89 @@
-table! {
-    activity (id) {
+// @generated automatically by Diesel CLI.
+
+pub mod sql_types {
+  #[derive(diesel::sql_types::SqlType)]
+  #[diesel(postgres_type(name = "listing_type_enum"))]
+  pub struct ListingTypeEnum;
+
+  #[derive(diesel::sql_types::SqlType)]
+  #[diesel(postgres_type(name = "registration_mode_enum"))]
+  pub struct RegistrationModeEnum;
+
+  #[derive(diesel::sql_types::SqlType)]
+  #[diesel(postgres_type(name = "sort_type_enum"))]
+  pub struct SortTypeEnum;
+}
+
+diesel::table! {
+    admin_purge_comment (id) {
         id -> Int4,
-        data -> Jsonb,
-        local -> Bool,
+        admin_person_id -> Int4,
+        post_id -> Int4,
+        reason -> Nullable<Text>,
+        when_ -> Timestamp,
+    }
+}
+
+diesel::table! {
+    admin_purge_community (id) {
+        id -> Int4,
+        admin_person_id -> Int4,
+        reason -> Nullable<Text>,
+        when_ -> Timestamp,
+    }
+}
+
+diesel::table! {
+    admin_purge_person (id) {
+        id -> Int4,
+        admin_person_id -> Int4,
+        reason -> Nullable<Text>,
+        when_ -> Timestamp,
+    }
+}
+
+diesel::table! {
+    admin_purge_post (id) {
+        id -> Int4,
+        admin_person_id -> Int4,
+        community_id -> Int4,
+        reason -> Nullable<Text>,
+        when_ -> Timestamp,
+    }
+}
+
+diesel::table! {
+    captcha_answer (id) {
+        id -> Int4,
+        uuid -> Uuid,
+        answer -> Text,
         published -> Timestamp,
-        updated -> Nullable<Timestamp>,
-        ap_id -> Text,
-        sensitive -> Nullable<Bool>,
     }
 }
 
-table! {
+diesel::table! {
+    use diesel::sql_types::*;
+    use diesel_ltree::sql_types::Ltree;
+
     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,
+        #[max_length = 255]
         ap_id -> Varchar,
         local -> Bool,
+        path -> Ltree,
+        distinguished -> Bool,
+        language_id -> Int4,
     }
 }
 
-table! {
+diesel::table! {
     comment_aggregates (id) {
         id -> Int4,
         comment_id -> Int4,
@@ -35,10 +91,13 @@ table! {
         upvotes -> Int8,
         downvotes -> Int8,
         published -> Timestamp,
+        child_count -> Int4,
+        hot_rank -> Int4,
+        controversy_rank -> Float8,
     }
 }
 
-table! {
+diesel::table! {
     comment_like (id) {
         id -> Int4,
         person_id -> Int4,
@@ -49,7 +108,17 @@ table! {
     }
 }
 
-table! {
+diesel::table! {
+    comment_reply (id) {
+        id -> Int4,
+        recipient_id -> Int4,
+        comment_id -> Int4,
+        read -> Bool,
+        published -> Timestamp,
+    }
+}
+
+diesel::table! {
     comment_report (id) {
         id -> Int4,
         creator_id -> Int4,
@@ -63,7 +132,7 @@ table! {
     }
 }
 
-table! {
+diesel::table! {
     comment_saved (id) {
         id -> Int4,
         comment_id -> Int4,
@@ -72,10 +141,12 @@ table! {
     }
 }
 
-table! {
+diesel::table! {
     community (id) {
         id -> Int4,
+        #[max_length = 255]
         name -> Varchar,
+        #[max_length = 255]
         title -> Varchar,
         description -> Nullable<Text>,
         removed -> Bool,
@@ -83,22 +154,31 @@ table! {
         updated -> Nullable<Timestamp>,
         deleted -> Bool,
         nsfw -> Bool,
+        #[max_length = 255]
         actor_id -> Varchar,
         local -> Bool,
         private_key -> Nullable<Text>,
         public_key -> Text,
         last_refreshed_at -> Timestamp,
-        icon -> Nullable<Varchar>,
-        banner -> Nullable<Varchar>,
+        icon -> Nullable<Text>,
+        banner -> Nullable<Text>,
+        #[max_length = 255]
         followers_url -> Varchar,
+        #[max_length = 255]
         inbox_url -> Varchar,
+        #[max_length = 255]
         shared_inbox_url -> Nullable<Varchar>,
         hidden -> Bool,
         posting_restricted_to_mods -> Bool,
+        instance_id -> Int4,
+        #[max_length = 255]
+        moderators_url -> Nullable<Varchar>,
+        #[max_length = 255]
+        featured_url -> Nullable<Varchar>,
     }
 }
 
-table! {
+diesel::table! {
     community_aggregates (id) {
         id -> Int4,
         community_id -> Int4,
@@ -110,20 +190,38 @@ table! {
         users_active_week -> Int8,
         users_active_month -> Int8,
         users_active_half_year -> Int8,
+        hot_rank -> Int4,
+    }
+}
+
+diesel::table! {
+    community_block (id) {
+        id -> Int4,
+        person_id -> Int4,
+        community_id -> Int4,
+        published -> Timestamp,
     }
 }
 
-table! {
+diesel::table! {
     community_follower (id) {
         id -> Int4,
         community_id -> Int4,
         person_id -> Int4,
         published -> Timestamp,
-        pending -> Nullable<Bool>,
+        pending -> Bool,
+    }
+}
+
+diesel::table! {
+    community_language (id) {
+        id -> Int4,
+        community_id -> Int4,
+        language_id -> Int4,
     }
 }
 
-table! {
+diesel::table! {
     community_moderator (id) {
         id -> Int4,
         community_id -> Int4,
@@ -132,7 +230,7 @@ table! {
     }
 }
 
-table! {
+diesel::table! {
     community_person_ban (id) {
         id -> Int4,
         community_id -> Int4,
@@ -142,176 +240,341 @@ table! {
     }
 }
 
-table! {
+diesel::table! {
+    custom_emoji (id) {
+        id -> Int4,
+        local_site_id -> Int4,
+        #[max_length = 128]
+        shortcode -> Varchar,
+        image_url -> Text,
+        alt_text -> Text,
+        category -> Text,
+        published -> Timestamp,
+        updated -> Nullable<Timestamp>,
+    }
+}
+
+diesel::table! {
+    custom_emoji_keyword (id) {
+        id -> Int4,
+        custom_emoji_id -> Int4,
+        #[max_length = 128]
+        keyword -> Varchar,
+    }
+}
+
+diesel::table! {
+    email_verification (id) {
+        id -> Int4,
+        local_user_id -> Int4,
+        email -> Text,
+        verification_token -> Text,
+        published -> Timestamp,
+    }
+}
+
+diesel::table! {
+    federation_allowlist (id) {
+        id -> Int4,
+        instance_id -> Int4,
+        published -> Timestamp,
+        updated -> Nullable<Timestamp>,
+    }
+}
+
+diesel::table! {
+    federation_blocklist (id) {
+        id -> Int4,
+        instance_id -> Int4,
+        published -> Timestamp,
+        updated -> Nullable<Timestamp>,
+    }
+}
+
+diesel::table! {
+    instance (id) {
+        id -> Int4,
+        #[max_length = 255]
+        domain -> Varchar,
+        published -> Timestamp,
+        updated -> Nullable<Timestamp>,
+        #[max_length = 255]
+        software -> Nullable<Varchar>,
+        #[max_length = 255]
+        version -> Nullable<Varchar>,
+    }
+}
+
+diesel::table! {
+    language (id) {
+        id -> Int4,
+        #[max_length = 3]
+        code -> Varchar,
+        name -> Text,
+    }
+}
+
+diesel::table! {
+    use diesel::sql_types::*;
+    use super::sql_types::ListingTypeEnum;
+    use super::sql_types::RegistrationModeEnum;
+
+    local_site (id) {
+        id -> Int4,
+        site_id -> Int4,
+        site_setup -> Bool,
+        enable_downvotes -> Bool,
+        enable_federated_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 -> ListingTypeEnum,
+        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,
+        captcha_enabled -> Bool,
+        #[max_length = 255]
+        captcha_difficulty -> Varchar,
+        published -> Timestamp,
+        updated -> Nullable<Timestamp>,
+        registration_mode -> RegistrationModeEnum,
+        reports_email_admins -> Bool,
+    }
+}
+
+diesel::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>,
+    }
+}
+
+diesel::table! {
+    use diesel::sql_types::*;
+    use super::sql_types::SortTypeEnum;
+    use super::sql_types::ListingTypeEnum;
+
     local_user (id) {
         id -> Int4,
         person_id -> Int4,
         password_encrypted -> Text,
         email -> Nullable<Text>,
         show_nsfw -> Bool,
-        theme -> Varchar,
-        default_sort_type -> Int2,
-        default_listing_type -> Int2,
-        lang -> Varchar,
+        theme -> Text,
+        default_sort_type -> SortTypeEnum,
+        default_listing_type -> ListingTypeEnum,
+        #[max_length = 20]
+        interface_language -> Varchar,
         show_avatars -> Bool,
         send_notifications_to_email -> Bool,
         validator_time -> Timestamp,
-        show_bot_accounts -> Bool,
         show_scores -> Bool,
+        show_bot_accounts -> Bool,
         show_read_posts -> Bool,
         show_new_post_notifs -> Bool,
         email_verified -> Bool,
         accepted_application -> Bool,
+        totp_2fa_secret -> Nullable<Text>,
+        totp_2fa_url -> Nullable<Text>,
+        open_links_in_new_tab -> Bool,
+        blur_nsfw -> Bool,
+        auto_expand -> Bool,
+        infinite_scroll_enabled -> Bool,
     }
 }
 
-table! {
-    mod_add (id) {
+diesel::table! {
+    local_user_language (id) {
         id -> Int4,
-        mod_person_id -> Int4,
-        other_person_id -> Int4,
-        removed -> Nullable<Bool>,
-        when_ -> Timestamp,
+        local_user_id -> Int4,
+        language_id -> Int4,
     }
 }
 
-table! {
-    mod_add_community (id) {
+diesel::table! {
+    mod_add (id) {
         id -> Int4,
         mod_person_id -> Int4,
         other_person_id -> Int4,
-        community_id -> Int4,
-        removed -> Nullable<Bool>,
+        removed -> Bool,
         when_ -> Timestamp,
     }
 }
 
-table! {
-    mod_transfer_community (id) {
+diesel::table! {
+    mod_add_community (id) {
         id -> Int4,
         mod_person_id -> Int4,
         other_person_id -> Int4,
         community_id -> Int4,
-        removed -> Nullable<Bool>,
+        removed -> Bool,
         when_ -> Timestamp,
     }
 }
 
-table! {
+diesel::table! {
     mod_ban (id) {
         id -> Int4,
         mod_person_id -> Int4,
         other_person_id -> Int4,
         reason -> Nullable<Text>,
-        banned -> Nullable<Bool>,
+        banned -> Bool,
         expires -> Nullable<Timestamp>,
         when_ -> Timestamp,
     }
 }
 
-table! {
+diesel::table! {
     mod_ban_from_community (id) {
         id -> Int4,
         mod_person_id -> Int4,
         other_person_id -> Int4,
         community_id -> Int4,
         reason -> Nullable<Text>,
-        banned -> Nullable<Bool>,
+        banned -> Bool,
         expires -> Nullable<Timestamp>,
         when_ -> Timestamp,
     }
 }
 
-table! {
+diesel::table! {
+    mod_feature_post (id) {
+        id -> Int4,
+        mod_person_id -> Int4,
+        post_id -> Int4,
+        featured -> Bool,
+        when_ -> Timestamp,
+        is_featured_community -> Bool,
+    }
+}
+
+diesel::table! {
+    mod_hide_community (id) {
+        id -> Int4,
+        community_id -> Int4,
+        mod_person_id -> Int4,
+        when_ -> Timestamp,
+        reason -> Nullable<Text>,
+        hidden -> Bool,
+    }
+}
+
+diesel::table! {
     mod_lock_post (id) {
         id -> Int4,
         mod_person_id -> Int4,
         post_id -> Int4,
-        locked -> Nullable<Bool>,
+        locked -> Bool,
         when_ -> Timestamp,
     }
 }
 
-table! {
+diesel::table! {
     mod_remove_comment (id) {
         id -> Int4,
         mod_person_id -> Int4,
         comment_id -> Int4,
         reason -> Nullable<Text>,
-        removed -> Nullable<Bool>,
+        removed -> Bool,
         when_ -> Timestamp,
     }
 }
 
-table! {
+diesel::table! {
     mod_remove_community (id) {
         id -> Int4,
         mod_person_id -> Int4,
         community_id -> Int4,
         reason -> Nullable<Text>,
-        removed -> Nullable<Bool>,
+        removed -> Bool,
         expires -> Nullable<Timestamp>,
         when_ -> Timestamp,
     }
 }
 
-table! {
+diesel::table! {
     mod_remove_post (id) {
         id -> Int4,
         mod_person_id -> Int4,
         post_id -> Int4,
         reason -> Nullable<Text>,
-        removed -> Nullable<Bool>,
+        removed -> Bool,
         when_ -> Timestamp,
     }
 }
 
-table! {
-    mod_sticky_post (id) {
+diesel::table! {
+    mod_transfer_community (id) {
         id -> Int4,
         mod_person_id -> Int4,
-        post_id -> Int4,
-        stickied -> Nullable<Bool>,
+        other_person_id -> Int4,
+        community_id -> Int4,
         when_ -> Timestamp,
     }
 }
 
-table! {
+diesel::table! {
     password_reset_request (id) {
         id -> Int4,
-        token_encrypted -> Text,
+        token -> Text,
         published -> Timestamp,
         local_user_id -> Int4,
     }
 }
 
-table! {
+diesel::table! {
     person (id) {
         id -> Int4,
+        #[max_length = 255]
         name -> Varchar,
+        #[max_length = 255]
         display_name -> Nullable<Varchar>,
-        avatar -> Nullable<Varchar>,
+        avatar -> Nullable<Text>,
         banned -> Bool,
         published -> Timestamp,
         updated -> Nullable<Timestamp>,
+        #[max_length = 255]
         actor_id -> Varchar,
         bio -> Nullable<Text>,
         local -> Bool,
         private_key -> Nullable<Text>,
         public_key -> Text,
         last_refreshed_at -> Timestamp,
-        banner -> Nullable<Varchar>,
+        banner -> Nullable<Text>,
         deleted -> Bool,
+        #[max_length = 255]
         inbox_url -> Varchar,
+        #[max_length = 255]
         shared_inbox_url -> Nullable<Varchar>,
         matrix_user_id -> Nullable<Text>,
         admin -> Bool,
         bot_account -> Bool,
         ban_expires -> Nullable<Timestamp>,
+        instance_id -> Int4,
     }
 }
 
-table! {
+diesel::table! {
     person_aggregates (id) {
         id -> Int4,
         person_id -> Int4,
@@ -322,7 +585,7 @@ table! {
     }
 }
 
-table! {
+diesel::table! {
     person_ban (id) {
         id -> Int4,
         person_id -> Int4,
@@ -330,7 +593,26 @@ table! {
     }
 }
 
-table! {
+diesel::table! {
+    person_block (id) {
+        id -> Int4,
+        person_id -> Int4,
+        target_id -> Int4,
+        published -> Timestamp,
+    }
+}
+
+diesel::table! {
+    person_follower (id) {
+        id -> Int4,
+        person_id -> Int4,
+        follower_id -> Int4,
+        published -> Timestamp,
+        pending -> Bool,
+    }
+}
+
+diesel::table! {
     person_mention (id) {
         id -> Int4,
         recipient_id -> Int4,
@@ -340,10 +622,22 @@ table! {
     }
 }
 
-table! {
+diesel::table! {
+    person_post_aggregates (id) {
+        id -> Int4,
+        person_id -> Int4,
+        post_id -> Int4,
+        read_comments -> Int8,
+        published -> Timestamp,
+    }
+}
+
+diesel::table! {
     post (id) {
         id -> Int4,
+        #[max_length = 200]
         name -> Varchar,
+        #[max_length = 512]
         url -> Nullable<Varchar>,
         body -> Nullable<Text>,
         creator_id -> Int4,
@@ -354,17 +648,20 @@ table! {
         updated -> Nullable<Timestamp>,
         deleted -> Bool,
         nsfw -> Bool,
-        stickied -> Bool,
         embed_title -> Nullable<Text>,
         embed_description -> Nullable<Text>,
-        embed_video_url -> Nullable<Text>,
         thumbnail_url -> Nullable<Text>,
+        #[max_length = 255]
         ap_id -> Varchar,
         local -> Bool,
+        embed_video_url -> Nullable<Text>,
+        language_id -> Int4,
+        featured_community -> Bool,
+        featured_local -> Bool,
     }
 }
 
-table! {
+diesel::table! {
     post_aggregates (id) {
         id -> Int4,
         post_id -> Int4,
@@ -372,14 +669,20 @@ 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,
+        hot_rank -> Int4,
+        hot_rank_active -> Int4,
+        community_id -> Int4,
+        creator_id -> Int4,
+        controversy_rank -> Float8,
     }
 }
 
-table! {
+diesel::table! {
     post_like (id) {
         id -> Int4,
         post_id -> Int4,
@@ -389,7 +692,7 @@ table! {
     }
 }
 
-table! {
+diesel::table! {
     post_read (id) {
         id -> Int4,
         post_id -> Int4,
@@ -398,11 +701,12 @@ table! {
     }
 }
 
-table! {
+diesel::table! {
     post_report (id) {
         id -> Int4,
         creator_id -> Int4,
         post_id -> Int4,
+        #[max_length = 200]
         original_post_name -> Varchar,
         original_post_url -> Nullable<Text>,
         original_post_body -> Nullable<Text>,
@@ -414,7 +718,7 @@ table! {
     }
 }
 
-table! {
+diesel::table! {
     post_saved (id) {
         id -> Int4,
         post_id -> Int4,
@@ -423,7 +727,7 @@ table! {
     }
 }
 
-table! {
+diesel::table! {
     private_message (id) {
         id -> Int4,
         creator_id -> Int4,
@@ -433,324 +737,252 @@ table! {
         read -> Bool,
         published -> Timestamp,
         updated -> Nullable<Timestamp>,
+        #[max_length = 255]
         ap_id -> Varchar,
         local -> Bool,
     }
 }
 
-table! {
-    site (id) {
+diesel::table! {
+    private_message_report (id) {
         id -> Int4,
-        name -> Varchar,
-        sidebar -> Nullable<Text>,
+        creator_id -> Int4,
+        private_message_id -> Int4,
+        original_pm_text -> Text,
+        reason -> Text,
+        resolved -> Bool,
+        resolver_id -> Nullable<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,
-        require_email_verification -> Bool,
-        require_application -> Bool,
-        application_question -> Nullable<Text>,
-        private_instance -> Bool,
-        actor_id -> Text,
-        last_refreshed_at -> Timestamp,
-        inbox_url -> Text,
-        private_key -> Nullable<Text>,
-        public_key -> Text,
-        default_theme -> Text,
-        default_post_listing_type -> Text,
-        legal_information -> Nullable<Text>,
     }
 }
 
-table! {
-    site_aggregates (id) {
-        id -> Int4,
-        site_id -> Int4,
-        users -> Int8,
-        posts -> Int8,
-        comments -> Int8,
-        communities -> Int8,
-        users_active_day -> Int8,
-        users_active_week -> Int8,
-        users_active_month -> Int8,
-        users_active_half_year -> Int8,
+diesel::table! {
+    received_activity (id) {
+        id -> Int8,
+        ap_id -> Text,
+        published -> Timestamp,
     }
 }
 
-table! {
-    person_block (id) {
+diesel::table! {
+    registration_application (id) {
         id -> Int4,
-        person_id -> Int4,
-        target_id -> Int4,
+        local_user_id -> Int4,
+        answer -> Text,
+        admin_id -> Nullable<Int4>,
+        deny_reason -> Nullable<Text>,
         published -> Timestamp,
     }
 }
 
-table! {
-    community_block (id) {
+diesel::table! {
+    secret (id) {
         id -> Int4,
-        person_id -> Int4,
-        community_id -> Int4,
-        published -> Timestamp,
+        jwt_secret -> Varchar,
     }
 }
 
-// These are necessary since diesel doesn't have self joins / aliases
-table! {
-    comment_alias_1 (id) {
-        id -> Int4,
-        creator_id -> Int4,
-        post_id -> Int4,
-        parent_id -> Nullable<Int4>,
-        content -> Text,
-        removed -> Bool,
-        read -> Bool,
+diesel::table! {
+    sent_activity (id) {
+        id -> Int8,
+        ap_id -> Text,
+        data -> Json,
+        sensitive -> Bool,
         published -> Timestamp,
-        updated -> Nullable<Timestamp>,
-        deleted -> Bool,
-        ap_id -> Varchar,
-        local -> Bool,
     }
 }
 
-table! {
-    person_alias_1 (id) {
+diesel::table! {
+    site (id) {
         id -> Int4,
+        #[max_length = 20]
         name -> Varchar,
-        display_name -> Nullable<Varchar>,
-        avatar -> Nullable<Varchar>,
-        banned -> Bool,
+        sidebar -> Nullable<Text>,
         published -> Timestamp,
         updated -> Nullable<Timestamp>,
+        icon -> Nullable<Text>,
+        banner -> Nullable<Text>,
+        #[max_length = 150]
+        description -> Nullable<Varchar>,
+        #[max_length = 255]
         actor_id -> Varchar,
-        bio -> Nullable<Text>,
-        local -> Bool,
-        private_key -> Nullable<Text>,
-        public_key -> Text,
         last_refreshed_at -> Timestamp,
-        banner -> Nullable<Varchar>,
-        deleted -> Bool,
+        #[max_length = 255]
         inbox_url -> Varchar,
-        shared_inbox_url -> Nullable<Varchar>,
-        matrix_user_id -> Nullable<Text>,
-        admin -> Bool,
-        bot_account -> Bool,
-        ban_expires -> Nullable<Timestamp>,
-    }
-}
-
-table! {
-    person_alias_2 (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 -> 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,
-        ban_expires -> Nullable<Timestamp>,
+        instance_id -> Int4,
     }
 }
 
-table! {
-  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,
-  }
+diesel::table! {
+    site_aggregates (id) {
+        id -> Int4,
+        site_id -> Int4,
+        users -> Int8,
+        posts -> Int8,
+        comments -> Int8,
+        communities -> Int8,
+        users_active_day -> Int8,
+        users_active_week -> Int8,
+        users_active_month -> Int8,
+        users_active_half_year -> Int8,
+    }
 }
 
-table! {
-    registration_application (id) {
+diesel::table! {
+    site_language (id) {
         id -> Int4,
-        local_user_id -> Int4,
-        answer -> Text,
-        admin_id -> Nullable<Int4>,
-        deny_reason -> Nullable<Text>,
-        published -> Timestamp,
+        site_id -> Int4,
+        language_id -> Int4,
     }
 }
 
-table! {
-    mod_hide_community (id) {
+diesel::table! {
+    tagline (id) {
         id -> Int4,
-        community_id -> Int4,
-        mod_person_id -> Int4,
-        reason -> Nullable<Text>,
-        hidden -> Nullable<Bool>,
-        when_ -> Timestamp,
+        local_site_id -> Int4,
+        content -> 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));
-
-joinable!(post_report -> person_alias_2 (resolver_id));
-joinable!(comment_report -> person_alias_2 (resolver_id));
-
-joinable!(person_block -> person (person_id));
-joinable!(person_block -> person_alias_1 (target_id));
-
-joinable!(comment -> person (creator_id));
-joinable!(comment -> post (post_id));
-joinable!(comment_aggregates -> comment (comment_id));
-joinable!(comment_like -> comment (comment_id));
-joinable!(comment_like -> person (person_id));
-joinable!(comment_like -> post (post_id));
-joinable!(comment_report -> comment (comment_id));
-joinable!(comment_saved -> comment (comment_id));
-joinable!(comment_saved -> person (person_id));
-joinable!(community_aggregates -> community (community_id));
-joinable!(community_block -> community (community_id));
-joinable!(community_block -> person (person_id));
-joinable!(community_follower -> community (community_id));
-joinable!(community_follower -> person (person_id));
-joinable!(community_moderator -> community (community_id));
-joinable!(community_moderator -> person (person_id));
-joinable!(community_person_ban -> community (community_id));
-joinable!(community_person_ban -> person (person_id));
-joinable!(local_user -> person (person_id));
-joinable!(mod_add_community -> community (community_id));
-joinable!(mod_transfer_community -> community (community_id));
-joinable!(mod_ban_from_community -> community (community_id));
-joinable!(mod_lock_post -> person (mod_person_id));
-joinable!(mod_lock_post -> post (post_id));
-joinable!(mod_remove_comment -> comment (comment_id));
-joinable!(mod_remove_comment -> person (mod_person_id));
-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!(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!(post -> community (community_id));
-joinable!(post -> person (creator_id));
-joinable!(post_aggregates -> post (post_id));
-joinable!(post_like -> person (person_id));
-joinable!(post_like -> post (post_id));
-joinable!(post_read -> person (person_id));
-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_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!(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));
-
-allow_tables_to_appear_in_same_query!(
-  activity,
+diesel::joinable!(admin_purge_comment -> person (admin_person_id));
+diesel::joinable!(admin_purge_comment -> post (post_id));
+diesel::joinable!(admin_purge_community -> person (admin_person_id));
+diesel::joinable!(admin_purge_person -> person (admin_person_id));
+diesel::joinable!(admin_purge_post -> community (community_id));
+diesel::joinable!(admin_purge_post -> person (admin_person_id));
+diesel::joinable!(comment -> language (language_id));
+diesel::joinable!(comment -> person (creator_id));
+diesel::joinable!(comment -> post (post_id));
+diesel::joinable!(comment_aggregates -> comment (comment_id));
+diesel::joinable!(comment_like -> comment (comment_id));
+diesel::joinable!(comment_like -> person (person_id));
+diesel::joinable!(comment_like -> post (post_id));
+diesel::joinable!(comment_reply -> comment (comment_id));
+diesel::joinable!(comment_reply -> person (recipient_id));
+diesel::joinable!(comment_report -> comment (comment_id));
+diesel::joinable!(comment_saved -> comment (comment_id));
+diesel::joinable!(comment_saved -> person (person_id));
+diesel::joinable!(community -> instance (instance_id));
+diesel::joinable!(community_aggregates -> community (community_id));
+diesel::joinable!(community_block -> community (community_id));
+diesel::joinable!(community_block -> person (person_id));
+diesel::joinable!(community_follower -> community (community_id));
+diesel::joinable!(community_follower -> person (person_id));
+diesel::joinable!(community_language -> community (community_id));
+diesel::joinable!(community_language -> language (language_id));
+diesel::joinable!(community_moderator -> community (community_id));
+diesel::joinable!(community_moderator -> person (person_id));
+diesel::joinable!(community_person_ban -> community (community_id));
+diesel::joinable!(community_person_ban -> person (person_id));
+diesel::joinable!(custom_emoji -> local_site (local_site_id));
+diesel::joinable!(custom_emoji_keyword -> custom_emoji (custom_emoji_id));
+diesel::joinable!(email_verification -> local_user (local_user_id));
+diesel::joinable!(federation_allowlist -> instance (instance_id));
+diesel::joinable!(federation_blocklist -> instance (instance_id));
+diesel::joinable!(local_site -> site (site_id));
+diesel::joinable!(local_site_rate_limit -> local_site (local_site_id));
+diesel::joinable!(local_user -> person (person_id));
+diesel::joinable!(local_user_language -> language (language_id));
+diesel::joinable!(local_user_language -> local_user (local_user_id));
+diesel::joinable!(mod_add_community -> community (community_id));
+diesel::joinable!(mod_ban_from_community -> community (community_id));
+diesel::joinable!(mod_feature_post -> person (mod_person_id));
+diesel::joinable!(mod_feature_post -> post (post_id));
+diesel::joinable!(mod_hide_community -> community (community_id));
+diesel::joinable!(mod_hide_community -> person (mod_person_id));
+diesel::joinable!(mod_lock_post -> person (mod_person_id));
+diesel::joinable!(mod_lock_post -> post (post_id));
+diesel::joinable!(mod_remove_comment -> comment (comment_id));
+diesel::joinable!(mod_remove_comment -> person (mod_person_id));
+diesel::joinable!(mod_remove_community -> community (community_id));
+diesel::joinable!(mod_remove_community -> person (mod_person_id));
+diesel::joinable!(mod_remove_post -> person (mod_person_id));
+diesel::joinable!(mod_remove_post -> post (post_id));
+diesel::joinable!(mod_transfer_community -> community (community_id));
+diesel::joinable!(password_reset_request -> local_user (local_user_id));
+diesel::joinable!(person -> instance (instance_id));
+diesel::joinable!(person_aggregates -> person (person_id));
+diesel::joinable!(person_ban -> person (person_id));
+diesel::joinable!(person_mention -> comment (comment_id));
+diesel::joinable!(person_mention -> person (recipient_id));
+diesel::joinable!(person_post_aggregates -> person (person_id));
+diesel::joinable!(person_post_aggregates -> post (post_id));
+diesel::joinable!(post -> community (community_id));
+diesel::joinable!(post -> language (language_id));
+diesel::joinable!(post -> person (creator_id));
+diesel::joinable!(post_aggregates -> community (community_id));
+diesel::joinable!(post_aggregates -> person (creator_id));
+diesel::joinable!(post_aggregates -> post (post_id));
+diesel::joinable!(post_like -> person (person_id));
+diesel::joinable!(post_like -> post (post_id));
+diesel::joinable!(post_read -> person (person_id));
+diesel::joinable!(post_read -> post (post_id));
+diesel::joinable!(post_report -> post (post_id));
+diesel::joinable!(post_saved -> person (person_id));
+diesel::joinable!(post_saved -> post (post_id));
+diesel::joinable!(private_message_report -> private_message (private_message_id));
+diesel::joinable!(registration_application -> local_user (local_user_id));
+diesel::joinable!(registration_application -> person (admin_id));
+diesel::joinable!(site -> instance (instance_id));
+diesel::joinable!(site_aggregates -> site (site_id));
+diesel::joinable!(site_language -> language (language_id));
+diesel::joinable!(site_language -> site (site_id));
+diesel::joinable!(tagline -> local_site (local_site_id));
+
+diesel::allow_tables_to_appear_in_same_query!(
+  admin_purge_comment,
+  admin_purge_community,
+  admin_purge_person,
+  admin_purge_post,
+  captcha_answer,
   comment,
   comment_aggregates,
-  community_block,
   comment_like,
+  comment_reply,
   comment_report,
   comment_saved,
   community,
   community_aggregates,
+  community_block,
   community_follower,
+  community_language,
   community_moderator,
   community_person_ban,
+  custom_emoji,
+  custom_emoji_keyword,
+  email_verification,
+  federation_allowlist,
+  federation_blocklist,
+  instance,
+  language,
+  local_site,
+  local_site_rate_limit,
   local_user,
+  local_user_language,
   mod_add,
   mod_add_community,
-  mod_transfer_community,
   mod_ban,
   mod_ban_from_community,
+  mod_feature_post,
+  mod_hide_community,
   mod_lock_post,
   mod_remove_comment,
   mod_remove_community,
   mod_remove_post,
-  mod_sticky_post,
-  mod_hide_community,
+  mod_transfer_community,
   password_reset_request,
   person,
   person_aggregates,
   person_ban,
   person_block,
+  person_follower,
   person_mention,
+  person_post_aggregates,
   post,
   post_aggregates,
   post_like,
@@ -758,15 +990,13 @@ allow_tables_to_appear_in_same_query!(
   post_report,
   post_saved,
   private_message,
+  private_message_report,
+  received_activity,
+  registration_application,
+  secret,
+  sent_activity,
   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
+  site_language,
+  tagline,
 );