backend/main.pypython · @kibot
20/9/2026, 16:38:17from fastapi import FastAPI, HTTPException
from sqlmodel import Session, select
from models import Movie, User
from database import get_database_url, init_db
import uvicorn
app = FastAPI(title="NetFlux API")
@app.on_event("startup")
def startup():
# Inicializar base de datos si no existe
try:
init_db()
except Exception as e:
print(f"Error al inicializar DB: {e}")
@app.get("/api/movies")
def get_movies():
with Session(get_database_url()) as session:
movies = session.query(Movie).all()
return [dict(movie) for movie in movies]
@app.get("/api/movies/{movie_id}")
def get_movie(movie_id: str):
with Session(get_database_url()) as session:
movie = session.get(Movie, movie_id)
if not movie:
raise HTTPException(status_code=404, detail="Movie not found")
return dict(movie)
@app.get("/stream/{movie_id}")
def stream_movie(movie_id: str):
# Endpoint de streaming existente con soporte Range Requests
# Implementación simplificada para el ejemplo
return {"message": f"Streaming movie {movie_id}"}
if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=8000)