2025-11-06 07:23:24 +00:00
|
|
|
from fastapi import FastAPI
|
|
|
|
|
from fastapi.middleware.cors import CORSMiddleware
|
|
|
|
|
from core.config import API_VERSION, ALLOWED_ORIGINS
|
2025-10-29 10:07:48 +00:00
|
|
|
from database.connection import engine
|
|
|
|
|
from database.models import Base
|
2025-11-17 03:53:15 +00:00
|
|
|
from api.routers.system_router import router as system_router
|
|
|
|
|
from api.routers.upload_file_router import router as upload_router
|
|
|
|
|
from api.routers.auth_router import router as auth_router
|
2025-11-24 01:57:43 +00:00
|
|
|
from api.routers.datasets_router import router as dataset_router
|
|
|
|
|
# from contextlib import asynccontextmanager
|
|
|
|
|
# from utils.qgis_init import init_qgis
|
2025-10-29 10:07:48 +00:00
|
|
|
|
2025-10-30 04:42:21 +00:00
|
|
|
app = FastAPI(
|
|
|
|
|
title="ETL Geo Upload Service",
|
2025-11-06 07:23:24 +00:00
|
|
|
version=API_VERSION,
|
2025-10-30 04:42:21 +00:00
|
|
|
description="Upload Automation API"
|
|
|
|
|
)
|
2025-10-29 10:07:48 +00:00
|
|
|
|
|
|
|
|
app.add_middleware(
|
|
|
|
|
CORSMiddleware,
|
2025-11-06 07:23:24 +00:00
|
|
|
allow_origins=ALLOWED_ORIGINS,
|
2025-10-29 10:07:48 +00:00
|
|
|
allow_credentials=True,
|
2025-11-06 07:23:24 +00:00
|
|
|
allow_methods=["*"],
|
|
|
|
|
allow_headers=["*"],
|
2025-10-29 10:07:48 +00:00
|
|
|
)
|
|
|
|
|
|
2025-11-17 03:53:15 +00:00
|
|
|
# Base.metadata.create_all(bind=engine)
|
|
|
|
|
|
|
|
|
|
# qgis setup
|
2025-11-24 01:57:43 +00:00
|
|
|
# @asynccontextmanager
|
|
|
|
|
# async def lifespan(app: FastAPI):
|
|
|
|
|
# global qgs
|
|
|
|
|
# qgs = init_qgis()
|
|
|
|
|
# print("QGIS initialized")
|
|
|
|
|
|
|
|
|
|
# yield
|
|
|
|
|
|
|
|
|
|
# # SHUTDOWN (optional)
|
|
|
|
|
# print("Shutting down...")
|
|
|
|
|
|
|
|
|
|
# app = FastAPI(lifespan=lifespan)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# @app.get("/qgis/status")
|
|
|
|
|
# def qgis_status():
|
|
|
|
|
# try:
|
|
|
|
|
# version = QgsApplication.qgisVersion()
|
|
|
|
|
# return {
|
|
|
|
|
# "qgis_status": "connected",
|
|
|
|
|
# "qgis_version": version
|
|
|
|
|
# }
|
|
|
|
|
# except Exception as e:
|
|
|
|
|
# return {
|
|
|
|
|
# "qgis_status": "error",
|
|
|
|
|
# "error": str(e)
|
|
|
|
|
# }
|
2025-10-29 10:07:48 +00:00
|
|
|
|
2025-11-06 07:23:24 +00:00
|
|
|
# Register routers
|
|
|
|
|
app.include_router(system_router, tags=["System"])
|
|
|
|
|
app.include_router(auth_router, prefix="/auth", tags=["Auth"])
|
2025-11-24 01:57:43 +00:00
|
|
|
app.include_router(upload_router, prefix="/upload", tags=["Upload"])
|
|
|
|
|
app.include_router(dataset_router, prefix="/dataset", tags=["Upload"])
|