nas/app/models/concerns/account_master_settings.rb
KMY(雪あすか) 76f2f2ed0c
Add: #87 フォロワーのみに購読を許可する設定 (#239)
* Wip: マイグレーション、設定など一式

* Fix test

* Fix test

* Fix: マスター用の設定を他サーバーに送信しないよう修正

* DTL、外部サーバーの情報受け入れのテストを追加

* スペルミスを修正

* Web画面に設定項目追加

* 既存の`master_settings`を上書きしないよう修正
2023-11-08 17:51:36 +09:00

28 lines
641 B
Ruby

# frozen_string_literal: true
module AccountMasterSettings
extend ActiveSupport::Concern
included do
def subscription_policy
return master_settings['subscription_policy']&.to_sym || :allow if master_settings.present?
# allow, followers_only, block
:allow
end
def subscription_policy=(val)
self.master_settings = (master_settings.nil? ? {} : master_settings).merge({ 'subscription_policy' => val })
end
def all_subscribable?
subscription_policy == :allow
end
def public_master_settings
{
'subscription_policy' => subscription_policy,
}
end
end
end