2026-07-03 01:06:35 +00:00

61 lines
1.3 KiB
Python

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"}