2024-02-01 00:08:34 -05:00

29 lines
938 B
Python

import logging
from app.classes.web.base_api_handler import BaseApiHandler
logger = logging.getLogger(__name__)
auth_log = logging.getLogger("auth")
class ApiCraftyLockoutHandler(BaseApiHandler):
def get(self):
auth_log.warning(f"Anti-Lockout request from {self.get_remote_ip()}")
self.controller.log_antilockout(self.get_remote_ip())
if self.controller.users.get_id_by_name("anti-lockout-user"):
return self.finish_json(
425, {"status": "error", "data": "Lockout recovery already in progress"}
)
self.controller.users.start_anti_lockout()
lockout_msg = (
"Lockout account has been activated for 1 hour."
" Please find temporary credentials in the terminal"
)
return self.finish_json(
200,
{
"status": "ok",
"data": lockout_msg,
},
)