feat(appliance): initial release of MERICA standalone appliance v1.0.0
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
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",
|
||||
]
|
||||
Reference in New Issue
Block a user