Files
ALwrity/backend/routers/image_studio/deps.py
ajaysi 19a5af9682 refactor(phase3-session-a): extract Image Studio models and deps into separate modules
- Created routers/image_studio/models.py with all 40 Pydantic models
- Created routers/image_studio/deps.py with get_studio_manager() and _require_user_id()
- Renamed old monolithic image_studio.py -> image_studio_router.py
- Updated __init__.py to re-export the router for backward compatibility
- Old file now imports models and deps from new modules (no inline definitions)

Backward compatibility: from routers.image_studio import router still works.
Route count unchanged: 33 routes, prefix /api/image-studio.
2026-05-14 09:11:51 +05:30

36 lines
1.1 KiB
Python

"""Shared dependencies for Image Studio API endpoints."""
from typing import Dict, Any
from fastapi import Depends, HTTPException, status
from services.image_studio import ImageStudioManager
from middleware.auth_middleware import get_current_user
from utils.logger_utils import get_service_logger
logger = get_service_logger("api.image_studio")
def get_studio_manager() -> ImageStudioManager:
"""Get Image Studio Manager instance."""
return ImageStudioManager()
def _require_user_id(current_user: Dict[str, Any], operation: str) -> str:
"""Ensure user_id is available for protected operations."""
user_id = (
current_user.get("sub")
or current_user.get("user_id")
or current_user.get("id")
or current_user.get("clerk_user_id")
)
if not user_id:
logger.error(
"[Image Studio] ❌ Missing user_id for %s operation - blocking request",
operation,
)
raise HTTPException(
status_code=status.HTTP_401_UNAUTHORIZED,
detail="Authenticated user required for image operations.",
)
return user_id