"""
SITAR API Main Router

Router principal que incluye todos los sub-routers de SITAR.
Registra este router en tu aplicación FastAPI principal.

Usage:
    from api.v1.modules.sitar.main_router import router as sitar_router

    app.include_router(
        sitar_router,
        prefix="/api/v1/sitar",
        tags=["sitar"]
    )
"""

from fastapi import APIRouter

# Import all sub-routers
from .tlcs.router import router as tlcs_router
from .fracciones.router import router as fracciones_router
from .fracciones_usa.router import router as fracciones_usa_router
from .regulaciones.router import router as regulaciones_router
from .prosec.router import router as prosec_router
from .precios_estimados.router import router as precios_estimados_router
from .fundamentos_tlc.router import router as fundamentos_tlc_router
from .aladi2.router import router as aladi2_router
from .cuotas2.router import router as cuotas2_router
from .cupos.router import router as cupos_router
from .fracciones_anteriores.router import router as fracciones_anteriores_router
from .informacion_general.router import router as informacion_general_router
from .ieps.router import router as ieps_router
from .noms.router import router as noms_router
from .rcg2.router import router as rcg2_router
from .reit.router import router as reit_router
from .requisito_previo.router import router as requisito_previo_router
from .vehiculos_marcas.router import router as vehiculos_marcas_router
from .vehiculos_modelos.router import router as vehiculos_modelos_router

# Create main router
router = APIRouter()

# Include all sub-routers with their prefixes
router.include_router(tlcs_router, prefix="/tlcs", tags=["sitar-tlcs"])
router.include_router(
    fracciones_router, prefix="/fracciones", tags=["sitar-fracciones"]
)
router.include_router(
    fracciones_usa_router, prefix="/fracciones-usa", tags=["sitar-fracciones-usa"]
)
router.include_router(
    regulaciones_router, prefix="/regulaciones", tags=["sitar-regulaciones"]
)
router.include_router(prosec_router, prefix="/prosec", tags=["sitar-prosec"])
router.include_router(
    precios_estimados_router,
    prefix="/precios-estimados",
    tags=["sitar-precios-estimados"],
)
router.include_router(
    fundamentos_tlc_router, prefix="/fundamentos-tlc", tags=["sitar-fundamentos-tlc"]
)
router.include_router(aladi2_router, prefix="/aladi2", tags=["sitar-aladi2"])
router.include_router(cuotas2_router, prefix="/cuotas2", tags=["sitar-cuotas2"])
router.include_router(cupos_router, prefix="/cupos", tags=["sitar-cupos"])
router.include_router(
    fracciones_anteriores_router,
    prefix="/fracciones-anteriores",
    tags=["sitar-fracciones-anteriores"],
)
router.include_router(
    informacion_general_router,
    prefix="/informacion-general",
    tags=["sitar-informacion-general"],
)
router.include_router(ieps_router, prefix="/ieps", tags=["sitar-ieps"])
router.include_router(noms_router, prefix="/noms", tags=["sitar-noms"])
router.include_router(rcg2_router, prefix="/rcg2", tags=["sitar-rcg2"])
router.include_router(reit_router, prefix="/reit", tags=["sitar-reit"])
router.include_router(
    requisito_previo_router, prefix="/requisito-previo", tags=["sitar-requisito-previo"]
)
router.include_router(
    vehiculos_marcas_router, prefix="/vehiculos-marcas", tags=["sitar-vehiculos-marcas"]
)
router.include_router(
    vehiculos_modelos_router,
    prefix="/vehiculos-modelos",
    tags=["sitar-vehiculos-modelos"],
)
