Disable registrations flag in /api/v1/instance when CAPTCHA is enabled

This is to avoid apps trying and failing at using the registrations API,
which does not let us require a CAPTCHA and cannot be clearly signaled as
unavailable.
This commit is contained in:
Claire
2022-01-25 13:54:11 +01:00
parent bf351d72af
commit a9269f8786
2 changed files with 6 additions and 2 deletions

View File

@ -98,7 +98,7 @@ class REST::InstanceSerializer < ActiveModel::Serializer
end
def registrations
Setting.registrations_mode != 'none' && !Rails.configuration.x.single_user_mode
Setting.registrations_mode != 'none' && !Rails.configuration.x.single_user_mode && !captcha_enabled?
end
def approval_required
@ -114,4 +114,8 @@ class REST::InstanceSerializer < ActiveModel::Serializer
def instance_presenter
@instance_presenter ||= InstancePresenter.new
end
def captcha_enabled?
ENV['HCAPTCHA_SECRET_KEY'].present? && ENV['HCAPTCHA_SITE_KEY'].present? && Setting.captcha_enabled
end
end