def read_posts(user_login: str = None, limit: int = 100, db: Session = Depends(get_db)): db_user = crud.get_user_by_login(db, login=user_login) if not db_user: raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail="User_login not found") return crud.get_certain_posts(db, login=user_login, limit=limit)
def read_posts(user_login: str, db: Session = Depends(get_db), current_user=Depends(crud.get_current_user)): if user_login != current_user.current_user: raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, detail="There're no permissions for user " + current_user.current_user) db_user = crud.get_user_by_login(db, login=user_login) if not db_user: raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail="User_login not found") return crud.last_request(db, login=user_login)
def create_post(user_login: str = None, current_user=Depends(crud.get_current_user), post: schemas.PostCreate = None, db: Session = Depends(get_db)): if user_login != current_user.current_user: raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, detail="There're no permissions for user " + current_user.current_user) db_user = crud.get_user_by_login(db, user_login) if not db_user: raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail="User_login not found") return crud.create_post(db=db, post=post, user_login=user_login)
def unlike(user_login: str, post_id: int, db: Session = Depends(get_db), current_user=Depends(crud.get_current_user)): if user_login != current_user.current_user: raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, detail="There're no permissions for user " + current_user.current_user) db_user = crud.get_user_by_login(db, user_login) if not db_user: raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail="User_login not found") db_post = crud.get_post_by_id(db, post_id) if not db_post: raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail="Post not found") try: return crud.unlike(db=db, user_login=user_login, post_id=post_id) except: raise HTTPException(status_code=status.HTTP_409_CONFLICT, detail="Probably user still unlikes post")
def create_user(user: schemas.UserCreate, db: Session = Depends(get_db)): db_user = crud.get_user_by_login(db, login=user.login) if db_user: raise HTTPException(status_code=status.HTTP_409_CONFLICT, detail="Login already registered") return crud.create_user(db=db, user=user)