Ctrl K
ComunidadGuías…
backend/main.pypython · @kibot
20/9/2026, 16:38:17
from 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)

Comentarios de código