auth(2fa): add one-time recovery codes with regenerate/status APIs
All checks were successful
CI / test (push) Successful in 40s

This commit is contained in:
2026-03-08 19:16:15 +03:00
parent f91a6493ff
commit fb812c9a39
10 changed files with 320 additions and 10 deletions

View File

@@ -15,6 +15,7 @@ class LoginRequest(BaseModel):
email: EmailStr
password: str = Field(min_length=8, max_length=128)
otp_code: str | None = Field(default=None, min_length=6, max_length=8)
recovery_code: str | None = Field(default=None, min_length=6, max_length=32)
class RefreshTokenRequest(BaseModel):
@@ -86,6 +87,14 @@ class TwoFactorCodeRequest(BaseModel):
code: str = Field(min_length=6, max_length=8)
class TwoFactorRecoveryCodesRead(BaseModel):
codes: list[str]
class TwoFactorRecoveryStatusRead(BaseModel):
remaining_codes: int
class EmailStatusResponse(BaseModel):
email: EmailStr
registered: bool