forked from polka_billy/porridger
Auth works again; relationships between Trashbox and User added
This commit is contained in:
46
back/main.py
46
back/main.py
@ -77,31 +77,30 @@ def single_annoncement(user_id:int):
|
||||
# Занести объявление в базу данных
|
||||
@app.put("/api/announcement")#адрес объявлений
|
||||
def put_in_db(name: Annotated[str, Form()], category: Annotated[str, Form()], bestBy: Annotated[datetime.date, 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
|
||||
|
||||
address: Annotated[str, Form()], longtitude: Annotated[float, Form()], latitude: Annotated[float, Form()],
|
||||
description: Annotated[str, Form()], metro: Annotated[str, Form()], current_user: Annotated[schemas.User, Depends(utils.get_current_active_user)],
|
||||
src: Union[UploadFile, None] = None, trashId: Annotated[int, Form()] = None):
|
||||
try:
|
||||
uploaded_name = ""
|
||||
if src:
|
||||
f = src.file
|
||||
f.seek(0, os.SEEK_END)
|
||||
if f.tell() > 0:
|
||||
f.seek(0)
|
||||
destination = pathlib.Path("./uploads/" + str(hash(f)) + pathlib.Path(src.filename).suffix.lower())
|
||||
with destination.open('wb') as buffer:
|
||||
shutil.copyfileobj(f, buffer)
|
||||
|
||||
f = src.file
|
||||
f.seek(0, os.SEEK_END)
|
||||
if f.tell() > 0:
|
||||
f.seek(0)
|
||||
destination = pathlib.Path("./uploads/" + str(hash(src.file)) + pathlib.Path(src.filename).suffix.lower())
|
||||
with destination.open('wb') as buffer:
|
||||
shutil.copyfileobj(src.file, buffer)
|
||||
uploaded_name = "/uploads/"+destination.name
|
||||
|
||||
uploaded_name = "/uploads/"+destination.name
|
||||
|
||||
temp_ancmt = models.Announcement(user_id=userId, name=name, category=category, best_by=bestBy, address=address, longtitude=longtitude, latitude=latitude, description=description, src=uploaded_name, metro=metro, trashId=trashId, booked_by=-1)
|
||||
temp_ancmt = models.Announcement(user_id=current_user.id, name=name, category=category, best_by=bestBy,
|
||||
address=address, longtitude=longtitude, latitude=latitude, description=description, metro=metro, trashId=trashId)
|
||||
database.add(temp_ancmt) # добавляем в бд
|
||||
database.commit() # сохраняем изменения
|
||||
database.refresh(temp_ancmt) # обновляем состояние объекта
|
||||
return {"Answer" : True}
|
||||
# except:
|
||||
# return {"Answer" : False}
|
||||
except:
|
||||
return {"Answer" : False}
|
||||
|
||||
|
||||
# Удалить объявления из базы
|
||||
@ -130,12 +129,13 @@ def change_book_status(data: schemas.Book):
|
||||
|
||||
|
||||
# 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(models.User).filter(models.User.email == data["email"]).first() == None:
|
||||
new_user = models.User(email=data["email"], hashed_password=get_password_hash(data["password"]),
|
||||
name=data["name"], surname=data["surname"])
|
||||
def create_user(nickname: Annotated[str, Form()], password: Annotated[str, Form()], name: Annotated[str, Form()]=None,
|
||||
surname: Annotated[str, Form()]=None, avatar: Annotated[UploadFile, Form()]=None):
|
||||
|
||||
if database.query(models.User).filter(models.User.nickname == nickname).first() == None:
|
||||
new_user = models.User(nickname=nickname, hashed_password=utils.get_password_hash(password),
|
||||
name=name, surname=surname)
|
||||
database.add(new_user)
|
||||
database.commit()
|
||||
database.refresh(new_user) # обновляем состояние объекта
|
||||
|
Reference in New Issue
Block a user