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.
|
"""Image Studio API router package.
|
||||||
|
|
||||||
Composed from modular sub-routers. Same prefix and tags as the original monolithic file.
|
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 .health import router as health_router
|
||||||
from .upscale import router as upscale_router
|
from .upscale import router as upscale_router
|
||||||
from .control import router as control_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 .compress import router as compress_router
|
||||||
from .convert import router as convert_router
|
from .convert import router as convert_router
|
||||||
|
|
||||||
legacy_router.include_router(health_router)
|
router = APIRouter(prefix="/api/image-studio", tags=["image-studio"])
|
||||||
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 = 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"]
|
__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