Files
wncloud/app/__init__.py
T
2023-09-02 17:24:47 +08:00

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")