Adds GET /api/v1/demo/manifest as a single source of truth for the demo's fictional org identity (Northstar Mobility -- surfacing the project's already-locked tenant name), synthetic-data/reset state, and live scenario readiness. Rewrites the login screen in Dutch with an honest, no-password demo entry and a guided-demo entry point, replaces the loud full-width demo banner with a subtle badge + popover, and adds a compact About page explaining what's real vs. synthetic vs. not yet connected.
31 lines
977 B
Python
31 lines
977 B
Python
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",
|
|
),
|
|
)
|