// @generated automatically by Diesel CLI.

diesel::table! {
    af_collab_metadata (object_id) {
        object_id -> Text,
        updated_at -> BigInt,
        prev_sync_state_vector -> Binary,
        collab_type -> Integer,
    }
}

diesel::table! {
    chat_local_setting_table (chat_id) {
        chat_id -> Text,
        local_model_path -> Text,
        local_model_name -> Text,
    }
}

diesel::table! {
    chat_message_table (message_id) {
        message_id -> BigInt,
        chat_id -> Text,
        content -> Text,
        created_at -> BigInt,
        author_type -> BigInt,
        author_id -> Text,
        reply_message_id -> Nullable<BigInt>,
        metadata -> Nullable<Text>,
    }
}

diesel::table! {
    chat_table (chat_id) {
        chat_id -> Text,
        created_at -> BigInt,
        name -> Text,
        local_files -> Text,
        metadata -> Text,
        local_enabled -> Bool,
        sync_to_cloud -> Bool,
    }
}

diesel::table! {
    collab_snapshot (id) {
        id -> Text,
        object_id -> Text,
        title -> Text,
        desc -> Text,
        collab_type -> Text,
        timestamp -> BigInt,
        data -> Binary,
    }
}

diesel::table! {
    upload_file_part (upload_id, e_tag) {
        upload_id -> Text,
        e_tag -> Text,
        part_num -> Integer,
    }
}

diesel::table! {
    upload_file_table (workspace_id, file_id, parent_dir) {
        workspace_id -> Text,
        file_id -> Text,
        parent_dir -> Text,
        local_file_path -> Text,
        content_type -> Text,
        chunk_size -> Integer,
        num_chunk -> Integer,
        upload_id -> Text,
        created_at -> BigInt,
        is_finish -> Bool,
    }
}

diesel::table! {
    user_data_migration_records (id) {
        id -> Integer,
        migration_name -> Text,
        executed_at -> Timestamp,
    }
}

diesel::table! {
    user_table (id) {
        id -> Text,
        name -> Text,
        workspace -> Text,
        icon_url -> Text,
        openai_key -> Text,
        token -> Text,
        email -> Text,
        auth_type -> Integer,
        encryption_type -> Text,
        stability_ai_key -> Text,
        updated_at -> BigInt,
        ai_model -> Text,
    }
}

diesel::table! {
    user_workspace_table (id) {
        id -> Text,
        name -> Text,
        uid -> BigInt,
        created_at -> BigInt,
        database_storage_id -> Text,
        icon -> Text,
        member_count -> BigInt,
        role -> Nullable<Integer>,
    }
}

diesel::table! {
    workspace_members_table (email, workspace_id) {
        email -> Text,
        role -> Integer,
        name -> Text,
        avatar_url -> Nullable<Text>,
        uid -> BigInt,
        workspace_id -> Text,
        updated_at -> Timestamp,
    }
}

diesel::allow_tables_to_appear_in_same_query!(
  af_collab_metadata,
  chat_local_setting_table,
  chat_message_table,
  chat_table,
  collab_snapshot,
  upload_file_part,
  upload_file_table,
  user_data_migration_records,
  user_table,
  user_workspace_table,
  workspace_members_table,
);
