prepare_user_data: Always return a dict
This commit is contained in:
@@ -114,7 +114,9 @@ def prepare_node_data(node_id: str, node: dict=None) -> dict:
|
|||||||
|
|
||||||
def prepare_user_data(user_id: str, user=None) -> dict:
|
def prepare_user_data(user_id: str, user=None) -> dict:
|
||||||
"""
|
"""
|
||||||
Prepare data to index for user node
|
Prepare data to index for user node.
|
||||||
|
|
||||||
|
Returns an empty dict if the user should not be indexed.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
if not user:
|
if not user:
|
||||||
@@ -124,13 +126,13 @@ def prepare_user_data(user_id: str, user=None) -> dict:
|
|||||||
user = users_coll.find_one({'_id': user_oid})
|
user = users_coll.find_one({'_id': user_oid})
|
||||||
|
|
||||||
if user is None:
|
if user is None:
|
||||||
log.warning('Unable to find user %s, not updating Algolia.', user_oid)
|
log.warning('Unable to find user %s, not updating Algolia.', user_id)
|
||||||
return
|
return {}
|
||||||
|
|
||||||
user_roles = set(user.get('roles', ()))
|
user_roles = set(user.get('roles', ()))
|
||||||
|
|
||||||
if 'service' in user_roles:
|
if 'service' in user_roles:
|
||||||
return
|
return {}
|
||||||
|
|
||||||
# Strip unneeded roles
|
# Strip unneeded roles
|
||||||
index_roles = user_roles.intersection(current_app.user_roles_indexable)
|
index_roles = user_roles.intersection(current_app.user_roles_indexable)
|
||||||
|
Reference in New Issue
Block a user