From c84b7937a2e3433ffafa7769d4badda165b7d98f Mon Sep 17 00:00:00 2001 From: Nicolas Constant Date: Wed, 24 Feb 2021 00:36:25 -0500 Subject: [PATCH] set openRegistration status based on Whitelisting --- src/BirdsiteLive/Controllers/WellKnownController.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/BirdsiteLive/Controllers/WellKnownController.cs b/src/BirdsiteLive/Controllers/WellKnownController.cs index 4151ab0..501f783 100644 --- a/src/BirdsiteLive/Controllers/WellKnownController.cs +++ b/src/BirdsiteLive/Controllers/WellKnownController.cs @@ -7,6 +7,7 @@ using BirdsiteLive.ActivityPub.Converters; using BirdsiteLive.Common.Regexes; using BirdsiteLive.Common.Settings; using BirdsiteLive.DAL.Contracts; +using BirdsiteLive.Domain.Repository; using BirdsiteLive.Models; using BirdsiteLive.Models.WellKnownModels; using BirdsiteLive.Twitter; @@ -18,15 +19,17 @@ namespace BirdsiteLive.Controllers [ApiController] public class WellKnownController : ControllerBase { + private readonly IModerationRepository _moderationRepository; private readonly ITwitterUserService _twitterUserService; private readonly ITwitterUserDal _twitterUserDal; private readonly InstanceSettings _settings; #region Ctor - public WellKnownController(InstanceSettings settings, ITwitterUserService twitterUserService, ITwitterUserDal twitterUserDal) + public WellKnownController(InstanceSettings settings, ITwitterUserService twitterUserService, ITwitterUserDal twitterUserDal, IModerationRepository moderationRepository) { _twitterUserService = twitterUserService; _twitterUserDal = twitterUserDal; + _moderationRepository = moderationRepository; _settings = settings; } #endregion @@ -58,6 +61,7 @@ namespace BirdsiteLive.Controllers { var version = System.Reflection.Assembly.GetEntryAssembly().GetName().Version.ToString(3); var twitterUsersCount = await _twitterUserDal.GetTwitterUsersCountAsync(); + var isOpenRegistration = _moderationRepository.GetModerationType(ModerationEntityTypeEnum.Follower) != ModerationTypeEnum.WhiteListing; if (id == "2.0") { @@ -81,7 +85,7 @@ namespace BirdsiteLive.Controllers { "activitypub" }, - openRegistrations = false, + openRegistrations = isOpenRegistration, services = new Models.WellKnownModels.Services() { inbound = new object[0], @@ -117,7 +121,7 @@ namespace BirdsiteLive.Controllers { "activitypub" }, - openRegistrations = false, + openRegistrations = isOpenRegistration, services = new Models.WellKnownModels.Services() { inbound = new object[0],