async def authenicate_user(db: Session, email: str, password: str) -> schemas.User: user = await get_user_email(email, db) if not user: return False if not Hash.verify_password(password, user.hashed_password): return False return user
def create(request: schemas.User, db: Session): new_user = models.User(full_name=request.full_name, username=request.username, password=Hash.bcrypt(request.password)) db.add(new_user) db.commit() db.refresh(new_user) return new_user
def create(user: schemas.User, db: Session): hashedPass = Hash.hashPassword(user.password) new_user = models.User(name=user.name, email=user.email, password=hashedPass) db.add(new_user) db.commit() db.refresh(new_user) return new_user
def login(request: OAuth2PasswordRequestForm = Depends(), db: Session = Depends(get_db)): user = db.query(models.User).filter(models.User.email == (request.username).lower()).first() if not user: details = "Incorrect Credentials, Check email and password" raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail=details) if not Hash.verify_password(user.password, request.password): details = "Incorrect Credentials, Check email and password" raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail=details) # generate a jwt token and return it access_token_expires = timedelta(minutes=int(ACCESS_TOKEN_EXPIRE_MINUTES)) access_token = create_access_token(data={"sub": user.email}, expires_delta=access_token_expires) return {"access_token": access_token, "token_type": "bearer"}
def login(request: OAuth2PasswordRequestForm, db: Session ): user = db.query(models.User).filter( models.User.email == request.email).first() if not user: raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail="Invalid credentials") if not Hash.verify(request.password, user.password): raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail="Invalid password") # generate jwt token and return access_token = create_access_token(data={"sub": user.email}) return {"access_token": access_token, "token_type": "bearer"}
async def create_user(request: schemas.UserSchema, db: session = Depends(get_db)): users = db.query(models.User).filter(models.User.email == request.email) if users.first(): raise HTTPException(status_code=400, detail="Email Already exists") hashed_password = Hash().hash_password(request.password) user = models.User(name=request.name, password=hashed_password, email=request.email) db.add(user) db.commit() db.refresh(user) # return new_blog return user
async def create_user(user_data: schemas.UserCreate, db: Session): """ADD new user""" new_user = await get_user_email(user_data.email, db) if new_user: raise HTTPException(status_code=status.HTTP_409_CONFLICT, detail=f"{user_data.email} already registereed") new_user = models.User(lname=(user_data.lname).lower(), fname=(user_data.fname).lower(), email=(user_data.email).lower(), password=Hash.get_password_hash(user_data.password)) db.add(new_user) db.commit() db.refresh(new_user) return new_user
def login( request: OAuth2PasswordRequestForm = Depends(), db: Session = Depends(db.db_connection), ): user = db.query(m.User).filter(m.User.email == request.username).first() if not user: raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="Invalid credentials") if not Hash.verify(hashed_password=user.password, unhassed_password=request.password): raise HTTPException( status_code=status.HTTP_403_FORBIDDEN, detail="Password doesn't match the account", ) access_token_expires = timedelta( minutes=jwt_token.ACCESS_TOKEN_EXPIRE_MINUTES) access_token = jwt_token.create_access_token( data={"sub": user.email}, expires_delta=access_token_expires) return {"access_token": access_token, "token_type": "bearer"}