from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from fastapi.staticfiles import StaticFiles import os from .db.database import init_db from .routers import ( songs, playlists, mood, radio, search, lofi, shareplay, import_, settings, releases, events, account, ) app = FastAPI(title="Music App API", version="1.0.0") # CORS origins = os.getenv("CORS_ORIGINS", "http://localhost:5173").split(",") app.add_middleware( CORSMiddleware, allow_origins=origins, allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) # Static files static_dir = os.getenv("STATIC_DIR", "./static") os.makedirs(static_dir, exist_ok=True) app.mount("/static", StaticFiles(directory=static_dir), name="static") # Routers app.include_router(songs.router) app.include_router(playlists.router) app.include_router(mood.router) app.include_router(radio.router) app.include_router(search.router) app.include_router(lofi.router) app.include_router(shareplay.router) app.include_router(import_.router) app.include_router(settings.router) app.include_router(releases.router) app.include_router(events.router) app.include_router(account.router) @app.on_event("startup") def startup(): init_db() @app.get("/health") def health_check(): return {"status": "ok"}