def set_password(email, password): print("Setting password of user _{}_ to {}".format(email, password)) user = user_repo.find_one_by_email(email) if not user: print("User not exist") return user_service.create_or_update_password(user, password) print("Done")
def check_username_and_password(email_or_phone_number: str, password: str): email, phone_number = validator.validate_login_request(email_or_phone_number, password) pending_register = register_service.find_one_by_email(email) if email else \ register_service.find_one_by_phone_number(phone_number) if pending_register: raise MustConfirmEmailException() user = repo.find_one_by_email(email) if email else repo.find_one_by_phone_number(phone_number) if not user: raise UserNotFoundException() if not user.is_active: handle_in_active(user) if not verify_password(user.password, password): raise WrongPasswordException() return user
def find_one_by_email_else_throw(email: str) -> User: user = repo.find_one_by_email(email) if not user: raise UserNotFoundException() return user
def find_one_by_email(email: str) -> User: return repo.find_one_by_email(email)
def change_profile(**kwargs) -> User: email = kwargs.get('email') user = repo.find_one_by_email(email) if not user: raise UserNotFoundException() return update_profile(user, **kwargs)
def change_password(current_password: str, new_password: str, **kwargs) -> User: email = kwargs.get('email') user = repo.find_one_by_email(email) if not user: raise UserNotFoundException() if not verify_password(user.password, current_password): raise WrongCurrentPasswordException() return create_or_update_password(user, new_password)
def fetch_user_status(**kwargs): email = kwargs.get('email') user = repo.find_one_by_email(email) return user.to_display_dict()
def find_one_by_email_or_phone_number(email: str, phone_number: str) -> User: return repo.find_one_by_email_or_phone_number(email, phone_number) if phone_number \ else repo.find_one_by_email(email)