(username: str, type: str = "system")
| 271 | class CaptchaSerializer(serializers.Serializer): |
| 272 | @staticmethod |
| 273 | def generate(username: str, type: str = "system"): |
| 274 | auth_setting = LoginSerializer.get_auth_setting() |
| 275 | max_attempts = auth_setting.get("max_attempts", 1) |
| 276 | |
| 277 | need_captcha = True |
| 278 | if max_attempts == -1: |
| 279 | need_captcha = False |
| 280 | elif max_attempts > 0: |
| 281 | fail_count = cache.get(system_get_key(f"system_{username}"), version=system_version) or 0 |
| 282 | need_captcha = fail_count >= max_attempts |
| 283 | |
| 284 | return CaptchaSerializer._generate_captcha_if_needed(username, type, need_captcha) |
| 285 | |
| 286 | @staticmethod |
| 287 | def chat_generate(username: str, type: str = "chat", access_token: str = ""): |
no test coverage detected