Start
This commit is contained in:
52
linedance-api/app/main.py
Normal file
52
linedance-api/app/main.py
Normal file
@@ -0,0 +1,52 @@
|
||||
from fastapi import FastAPI
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
from app.core.database import engine, Base
|
||||
from app.routers import auth, projects, songs, alternatives, dances
|
||||
from app.websocket.manager import router as ws_router
|
||||
|
||||
# Opret tabeller hvis de ikke findes (til udvikling — brug Alembic i produktion)
|
||||
Base.metadata.create_all(bind=engine)
|
||||
|
||||
app = FastAPI(
|
||||
title="Linedance API",
|
||||
version="0.1.0",
|
||||
description="Backend for linedance-afspiller og projektstyring",
|
||||
)
|
||||
|
||||
app.add_middleware(
|
||||
CORSMiddleware,
|
||||
allow_origins=["*"], # Stram til i produktion
|
||||
allow_credentials=True,
|
||||
allow_methods=["*"],
|
||||
allow_headers=["*"],
|
||||
)
|
||||
|
||||
app.include_router(auth.router)
|
||||
app.include_router(projects.router)
|
||||
app.include_router(songs.router)
|
||||
app.include_router(alternatives.router)
|
||||
app.include_router(dances.router)
|
||||
|
||||
|
||||
@app.on_event("startup")
|
||||
def seed_dance_levels():
|
||||
"""Opret standard dans-niveauer hvis tabellen er tom."""
|
||||
from sqlalchemy.orm import Session
|
||||
from app.models import DanceLevel
|
||||
with Session(engine) as db:
|
||||
if db.query(DanceLevel).count() == 0:
|
||||
defaults = [
|
||||
DanceLevel(sort_order=1, name="Begynder", description="Passer til alle"),
|
||||
DanceLevel(sort_order=2, name="Let øvet", description="Lidt erfaring kræves"),
|
||||
DanceLevel(sort_order=3, name="Øvet", description="Kræver regelmæssig træning"),
|
||||
DanceLevel(sort_order=4, name="Erfaren", description="For dedikerede dansere"),
|
||||
DanceLevel(sort_order=5, name="Ekspert", description="Konkurrenceniveau"),
|
||||
]
|
||||
db.add_all(defaults)
|
||||
db.commit()
|
||||
app.include_router(ws_router)
|
||||
|
||||
|
||||
@app.get("/")
|
||||
def root():
|
||||
return {"status": "ok", "service": "Linedance API"}
|
||||
Reference in New Issue
Block a user