from __future__ import annotations from fastapi import APIRouter, Depends from sqlalchemy.orm import Session from app.api.deps import get_db, require_operations_manager from app.core.config import get_settings from app.schemas import ( CurrentUser, IntegrationStatusOut, McpHubIntegrationStatus, ) from app.services.integration_status import derive_n8n_status router = APIRouter(prefix="/api/v1/integrations", tags=["integrations"]) settings = get_settings() @router.get("/status", response_model=IntegrationStatusOut) def integration_status( db: Session = Depends(get_db), _user: CurrentUser = Depends(require_operations_manager), ) -> IntegrationStatusOut: return IntegrationStatusOut( n8n=derive_n8n_status(db), mcp_hub=McpHubIntegrationStatus( registration_enabled=settings.mcp_hub_registration_enabled, state="configured" if settings.mcp_hub_registration_enabled else "not_configured", ), )