85 lines
3.3 KiB
Python
85 lines
3.3 KiB
Python
from fastapi import APIRouter, status, UploadFile, File
|
|||
|
|
from app.routers.connections import router as connections_router
|
||
|
|
from app.routers.trino import router as trino_router
|
||
|
|
from app.routers.docs import router as docs_router
|
||
|
|
from app.routers.storage import router as storage_router, upload_file
|
||
|
|
from app.routers.pipelines import (
|
||
|
|
router as pipelines_router,
|
||
|
|
create_draft,
|
||
|
|
deploy_pipeline,
|
||
|
|
publish_version,
|
||
|
|
)
|
||
|
|
from app.routers.sitomat import router as sitomat_router
|
||
|
|
from app.routers.governance import router as governance_router
|
||
|
|
from app.routers.alerts import router as alerts_router
|
||
|
|
from app.routers.auth import router as auth_router
|
||
|
|
from app.routers.settings import router as settings_router
|
||
|
|
from app.routers.gws import router as gws_router
|
||
|
|
from app.routers.dbt import router as dbt_router
|
||
|
|
from app.routers.dlt import router as dlt_router
|
||
|
|
from app.schemas.pipeline import DraftRequest, DeployRequest, PublishVersionRequest
|
||
|
|
|
||
|
|
# ==========================================
|
||
|
|
# RESTful API v1 Router
|
||
|
|
# ==========================================
|
||
|
|
api_v1_router = APIRouter(prefix="/api/v1")
|
||
|
|
api_v1_router.include_router(pipelines_router)
|
||
|
|
api_v1_router.include_router(connections_router)
|
||
|
|
api_v1_router.include_router(gws_router)
|
||
|
|
api_v1_router.include_router(dbt_router)
|
||
|
|
api_v1_router.include_router(dlt_router)
|
||
|
|
api_v1_router.include_router(trino_router)
|
||
|
|
api_v1_router.include_router(docs_router)
|
||
|
|
api_v1_router.include_router(storage_router)
|
||
|
|
api_v1_router.include_router(sitomat_router)
|
||
|
|
api_v1_router.include_router(governance_router)
|
||
|
|
api_v1_router.include_router(alerts_router)
|
||
|
|
api_v1_router.include_router(auth_router)
|
||
|
|
api_v1_router.include_router(settings_router)
|
||
|
|
|
||
|
|
# ==========================================
|
||
|
|
# Backward-Compatibility Router for React Canvas
|
||
|
|
# (Legacy endpoints at /api/*, hidden from OpenAPI docs to prevent duplicate clutter)
|
||
|
|
# ==========================================
|
||
|
|
legacy_router = APIRouter(prefix="/api", include_in_schema=False)
|
||
|
|
legacy_router.include_router(connections_router)
|
||
|
|
legacy_router.include_router(gws_router)
|
||
|
|
legacy_router.include_router(dbt_router)
|
||
|
|
legacy_router.include_router(dlt_router)
|
||
|
|
legacy_router.include_router(trino_router)
|
||
|
|
legacy_router.include_router(docs_router)
|
||
|
|
legacy_router.include_router(pipelines_router)
|
||
|
|
legacy_router.include_router(sitomat_router)
|
||
|
|
legacy_router.include_router(governance_router)
|
||
|
|
legacy_router.include_router(auth_router)
|
||
|
|
legacy_router.include_router(settings_router)
|
||
|
|
|
||
|
|
# Legacy aliases matching exact routes expected by StudioPage & InspectorPanel
|
||
|
|
@legacy_router.post("/save-draft", status_code=status.HTTP_201_CREATED)
|
||
|
|
def legacy_save_draft(req: DraftRequest):
|
||
|
|
return create_draft(req)
|
||
|
|
|
||
|
|
@legacy_router.post("/deploy-dag", status_code=status.HTTP_201_CREATED)
|
||
|
|
def legacy_deploy_dag(req: DeployRequest):
|
||
|
|
return deploy_pipeline(req)
|
||
|
|
|
||
|
|
@legacy_router.post("/publish-version", status_code=status.HTTP_201_CREATED)
|
||
|
|
def legacy_publish_version(req: PublishVersionRequest):
|
||
|
|
return publish_version(req)
|
||
|
|
|
||
|
|
@legacy_router.post("/upload-file")
|
||
|
|
async def legacy_upload_file(file: UploadFile = File(...)):
|
||
|
|
return await upload_file(file)
|
||
|
|
|
||
|
|
__all__ = [
|
||
|
|
"api_v1_router",
|
||
|
|
"legacy_router",
|
||
|
|
"connections_router",
|
||
|
|
"trino_router",
|
||
|
|
"docs_router",
|
||
|
|
"storage_router",
|
||
|
|
"pipelines_router",
|
||
|
|
"sitomat_router",
|
||
|
|
"governance_router",
|
||
|
|
]
|