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:
@@ -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"]
|
||||
|
||||
@@ -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"])
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user