def is_user_registered(user): db = g.db_client[AppConfig.get_database_name()] users = db.users try: result = users.find_one({ "username": user.username, "role": user.role }) if result is not None: return True else: return False except ConnectionFailure as e: logging.error("db insert failed: " + str(e)) return False return True
def register(user): if UserServiceProviderRepositories.is_user_registered(user): logging.debug( 'username [%s] with role [%s] already registered, cannot complete registration process' % (user.username, user.role)) return False, None user.app_key = str(uuid.uuid4()) user.app_secret = str(uuid.uuid4()) db = g.db_client[AppConfig.get_database_name()] users = db.users try: result = users.insert_one(user.to_dict()) except ConnectionFailure as e: logging.error("db insert failed: " + str(e)) return False, None return True, user
def register(user): if UserAdminRepositories.is_user_registered(user): logging.debug( 'username [%s] with role [%s] already registered, cannot complete registration process' % (user.username, user.role)) return False salt = bcrypt.gensalt() hashed = bcrypt.hashpw(user.password.encode('utf-8'), salt) user.salt = salt user.password = hashed db = g.db_client[AppConfig.get_database_name()] users = db.users try: result = users.insert_one(user.to_dict(with_password=True)) except ConnectionFailure as e: logging.error("db insert failed: " + str(e)) return False return True
def match(user): db = g.db_client[AppConfig.get_database_name()] users = db.users try: result = users.find_one({ "username": user.username, "role": user.role }) if result is not None and bcrypt.checkpw( user.password.encode('utf-8'), result['password']): logging.debug('username [%s] with role [%s] is verified' % (user.username, user.role)) else: logging.debug( 'username [%s] with role [%s] could not be verified' % (user.username, user.role)) return False except ConnectionFailure as e: logging.error("db insert failed: " + str(e)) return False return True
def match(user): db = g.db_client[AppConfig.get_database_name()] users = db.users try: result = users.find_one({ "app_key": user.app_key, "app_secret": user.app_secret }) if result is not None and result['app_key'] == user.app_key: logging.debug( 'username [%s] with app_key [%s] logged-in successfully' % (result['username'], result['app_key'])) return True, result else: logging.debug( 'app_key [%s] with app_secret [%s] could not be verified' % (user.app_key, user.app_secret)) return False, None except ConnectionFailure as e: logging.error("db insert failed: " + str(e)) return False, None return False, None