refactor(phase3-session-b4): remove legacy router, __init__.py creates router directly

- Deleted empty routers/image_studio_router.py (legacy file)
- __init__.py now creates APIRouter directly instead of re-exporting from legacy
- Same prefix, tags, and all 33 routes preserved
- app.py imports unchanged: from routers.image_studio import router as image_studio_router

Final package structure:
routers/image_studio/
  ├── __init__.py  ← creates router, includes 10 sub-routers
  ├── models.py    ← 40 Pydantic models
  ├── deps.py      ← shared dependencies
  ├── create.py edit.py face_swap.py upscale.py  ← endpoint groups
  ├── control.py social.py transform.py
  ├── compress.py convert.py health.py
This commit is contained in:
ajaysi
2026-05-09 13:42:10 +05:30
parent 85d6cc1d20
commit 4fdc7d3ea0
2 changed files with 13 additions and 61 deletions

View File

@@ -1,10 +1,10 @@
"""Image Studio API router package.
Composed from modular sub-routers. Same prefix and tags as the original monolithic file.
Legacy router is kept as an empty anchor for backward compatibility.
"""
from ..image_studio_router import router as legacy_router
from fastapi import APIRouter
from .health import router as health_router
from .upscale import router as upscale_router
from .control import router as control_router
@@ -16,17 +16,17 @@ from .transform import router as transform_router
from .compress import router as compress_router
from .convert import router as convert_router
legacy_router.include_router(health_router)
legacy_router.include_router(upscale_router)
legacy_router.include_router(control_router)
legacy_router.include_router(social_router)
legacy_router.include_router(edit_router)
legacy_router.include_router(face_swap_router)
legacy_router.include_router(create_router)
legacy_router.include_router(transform_router)
legacy_router.include_router(compress_router)
legacy_router.include_router(convert_router)
router = APIRouter(prefix="/api/image-studio", tags=["image-studio"])
router = legacy_router
router.include_router(health_router)
router.include_router(upscale_router)
router.include_router(control_router)
router.include_router(social_router)
router.include_router(edit_router)
router.include_router(face_swap_router)
router.include_router(create_router)
router.include_router(transform_router)
router.include_router(compress_router)
router.include_router(convert_router)
__all__ = ["router"]

View File

@@ -1,48 +0,0 @@
"""API endpoints for Image Studio operations."""
import base64
from pathlib import Path
from typing import Dict, Any, Optional
from fastapi import APIRouter, Depends, HTTPException, status, Query
from fastapi.responses import FileResponse
from .image_studio.models import (
CreateImageRequest, CostEstimationRequest,
EditImageRequest, EditImageResponse, EditOperationsResponse,
EditModelsResponse, EditModelRecommendationRequest, EditModelRecommendationResponse,
UpscaleImageRequest, UpscaleImageResponse,
FaceSwapRequest, FaceSwapResponse, FaceSwapModelsResponse,
FaceSwapModelRecommendationRequest, FaceSwapModelRecommendationResponse,
ControlImageRequest, ControlImageResponse, ControlOperationsResponse,
SocialOptimizeRequest, SocialOptimizeResponse, PlatformFormatsResponse,
TransformImageToVideoRequestModel, TalkingAvatarRequestModel,
TransformVideoResponse, TransformCostEstimateRequest, TransformCostEstimateResponse,
CompressImageRequest, CompressImageResponse, CompressBatchRequest, CompressBatchResponse,
CompressionEstimateRequest, CompressionEstimateResponse,
CompressionFormatsResponse, CompressionPresetsResponse,
ConvertFormatRequest, ConvertFormatResponse, ConvertFormatBatchRequest, ConvertFormatBatchResponse,
SupportedFormatsResponse, FormatRecommendationsResponse,
)
from .image_studio.deps import get_studio_manager, _require_user_id
from services.image_studio import (
ImageStudioManager,
CreateStudioRequest,
EditStudioRequest,
ControlStudioRequest,
SocialOptimizerRequest,
TransformImageToVideoRequest,
TalkingAvatarRequest,
)
from services.image_studio.face_swap_service import FaceSwapStudioRequest
from services.image_studio.upscale_service import UpscaleStudioRequest
from services.image_studio.templates import Platform, TemplateCategory
from middleware.auth_middleware import get_current_user, get_current_user_with_query_token
from utils.logger_utils import get_service_logger
logger = get_service_logger("api.image_studio")
router = APIRouter(prefix="/api/image-studio", tags=["image-studio"])