Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
Backend: - Add routers/verticals.py with CRUD endpoints - GET /verticals - list all bands - POST /verticals/preferences/bulk - onboarding bulk set - CRUD for individual preferences Frontend: - Add BandOnboarding component with checkbox grid - Add /onboarding page route - Calls bulk preferences API on submit
63 lines
2 KiB
Python
63 lines
2 KiB
Python
from fastapi import FastAPI
|
|
import os
|
|
from routers import auth, shows, venues, songs, social, tours, artists, preferences, reviews, badges, nicknames, moderation, attendance, groups, users, search, performances, notifications, feed, leaderboards, stats, admin, chase, gamification, videos, musicians, sequences, verticals
|
|
|
|
from fastapi.middleware.cors import CORSMiddleware
|
|
|
|
# Feature flags - set to False to disable features
|
|
ENABLE_BUG_TRACKER = os.getenv("ENABLE_BUG_TRACKER", "true").lower() == "true"
|
|
|
|
app = FastAPI()
|
|
|
|
app.add_middleware(
|
|
CORSMiddleware,
|
|
allow_origins=["*"], # In production, set this to the frontend domain
|
|
allow_credentials=True,
|
|
allow_methods=["*"],
|
|
allow_headers=["*"],
|
|
)
|
|
|
|
app.include_router(auth.router)
|
|
app.include_router(shows.router)
|
|
app.include_router(venues.router)
|
|
app.include_router(songs.router)
|
|
app.include_router(social.router)
|
|
app.include_router(tours.router)
|
|
app.include_router(artists.router)
|
|
app.include_router(preferences.router)
|
|
app.include_router(reviews.router)
|
|
app.include_router(badges.router)
|
|
app.include_router(nicknames.router)
|
|
app.include_router(moderation.router)
|
|
app.include_router(attendance.router)
|
|
app.include_router(groups.router)
|
|
app.include_router(users.router)
|
|
app.include_router(search.router)
|
|
app.include_router(performances.router)
|
|
app.include_router(notifications.router)
|
|
app.include_router(feed.router)
|
|
app.include_router(leaderboards.router)
|
|
app.include_router(stats.router)
|
|
app.include_router(admin.router)
|
|
app.include_router(chase.router)
|
|
app.include_router(gamification.router)
|
|
app.include_router(videos.router)
|
|
app.include_router(musicians.router)
|
|
app.include_router(sequences.router)
|
|
app.include_router(verticals.router)
|
|
|
|
|
|
# Optional features - can be disabled via env vars
|
|
if ENABLE_BUG_TRACKER:
|
|
from routers import tickets
|
|
app.include_router(tickets.router)
|
|
|
|
@app.get("/")
|
|
def read_root():
|
|
return {"Hello": "World"}
|
|
|
|
@app.get("/healthz")
|
|
def health_check():
|
|
"""Health check endpoint for monitoring and load balancers"""
|
|
return {"status": "healthy"}
|
|
|