31 lines
927 B
Python
31 lines
927 B
Python
from fastapi import FastAPI, Depends, HTTPException, status, Request, Response
|
|
from fastapi.security import OAuth2PasswordBearer, OAuth2PasswordRequestForm
|
|
from jose import JWTError, jwt
|
|
from fastapi.security import OAuth2PasswordBearer
|
|
from sqlalchemy.orm import Session
|
|
|
|
from app import models
|
|
from app import schemas
|
|
from app import database
|
|
from app import crud
|
|
from app.utils import encrypt
|
|
from app.api import api_router
|
|
|
|
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")
|
|
database.Base.metadata.create_all(bind=database.engine)
|
|
app = FastAPI()
|
|
|
|
|
|
@app.middleware("http")
|
|
async def db_session_middleware(request: Request, call_next):
|
|
response = Response("Internal server error", status_code=500)
|
|
try:
|
|
request.state.db = database.SessionLocal()
|
|
response = await call_next(request)
|
|
finally:
|
|
request.state.db.close()
|
|
return response
|
|
|
|
|
|
app.include_router(api_router, prefix="/api")
|