Add antenna ignore reboot setting

This commit is contained in:
KMY 2023-05-10 12:37:46 +09:00
parent 7c31932828
commit 1c174a6f7b
8 changed files with 21 additions and 3 deletions

View file

@ -59,7 +59,7 @@ class AntennasController < ApplicationController
end
def resource_params
params.require(:antenna).permit(:title, :list, :available, :expires_in, :with_media_only, :keywords_raw, :exclude_keywords_raw, :domains_raw, :exclude_domains_raw, :accounts_raw, :exclude_accounts_raw, :tags_raw, :exclude_tags_raw)
params.require(:antenna).permit(:title, :list, :available, :expires_in, :with_media_only, :ignore_reblog, :keywords_raw, :exclude_keywords_raw, :domains_raw, :exclude_domains_raw, :accounts_raw, :exclude_accounts_raw, :tags_raw, :exclude_tags_raw)
end
def thin_resource_params

View file

@ -23,6 +23,7 @@
# exclude_accounts :jsonb
# exclude_tags :jsonb
# stl :boolean default(FALSE), not null
# ignore_reblog :boolean default(FALSE), not null
#
class Antenna < ApplicationRecord
include Expireable

View file

@ -127,6 +127,7 @@ class FanOutOnWriteService < BaseService
antennas = Antenna.availables
antennas = antennas.left_joins(:antenna_domains).where(any_domains: true).or(Antenna.left_joins(:antenna_domains).where(antenna_domains: { name: domain }))
antennas = antennas.where(with_media_only: false) unless @status.with_media?
antennas = antennas.where(ignore_reblog: false) unless @status.reblog?
antennas = antennas.where(stl: true) if @account.dissubscribable
antennas = Antenna.where(id: antennas.select(:id))

View file

@ -55,3 +55,5 @@
%hr.spacer/
.fields-group
= f.input :with_media_only, wrapper: :with_label, label: t('antennas.edit.with_media_only'), hint: false
.fields-group
= f.input :ignore_reblog, wrapper: :with_label, label: t('antennas.edit.ignore_reblog'), hint: false

View file

@ -1012,6 +1012,7 @@ en:
exclude_keywords_raw: Excluding keyword list
exclude_tags_raw: Excluding hashtag list
hint: 下のリストに、絞り込み条件・除外条件を入力します。条件は複数指定することができます。1行につき1つずつ入力してください。空行、コメント、重複を含めることはできません。
ignore_reblog: Ignore BTs
keywords_hint: キーワードは1つあたり最低2文字です。キーワードによる絞り込みを指定した場合、検索許可に対応しているサーバーからの投稿は、検索許可が「公開」以外のものは掲載されなくなります
keywords_raw: Keyword list
list: Destination list

View file

@ -1009,6 +1009,7 @@ ja:
exclude_keywords_raw: 除外するキーワード
exclude_tags_raw: 除外するハッシュタグ
hint: 下のリストに、絞り込み条件・除外条件を入力します。条件は複数指定することができます。1行につき1つずつ入力してください。空行、コメント、重複を含めることはできません。絞り込み条件除外条件ではないは最低1つ設定しなければいけません。
ignore_reblog: ブーストを含めない
keywords_hint: キーワードは1つあたり最低2文字です。キーワードによる絞り込みを指定した場合、検索許可に対応しているサーバーからの投稿は、検索許可が「公開」以外のものは掲載されなくなります
keywords_raw: 絞り込むキーワード
list: 投稿配置先リスト

View file

@ -0,0 +1,10 @@
# frozen_string_literal: true
class AddIgnoreReblogToAntennas < ActiveRecord::Migration[6.1]
def change
safety_assured do
add_column :antennas, :ignore_reblog, :boolean, null: false, default: false
add_index :antennas, :ignore_reblog
end
end
end

View file

@ -12,7 +12,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 2023_05_10_004621) do
ActiveRecord::Schema.define(version: 2023_05_10_033040) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@ -308,12 +308,14 @@ ActiveRecord::Schema.define(version: 2023_05_10_004621) do
t.jsonb "exclude_accounts"
t.jsonb "exclude_tags"
t.boolean "stl", default: false, null: false
t.boolean "ignore_reblog", default: false, null: false
t.index ["account_id"], name: "index_antennas_on_account_id"
t.index ["any_accounts"], name: "index_antennas_on_any_accounts"
t.index ["any_domains"], name: "index_antennas_on_any_domains"
t.index ["any_keywords"], name: "index_antennas_on_any_keywords"
t.index ["any_tags"], name: "index_antennas_on_any_tags"
t.index ["available"], name: "index_antennas_on_available"
t.index ["ignore_reblog"], name: "index_antennas_on_ignore_reblog"
t.index ["list_id"], name: "index_antennas_on_list_id"
t.index ["stl"], name: "index_antennas_on_stl"
end
@ -1483,4 +1485,4 @@ ActiveRecord::Schema.define(version: 2023_05_10_004621) do
end
#rubocop:enable all
# rubocop:enable all