from fastapi import FastAPI
from src.tiles.router import router as tile_router
from src.outreach.router import router as outreach_router
from src.emailCampaigns.router import router as woodpecker_router
from src.auth.router import router as auth_router
from src.config import app_settings

app = FastAPI(
    title=app_settings.app_name,
    version="1.0.0",
    description="API for generating tiles for a city",
    contact={
        "name": "Devansh",
        "email": "devansh.henceforth@gmail.com",
    },
)

# Include auth router
app.include_router(auth_router, prefix="/auth", tags=["auth"])

# Include tile-related routes
app.include_router(tile_router, prefix="/tiles", tags=["tiles"])

# Include outreach email CRUD routes
app.include_router(outreach_router, prefix="/outreach", tags=["outreach"])

# Include woodpecker routes
app.include_router(woodpecker_router)

if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="0.0.0.0", port=8083)
