Coverage for src/lexigram/auth/models/mfa.py: 100%
14 statements
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-25 12:26 +0800
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-25 12:26 +0800
1"""MFA model for Lexigram Auth."""
3from __future__ import annotations
5from dataclasses import dataclass
6from datetime import datetime
9@dataclass(frozen=True)
10class UserMFA:
11 """Represents MFA configuration for a user."""
13 mfa_id: str
14 user_id: str
15 mfa_type: str = "totp"
16 secret: str = ""
17 is_enabled: bool = False
18 last_used_at: datetime | None = None
19 created_at: datetime | None = None
20 updated_at: datetime | None = None
23__all__ = [
24 "UserMFA",
25]