Files
hold-slayer/api/deps.py
Robert Helewka 4a3c14d4af
All checks were successful
CVE Scan & Docker Build / security-scan (push) Successful in 45s
CVE Scan & Docker Build / build-and-push (push) Successful in 1m53s
docs: add Claude AI assistant rules and configuration
Add comprehensive rule documentation for AI-assisted development covering
authentication surfaces, outbound-call safety invariants, and other project
conventions to guide Claude's understanding of critical system behaviors.
2026-07-28 19:01:38 -04:00

27 lines
866 B
Python

"""
API Dependencies — Shared dependency injection for all routes.
Auth is not here: the owner gate lives in `auth.py` (`get_current_owner` /
`OwnerUser`), applied as a router-level dependency in main.py.
"""
from fastapi import HTTPException, Request
from core.gateway import AIPSTNGateway
def get_gateway(request: Request) -> AIPSTNGateway:
"""Get the gateway instance from app state."""
gateway = getattr(request.app.state, "gateway", None)
if gateway is None:
raise HTTPException(status_code=503, detail="Gateway not initialized")
return gateway
def get_routing_service(request: Request):
"""Get the routing service from app state."""
routing = getattr(request.app.state, "routing_service", None)
if routing is None:
raise HTTPException(status_code=503, detail="Routing service not ready")
return routing