You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
712 B
Python
28 lines
712 B
Python
from typing import List
|
|
from fastapi import FastAPI, Depends
|
|
from sqlalchemy.orm import Session
|
|
|
|
from .database import SessionLocal, engine
|
|
from . import models, schemas, crud
|
|
|
|
models.Base.metadata.create_all(bind=engine)
|
|
app = FastAPI()
|
|
|
|
# Dependency
|
|
def get_db():
|
|
db = SessionLocal()
|
|
try:
|
|
yield db
|
|
finally:
|
|
db.close()
|
|
|
|
@app.get("/records/", response_model=List[schemas.Record])
|
|
def get_records(db: Session = Depends(get_db)):
|
|
records = crud.get_records(db)
|
|
|
|
return records
|
|
|
|
@app.post("/add_record/", response_model=schemas.Record, status_code=201)
|
|
def create_record(record: schemas.Record, db: Session = Depends(get_db)):
|
|
return crud.create_record(db=db, record=record)
|