from fastapi import APIRouter

from app.core.dependency import DependPermission

from .apis import apis_router
from .app_users import app_users_router
from .app_valuations import app_valuations_router
from .auditlog import auditlog_router
from .base import base_router
from .depts import depts_router
from .esg.esg import router as esg_router
from .index.index import router as index_router
from .industry.industry import router as industry_router
from .menus import menus_router
from .policy.policy import router as policy_router
from .roles import roles_router
from .third_party_api import third_party_api_router
from .users import users_router
from .valuations import router as valuations_router

v1_router = APIRouter()

v1_router.include_router(base_router, prefix="/base")
v1_router.include_router(app_users_router, prefix="/app-user")  # AppUser路由，无需权限依赖
v1_router.include_router(app_valuations_router, prefix="/app-valuations")  # 用户端估值评估路由，需要认证
v1_router.include_router(users_router, prefix="/user", dependencies=[DependPermission])
v1_router.include_router(roles_router, prefix="/role", dependencies=[DependPermission])
v1_router.include_router(menus_router, prefix="/menu", dependencies=[DependPermission])
v1_router.include_router(apis_router, prefix="/api", dependencies=[DependPermission])
v1_router.include_router(depts_router, prefix="/dept", dependencies=[DependPermission])
v1_router.include_router(auditlog_router, prefix="/auditlog", dependencies=[DependPermission])
v1_router.include_router(esg_router, prefix="/esg", dependencies=[DependPermission])
v1_router.include_router(index_router, prefix="/index", dependencies=[DependPermission])
v1_router.include_router(industry_router, prefix="/industry", dependencies=[DependPermission])
v1_router.include_router(policy_router, prefix="/policy", dependencies=[DependPermission])
v1_router.include_router(third_party_api_router, prefix="/third_party_api", dependencies=[DependPermission])
v1_router.include_router(valuations_router, prefix="/valuations", dependencies=[DependPermission])
