From ee49cbd492c8cab5611317f789de6e0daa7ecf28 Mon Sep 17 00:00:00 2001 From: Claire Date: Mon, 20 Jan 2025 16:50:33 +0100 Subject: [PATCH] Add `quote_approval_policy` to Status --- app/models/status.rb | 7 +++++++ ...20250404095029_add_quote_approval_policy_to_statuses.rb | 7 +++++++ db/schema.rb | 3 ++- 3 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 db/migrate/20250404095029_add_quote_approval_policy_to_statuses.rb diff --git a/app/models/status.rb b/app/models/status.rb index 17375a306..c592ea553 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -44,6 +44,13 @@ class Status < ApplicationRecord MEDIA_ATTACHMENTS_LIMIT = 4 + QUOTE_APPROVAL_POLICY_FLAGS = { + public: (1 << 0), + followers: (1 << 1), + followed: (1 << 2), + unknown: (1 << 3), + }.freeze + rate_limit by: :account, family: :statuses self.discard_column = :deleted_at diff --git a/db/migrate/20250404095029_add_quote_approval_policy_to_statuses.rb b/db/migrate/20250404095029_add_quote_approval_policy_to_statuses.rb new file mode 100644 index 000000000..29e8b6fe5 --- /dev/null +++ b/db/migrate/20250404095029_add_quote_approval_policy_to_statuses.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +class AddQuoteApprovalPolicyToStatuses < ActiveRecord::Migration[8.0] + def change + add_column :statuses, :quote_approval_policy, :integer + end +end diff --git a/db/schema.rb b/db/schema.rb index 8b3daf845..7756c5312 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[8.0].define(version: 2025_04_04_094808) do +ActiveRecord::Schema[8.0].define(version: 2025_04_04_095029) do # These are extensions that must be enabled in order to support this database enable_extension "pg_catalog.plpgsql" @@ -1098,6 +1098,7 @@ ActiveRecord::Schema[8.0].define(version: 2025_04_04_094808) do t.boolean "trendable" t.bigint "ordered_media_attachment_ids", array: true t.datetime "fetched_replies_at" + t.integer "quote_approval_policy" t.index ["account_id", "id", "visibility", "updated_at"], name: "index_statuses_20190820", order: { id: :desc }, where: "(deleted_at IS NULL)" t.index ["account_id"], name: "index_statuses_on_account_id" t.index ["deleted_at"], name: "index_statuses_on_deleted_at", where: "(deleted_at IS NOT NULL)"