fix: address final-review hygiene items (pydantic config, cookie alias, argon2 exception scope)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013PphXq1s43DNRj1uWKGXof
This commit is contained in:
Indiana
2026-07-20 16:00:35 +00:00
parent b8168b69a1
commit ed5313158d
4 changed files with 6 additions and 7 deletions

View File

@@ -12,7 +12,7 @@ SESSION_COOKIE_NAME = "qm_session"
async def get_current_user( async def get_current_user(
qm_session: str | None = Cookie(default=None), qm_session: str | None = Cookie(default=None, alias=SESSION_COOKIE_NAME),
db: AsyncSession = Depends(get_db), db: AsyncSession = Depends(get_db),
) -> User: ) -> User:
if qm_session is None: if qm_session is None:

View File

@@ -65,7 +65,7 @@ async def login(payload: LoginRequest, response: Response, db: AsyncSession = De
@router.post("/logout", status_code=status.HTTP_204_NO_CONTENT) @router.post("/logout", status_code=status.HTTP_204_NO_CONTENT)
async def logout( async def logout(
response: Response, response: Response,
qm_session: str | None = Cookie(default=None), qm_session: str | None = Cookie(default=None, alias=SESSION_COOKIE_NAME),
db: AsyncSession = Depends(get_db), db: AsyncSession = Depends(get_db),
): ):
if qm_session is not None: if qm_session is not None:

View File

@@ -1,6 +1,6 @@
import uuid import uuid
from pydantic import BaseModel, Field from pydantic import BaseModel, ConfigDict, Field
class RegisterRequest(BaseModel): class RegisterRequest(BaseModel):
@@ -13,8 +13,7 @@ class UserOut(BaseModel):
id: uuid.UUID id: uuid.UUID
username: str username: str
class Config: model_config = ConfigDict(from_attributes=True)
from_attributes = True
class LoginRequest(BaseModel): class LoginRequest(BaseModel):

View File

@@ -1,5 +1,5 @@
from argon2 import PasswordHasher from argon2 import PasswordHasher
from argon2.exceptions import VerifyMismatchError from argon2.exceptions import VerificationError
_hasher = PasswordHasher() _hasher = PasswordHasher()
@@ -11,5 +11,5 @@ def hash_password(password: str) -> str:
def verify_password(password: str, password_hash: str) -> bool: def verify_password(password: str, password_hash: str) -> bool:
try: try:
return _hasher.verify(password_hash, password) return _hasher.verify(password_hash, password)
except VerifyMismatchError: except VerificationError:
return False return False