| |
| from fastapi import APIRouter, Depends, Query |
| from app.deps import verify_api_key |
| from typing import Dict |
| from app.schemas.org_schema import OrgSchema |
| router = APIRouter(prefix="/api/v1/schema", tags=["schema"]) |
|
|
| @router.get("/discover") |
| async def discover_schema( |
| org_id: str = Query(..., description="Organization ID"), |
| api_key: str = Depends(verify_api_key), |
| ): |
| """Return column mappings for this org""" |
| schema = OrgSchema(org_id) |
| return schema.get_mapping() |
|
|
| @router.post("/override") |
| async def override_schema( |
| mapping: Dict[str, str], |
| org_id: str = Query(..., description="Organization ID"), |
| api_key: str = Depends(verify_api_key), |
| ): |
|
|
| """Allow manual column mapping override""" |
| schema = OrgSchema(org_id) |
| schema.save_mapping(mapping) |
| return {"status": "saved", "mapping": mapping} |