feat(auth): add DB-backed login, token management, and idempotent auth migration

This commit is contained in:
2026-04-03 12:55:34 +00:00
parent 5168e52e4b
commit 06b1805b92
28 changed files with 1609 additions and 140 deletions
+26
View File
@@ -21,8 +21,34 @@ class User:
id: str
username: str
email: str | None = None
permission: str = "read"
is_active: bool = True
password_hash: str | None = None
created_at: datetime | None = None
updated_at: datetime | None = None
last_login_at: datetime | None = None
@dataclass
class AuthToken:
id: str
user_id: str
name: str
token_prefix: str
permission: str
token_type: str
expires_at: datetime | None = None
last_used_at: datetime | None = None
revoked_at: datetime | None = None
created_at: datetime | None = None
@dataclass
class TokenPrincipal:
token_id: str
user_id: str
permission: str
token_type: str
@dataclass