"""FastAPI main application. Main application entry point for OpenRouter API Key Monitor. """ from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from openrouter_monitor.config import get_settings from openrouter_monitor.routers import api_keys from openrouter_monitor.routers import auth from openrouter_monitor.routers import public_api from openrouter_monitor.routers import stats from openrouter_monitor.routers import tokens settings = get_settings() # Create FastAPI app app = FastAPI( title="OpenRouter API Key Monitor", description="Monitor and manage OpenRouter API keys", version="1.0.0", debug=settings.debug, ) # CORS middleware app.add_middleware( CORSMiddleware, allow_origins=["*"], # Configure appropriately for production allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) # Include routers app.include_router(auth.router, prefix="/api/auth", tags=["authentication"]) app.include_router(api_keys.router, prefix="/api/keys", tags=["api-keys"]) app.include_router(tokens.router) app.include_router(stats.router) app.include_router(public_api.router) @app.get("/") async def root(): """Root endpoint.""" return {"message": "OpenRouter API Key Monitor API", "version": "1.0.0"} @app.get("/health") async def health_check(): """Health check endpoint.""" return {"status": "healthy"}