from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware

from routes.cochran_routes import router as cochran_router
from routes.sampling_routes import router as sampling_router
from routes.hierarchical_routes import router as hierarchical_router
from routes.autosampler_routes import router as autosampler_router
from routes.appender_routes import router as appender_router

app = FastAPI(title="Sampling Tool API", version="1.0.0")

app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

app.include_router(cochran_router,      prefix="/api/cochran",      tags=["Cochran"])
app.include_router(sampling_router,     prefix="/api/sampling",     tags=["Sampling"])
app.include_router(hierarchical_router, prefix="/api/hierarchical", tags=["Hierarchical Sampling"])
app.include_router(autosampler_router,  prefix="/api/autosampler",  tags=["Auto Sampler"])
app.include_router(appender_router,     prefix="/api/appender",     tags=["Appender"])


@app.get("/")
def home():
    return {"message": "Sampling Tool API is running" }
