mastodon/app/controllers/concerns/api/interaction_policies_concern.rb

24 lines
645 B
Ruby

# frozen_string_literal: true
module Api::InteractionPoliciesConcern
extend ActiveSupport::Concern
def quote_approval_policy
return nil unless Mastodon::Feature.outgoing_quotes_enabled?
case status_params[:quote_approval_policy]
when 'public'
Status::QUOTE_APPROVAL_POLICY_FLAGS[:public] << 16
when 'followers'
Status::QUOTE_APPROVAL_POLICY_FLAGS[:followers] << 16
when 'nobody'
0
when nil
Status::QUOTE_APPROVAL_POLICY_FLAGS[current_user.setting_default_quote_policy&.to_sym] << 16
else
# TODO: raise more useful message
raise ActiveRecord::RecordInvalid
end
end
end