icm/dev.py

45 lines
812 B
Python

from fastapi import FastAPI, Depends
from sqlalchemy.orm import Session
import uvicorn
from database import SessionLocal, engine
import models
models.Base.metadata.create_all(bind=engine)
app = FastAPI()
# Dependency
def get_db():
db = SessionLocal()
try:
yield db
finally:
db.close()
@app.get("/")
async def root():
return {"message": "Hello World"}
@app.post("/movies/")
async def create_movie(name: str = "", db: Session = Depends(get_db)):
out = {}
assert name
movie = models.Movie()
movie.name = name
db.add(movie)
db.flush()
db.commit()
db.refresh(movie)
breakpoint()
out = {"message": f"Created {movie.name} XX", "id": movie.id}
return out
if __name__ == "__main__":
uvicorn.run(app, host="127.0.0.1", port=5000)