forked from polka_billy/porridger
Добавить в остальные функции проверку токена
This commit is contained in:
11
back/main.py
11
back/main.py
@ -24,7 +24,6 @@ from .db import engine, SessionLocal
|
||||
|
||||
from . import schema
|
||||
|
||||
|
||||
Base.metadata.create_all(bind=engine)
|
||||
|
||||
db = SessionLocal()
|
||||
@ -35,7 +34,8 @@ app = FastAPI()
|
||||
templates = Jinja2Templates(directory="./front/dist")
|
||||
|
||||
app.mount("/static", StaticFiles(directory = "./front/dist"))
|
||||
app.mount("/uploads", StaticFiles(directory = "./uploads"))
|
||||
# app.mount("/uploads", StaticFiles(directory = "./uploads"))
|
||||
|
||||
|
||||
@app.get("/api/announcements")#адрес объявлений
|
||||
def annoncements_list(user_id: int = None, metro: str = None, category: str = None, booked_by: int = -1):
|
||||
@ -86,7 +86,7 @@ def single_annoncement(user_id:int):
|
||||
|
||||
# Занести объявление в базу
|
||||
@app.put("/api/announcement")#адрес объявлений
|
||||
def put_in_db(name: Annotated[str, Form()], category: Annotated[str, Form()], bestBy: Annotated[int, Form()], address: Annotated[str, Form()], longtitude: Annotated[float, Form()], latitude: Annotated[float, Form()], description: Annotated[str, Form()], src: Annotated[UploadFile | None, File()], metro: Annotated[str, Form()], trashId: Annotated[int | None, Form()] = -1):
|
||||
def put_in_db(name: Annotated[str, Form()], category: Annotated[str, Form()], bestBy: Annotated[int, Form()], address: Annotated[str, Form()], longtitude: Annotated[float, Form()], latitude: Annotated[float, Form()], description: Annotated[str, Form()], src: UploadFile, metro: Annotated[str, Form()], trashId: Annotated[int, Form()] = None):
|
||||
# try:
|
||||
userId = 1 # temporary
|
||||
|
||||
@ -139,7 +139,7 @@ def change_book_status(data: schema.Book):
|
||||
|
||||
@app.post("/api/signup")
|
||||
def create_user(data = Body()):
|
||||
if db.query(UserDatabase).filter(User.email == data["email"]).first() == None:
|
||||
if db.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"])
|
||||
db.add(new_user)
|
||||
db.commit()
|
||||
@ -152,6 +152,7 @@ def create_user(data = Body()):
|
||||
async def login_for_access_token(
|
||||
form_data: Annotated[OAuth2PasswordRequestForm, Depends()]
|
||||
):
|
||||
# разобраться с первым параметром
|
||||
user = authenticate_user(db.query(UserDatabase).all(), form_data.username, form_data.password)
|
||||
if not user:
|
||||
raise HTTPException(
|
||||
@ -163,7 +164,7 @@ async def login_for_access_token(
|
||||
access_token = create_access_token(
|
||||
data={"user_id": user.id}, expires_delta=access_token_expires
|
||||
)
|
||||
return {"access_token": access_token, "token_type": "bearer"}
|
||||
return {"access_token": access_token}
|
||||
|
||||
|
||||
@app.get("/api/users/me/", response_model=User)
|
||||
|
Reference in New Issue
Block a user