chore: enforce ruff lint and format standards across backend
This commit is contained in:
parent
a8e312a4f8
commit
a6cc585dd0
39 changed files with 459 additions and 559 deletions
|
|
@ -1,5 +1,6 @@
|
|||
"""Access + auth HTTP API (magic-link login, session cookie)."""
|
||||
|
||||
from typing import Annotated
|
||||
from uuid import UUID
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException, Query, Request, Response
|
||||
|
|
@ -68,11 +69,9 @@ def _set_session_cookie(response: Response, session_id: str) -> None:
|
|||
|
||||
|
||||
@access_router.post("/requests", response_model=AccessRequestRead, status_code=201)
|
||||
def create_request(data: AccessRequestCreate, session: Session = Depends(get_db)):
|
||||
def create_request(data: AccessRequestCreate, session: Annotated[Session, Depends(get_db)]):
|
||||
try:
|
||||
request = service.create_access_request(
|
||||
session, data.name, data.email, data.reason
|
||||
)
|
||||
request = service.create_access_request(session, data.name, data.email, data.reason)
|
||||
except service.RateLimitedError as exc:
|
||||
raise HTTPException(status_code=429, detail=str(exc)) from exc
|
||||
mail.send_access_notification(str(request.id), request.name, request.email)
|
||||
|
|
@ -81,9 +80,9 @@ def create_request(data: AccessRequestCreate, session: Session = Depends(get_db)
|
|||
|
||||
@access_router.get("/requests", response_model=list[AccessRequestRead])
|
||||
def list_requests(
|
||||
session: Annotated[Session, Depends(get_db)],
|
||||
admin: Annotated[User, Depends(require_admin)],
|
||||
status: str | None = Query(default=None),
|
||||
session: Session = Depends(get_db),
|
||||
admin: User = Depends(require_admin),
|
||||
):
|
||||
return [_read_request(r) for r in service.list_access_requests(session, status)]
|
||||
|
||||
|
|
@ -91,13 +90,11 @@ def list_requests(
|
|||
@access_router.post("/requests/{request_id}/approve", response_model=AccessDecisionRead)
|
||||
def approve_request(
|
||||
request_id: UUID,
|
||||
session: Session = Depends(get_db),
|
||||
admin: User = Depends(require_admin),
|
||||
session: Annotated[Session, Depends(get_db)],
|
||||
admin: Annotated[User, Depends(require_admin)],
|
||||
):
|
||||
try:
|
||||
request, _user, token = service.approve_access_request(
|
||||
session, request_id, admin.email
|
||||
)
|
||||
request, _user, token = service.approve_access_request(session, request_id, admin.email)
|
||||
except service.NotFoundError as exc:
|
||||
raise HTTPException(status_code=404, detail=str(exc)) from exc
|
||||
except service.ConflictError as exc:
|
||||
|
|
@ -110,8 +107,8 @@ def approve_request(
|
|||
@access_router.post("/requests/{request_id}/reject", response_model=AccessRequestRead)
|
||||
def reject_request(
|
||||
request_id: UUID,
|
||||
session: Session = Depends(get_db),
|
||||
admin: User = Depends(require_admin),
|
||||
session: Annotated[Session, Depends(get_db)],
|
||||
admin: Annotated[User, Depends(require_admin)],
|
||||
):
|
||||
try:
|
||||
request = service.reject_access_request(session, request_id, admin.email)
|
||||
|
|
@ -125,7 +122,7 @@ def reject_request(
|
|||
@auth_router.post("/magic/request", response_model=MagicRequestRead)
|
||||
def request_magic(
|
||||
data: MagicRequestRequest,
|
||||
session: Session = Depends(get_db),
|
||||
session: Annotated[Session, Depends(get_db)],
|
||||
):
|
||||
"""Email-first login: allowed emails get a magic link mailed.
|
||||
|
||||
|
|
@ -146,7 +143,7 @@ def request_magic(
|
|||
def consume_magic(
|
||||
data: MagicConsumeRequest,
|
||||
response: Response,
|
||||
session: Session = Depends(get_db),
|
||||
session: Annotated[Session, Depends(get_db)],
|
||||
):
|
||||
try:
|
||||
user_session = service.consume_magic_token(session, data.token)
|
||||
|
|
@ -164,7 +161,7 @@ def consume_magic(
|
|||
|
||||
|
||||
@auth_router.get("/me", response_model=MeRead)
|
||||
def read_me(user: User = Depends(get_current_user)):
|
||||
def read_me(user: Annotated[User, Depends(get_current_user)]):
|
||||
return _read_me(user)
|
||||
|
||||
|
||||
|
|
@ -172,7 +169,7 @@ def read_me(user: User = Depends(get_current_user)):
|
|||
def logout(
|
||||
request: Request,
|
||||
response: Response,
|
||||
session: Session = Depends(get_db),
|
||||
session: Annotated[Session, Depends(get_db)],
|
||||
):
|
||||
# Revoke the server-side row when the cookie maps to a live session;
|
||||
# always clear the client cookie.
|
||||
|
|
@ -184,7 +181,7 @@ def logout(
|
|||
|
||||
|
||||
@auth_router.post("/admin-bootstrap", response_model=MessageRead, status_code=201)
|
||||
def admin_bootstrap(data: AdminBootstrapRequest, session: Session = Depends(get_db)):
|
||||
def admin_bootstrap(data: AdminBootstrapRequest, session: Annotated[Session, Depends(get_db)]):
|
||||
try:
|
||||
_user, token = service.bootstrap_admin(session, data.email)
|
||||
except service.ConflictError as exc:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue