mirror of
				https://github.com/NicolasConstant/BirdsiteLive
				synced 2025-06-05 21:49:16 +02:00 
			
		
		
		
	refactoring user regex
This commit is contained in:
		
							
								
								
									
										9
									
								
								src/BirdsiteLive.Common/Regexes/UserRegex.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								src/BirdsiteLive.Common/Regexes/UserRegex.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | |||||||
|  | using System.Text.RegularExpressions; | ||||||
|  |  | ||||||
|  | namespace BirdsiteLive.Common.Regexes | ||||||
|  | { | ||||||
|  |     public class UserRegex | ||||||
|  |     { | ||||||
|  |         public static readonly Regex TwitterAccountRegex = new Regex(@"^[a-zA-Z0-9_]+$"); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -9,6 +9,7 @@ using System.Threading; | |||||||
| using System.Threading.Tasks; | using System.Threading.Tasks; | ||||||
| using BirdsiteLive.ActivityPub; | using BirdsiteLive.ActivityPub; | ||||||
| using BirdsiteLive.ActivityPub.Models; | using BirdsiteLive.ActivityPub.Models; | ||||||
|  | using BirdsiteLive.Common.Regexes; | ||||||
| using BirdsiteLive.Common.Settings; | using BirdsiteLive.Common.Settings; | ||||||
| using BirdsiteLive.Domain; | using BirdsiteLive.Domain; | ||||||
| using BirdsiteLive.Models; | using BirdsiteLive.Models; | ||||||
| @@ -28,7 +29,6 @@ namespace BirdsiteLive.Controllers | |||||||
|         private readonly IUserService _userService; |         private readonly IUserService _userService; | ||||||
|         private readonly IStatusService _statusService; |         private readonly IStatusService _statusService; | ||||||
|         private readonly InstanceSettings _instanceSettings; |         private readonly InstanceSettings _instanceSettings; | ||||||
|         private readonly Regex _twitterAccountRegex = new Regex(@"^[a-zA-Z0-9_]+$"); |  | ||||||
|  |  | ||||||
|         #region Ctor |         #region Ctor | ||||||
|         public UsersController(ITwitterUserService twitterUserService, IUserService userService, IStatusService statusService, InstanceSettings instanceSettings, ITwitterTweetsService twitterTweetService) |         public UsersController(ITwitterUserService twitterUserService, IUserService userService, IStatusService statusService, InstanceSettings instanceSettings, ITwitterTweetsService twitterTweetService) | ||||||
| @@ -62,7 +62,7 @@ namespace BirdsiteLive.Controllers | |||||||
|             // Ensure valid username  |             // Ensure valid username  | ||||||
|             // https://help.twitter.com/en/managing-your-account/twitter-username-rules |             // https://help.twitter.com/en/managing-your-account/twitter-username-rules | ||||||
|             TwitterUser user = null; |             TwitterUser user = null; | ||||||
|             if (!string.IsNullOrWhiteSpace(id) && _twitterAccountRegex.IsMatch(id) && id.Length <= 15) |             if (!string.IsNullOrWhiteSpace(id) && UserRegex.TwitterAccountRegex.IsMatch(id) && id.Length <= 15) | ||||||
|                 user = _twitterUserService.GetUser(id); |                 user = _twitterUserService.GetUser(id); | ||||||
|  |  | ||||||
|             var acceptHeaders = Request.Headers["Accept"]; |             var acceptHeaders = Request.Headers["Accept"]; | ||||||
|   | |||||||
| @@ -4,6 +4,7 @@ using System.Linq; | |||||||
| using System.Text.RegularExpressions; | using System.Text.RegularExpressions; | ||||||
| using System.Threading.Tasks; | using System.Threading.Tasks; | ||||||
| using BirdsiteLive.ActivityPub.Converters; | using BirdsiteLive.ActivityPub.Converters; | ||||||
|  | using BirdsiteLive.Common.Regexes; | ||||||
| using BirdsiteLive.Common.Settings; | using BirdsiteLive.Common.Settings; | ||||||
| using BirdsiteLive.DAL.Contracts; | using BirdsiteLive.DAL.Contracts; | ||||||
| using BirdsiteLive.Models; | using BirdsiteLive.Models; | ||||||
| @@ -20,7 +21,6 @@ namespace BirdsiteLive.Controllers | |||||||
|         private readonly ITwitterUserService _twitterUserService; |         private readonly ITwitterUserService _twitterUserService; | ||||||
|         private readonly ITwitterUserDal _twitterUserDal; |         private readonly ITwitterUserDal _twitterUserDal; | ||||||
|         private readonly InstanceSettings _settings; |         private readonly InstanceSettings _settings; | ||||||
|         private readonly Regex _twitterAccountRegex = new Regex(@"^[a-zA-Z0-9_]+$"); |  | ||||||
|  |  | ||||||
|         #region Ctor |         #region Ctor | ||||||
|         public WellKnownController(InstanceSettings settings, ITwitterUserService twitterUserService, ITwitterUserDal twitterUserDal) |         public WellKnownController(InstanceSettings settings, ITwitterUserService twitterUserService, ITwitterUserDal twitterUserDal) | ||||||
| @@ -164,7 +164,7 @@ namespace BirdsiteLive.Controllers | |||||||
|  |  | ||||||
|             // Ensure valid username  |             // Ensure valid username  | ||||||
|             // https://help.twitter.com/en/managing-your-account/twitter-username-rules |             // https://help.twitter.com/en/managing-your-account/twitter-username-rules | ||||||
|             if (string.IsNullOrWhiteSpace(name) || !_twitterAccountRegex.IsMatch(name) || name.Length > 15 ) |             if (string.IsNullOrWhiteSpace(name) || !UserRegex.TwitterAccountRegex.IsMatch(name) || name.Length > 15 ) | ||||||
|                 return NotFound(); |                 return NotFound(); | ||||||
|  |  | ||||||
|             if (!string.IsNullOrWhiteSpace(domain) && domain != _settings.Domain) |             if (!string.IsNullOrWhiteSpace(domain) && domain != _settings.Domain) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user