mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			26 lines
		
	
	
		
			913 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			913 B
		
	
	
	
		
			Python
		
	
	
	
	
	
from argparse import ArgumentParser
 | 
						|
from typing import Any
 | 
						|
 | 
						|
from django.core.management.base import CommandError
 | 
						|
from typing_extensions import override
 | 
						|
 | 
						|
from zerver.lib.management import ZulipBaseCommand
 | 
						|
from zproject.backends import RateLimitedAuthenticationByUsername
 | 
						|
 | 
						|
 | 
						|
class Command(ZulipBaseCommand):
 | 
						|
    help = """Reset the rate limit for authentication attempts for username."""
 | 
						|
 | 
						|
    @override
 | 
						|
    def add_arguments(self, parser: ArgumentParser) -> None:
 | 
						|
        parser.add_argument("-u", "--username", help="Username to reset the rate limit for.")
 | 
						|
 | 
						|
    @override
 | 
						|
    def handle(self, *args: Any, **options: Any) -> None:
 | 
						|
        if not options["username"]:
 | 
						|
            self.print_help("./manage.py", "reset_authentication_attempt_count")
 | 
						|
            raise CommandError("Please enter a username")
 | 
						|
 | 
						|
        username = options["username"]
 | 
						|
        RateLimitedAuthenticationByUsername(username).clear_history()
 |