forked from polka_billy/porridger
Auth. was fixed. Problem is in getting curr. user
This commit is contained in:
44
back/main.py
44
back/main.py
@ -39,15 +39,15 @@ app.mount("/uploads", StaticFiles(directory = "./uploads"))
|
||||
# Функция, создающая сессию БД при каждом запросе к нашему API.
|
||||
# Срабатывает до запуска остальных функций.
|
||||
# Всегда закрывает сессию при окончании работы с ней
|
||||
@app.middleware("http")
|
||||
async def db_session_middleware(request: Request, call_next):
|
||||
response = Response("Internal server error", status_code=500)
|
||||
try:
|
||||
request.state.db = SessionLocal()
|
||||
response = await call_next(request)
|
||||
finally:
|
||||
request.state.db.close()
|
||||
return response
|
||||
# @app.middleware("http")
|
||||
# async def db_session_middleware(request: Request, call_next):
|
||||
# response = Response("Internal server error", status_code=500)
|
||||
# try:
|
||||
# request.state.db = SessionLocal()
|
||||
# response = await call_next(request)
|
||||
# finally:
|
||||
# request.state.db.close()
|
||||
# return response
|
||||
|
||||
|
||||
@app.get("/api/announcements")#адрес объявлений
|
||||
@ -150,10 +150,12 @@ def change_book_status(data: schema.Book):
|
||||
return {"Success": False}
|
||||
|
||||
# reginstration
|
||||
# {"id":1, "email":"poopka@mail.ru", "password":"good", "name":"Vasya", "surname":"Poopkin"}
|
||||
@app.post("/api/signup")
|
||||
def create_user(data = Body()):
|
||||
if database.query(UserDatabase).filter(UserDatabase.email == data["email"]).first() == None:
|
||||
new_user = UserDatabase(id=data["id"], email=data["email"], password=data["password"], name=data["name"], surname=data["surname"])
|
||||
new_user = UserDatabase(id=data["id"], email=data["email"], password=data["password"],
|
||||
hashed_password=get_password_hash(data["password"]), name=data["name"], surname=data["surname"])
|
||||
database.add(new_user)
|
||||
database.commit()
|
||||
database.refresh(new_user) # обновляем состояние объекта
|
||||
@ -177,21 +179,21 @@ async def login_for_access_token(
|
||||
access_token = create_access_token(
|
||||
data={"user_id": user.id}, expires_delta=access_token_expires
|
||||
)
|
||||
return access_token
|
||||
return {"access_token":access_token}
|
||||
|
||||
|
||||
@app.get("/api/users/me/", response_model=schema.User)
|
||||
async def read_users_me( #!!!!!!!!!!!
|
||||
current_user: Annotated[User, Depends(get_current_active_user)]
|
||||
):
|
||||
return current_user
|
||||
# @app.get("/api/users/me/", response_model=schema.User)
|
||||
# async def read_users_me( #!!!!!!!!!!!
|
||||
# current_user: Annotated[schema.User, Depends(get_current_active_user)]
|
||||
# ):
|
||||
# return {"data": current_user}
|
||||
|
||||
|
||||
@app.get("/api/users/me/items/")
|
||||
async def read_own_items(
|
||||
current_user: Annotated[User, Depends(get_current_active_user)]
|
||||
):
|
||||
return [{"Current user name": current_user.name, "Current user surname": current_user.surname}]
|
||||
# @app.get("/api/users/me/items/")
|
||||
# async def read_own_items(
|
||||
# current_user: Annotated[schema.User, Depends(get_current_active_user)]
|
||||
# ):
|
||||
# return [{"Current user name": current_user.name, "Current user surname": current_user.surname}]
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user