from app.api.routes.asset_diagnosis import router as asset_diagnosis_router
from app.api.routes.asset_libraries import router as asset_libraries_router
from app.api.routes.assets import router as assets_router
from app.api.routes.auth import router as auth_router
from app.api.routes.chunked_upload import router as chunked_upload_router
from app.api.routes.classification_jobs import router as classification_jobs_router
from app.api.routes.dashboard import router as dashboard_router
from app.api.routes.duplication import router as duplication_router
from app.api.routes.edit_plans import router as edit_plans_router
from app.api.routes.edit_templates import router as edit_templates_router
from app.api.routes.generated_videos import router as generated_videos_router
from app.api.routes.generation_tasks import router as generation_tasks_router
from app.api.routes.health import router as health_check_router
from app.api.routes.ingest_jobs import router as ingest_jobs_router
from app.api.routes.jobs import router as jobs_router
from app.api.routes.projects import router as projects_router
from app.api.routes.recipes import router as recipes_router
from app.api.routes.subscription import router as subscription_router
from app.api.routes.tags import router as tags_router
from app.api.routes.task_center import router as task_center_router
from app.api.routes.templates import router as templates_router
from app.api.routes.titles import router as titles_router
from app.api.routes.tts import router as tts_router
from app.api.routes.upload import router as upload_router
from app.api.routes.voice_clones import router as voice_clones_router
from app.api.routes.voices import router as voices_router
from fastapi import APIRouter

api_router = APIRouter(prefix="/api/v1")
health_router = APIRouter()
health_router.include_router(health_check_router)

api_router.include_router(
    auth_router,
    tags=["Auth"],
)
api_router.include_router(
    projects_router,
    prefix="/projects",
    tags=["Project"],
)
api_router.include_router(
    tags_router,
    prefix="/tags",
    tags=["Tag"],
)
api_router.include_router(
    task_center_router,
    tags=["TaskCenter"],
)
api_router.include_router(
    asset_diagnosis_router,
    tags=["AssetDiagnosis"],
)
api_router.include_router(
    asset_libraries_router,
    prefix="/asset-libraries",
    tags=["AssetLibrary"],
)
api_router.include_router(
    assets_router,
    prefix="/assets",
    tags=["Asset"],
)
api_router.include_router(
    ingest_jobs_router,
    prefix="/ingest-jobs",
    tags=["IngestJob"],
)
api_router.include_router(
    classification_jobs_router,
    prefix="/classification-jobs",
    tags=["ClassificationJob"],
)
api_router.include_router(
    upload_router,
    prefix="/upload",
    tags=["Upload"],
)
api_router.include_router(
    chunked_upload_router,
    prefix="/upload/chunk",
    tags=["ChunkedUpload"],
)
api_router.include_router(
    generation_tasks_router,
    prefix="/generation",
    tags=["Generation"],
)
api_router.include_router(
    jobs_router,
    tags=["Job"],
)
api_router.include_router(
    generated_videos_router,
    prefix="/generated-videos",
    tags=["GeneratedVideo"],
)
api_router.include_router(
    titles_router,
    prefix="/titles",
    tags=["TitleLibrary"],
)
api_router.include_router(
    voices_router,
    prefix="/voices",
    tags=["VoiceLibrary"],
)
api_router.include_router(
    voice_clones_router,
    prefix="/voice-clones",
    tags=["VoiceClone"],
)
api_router.include_router(
    duplication_router,
    prefix="/duplication",
    tags=["Duplication"],
)
api_router.include_router(
    subscription_router,
    prefix="/subscription",
    tags=["Subscription"],
)
api_router.include_router(
    recipes_router,
    prefix="/recipes",
    tags=["Recipe"],
)
api_router.include_router(
    templates_router,
    prefix="/templates",
    tags=["Template"],
)
api_router.include_router(
    dashboard_router,
    prefix="/dashboard",
    tags=["Dashboard"],
)
api_router.include_router(
    edit_templates_router,
    prefix="/edit-templates",
    tags=["EditTemplate"],
)
api_router.include_router(
    edit_plans_router,
    prefix="/edit-plans",
    tags=["EditPlan"],
)
api_router.include_router(
    tts_router,
    prefix="/tts",
    tags=["TTS"],
)
