Work on Cvent API and IDAA

This commit is contained in:
Scott Idem
2022-02-09 19:44:16 -05:00
parent 709952bf60
commit 6fc7905b04
3 changed files with 228 additions and 73 deletions

View File

@@ -181,7 +181,7 @@ def update_user_obj(
fail_any: bool = True, # Fail if any thing goes wrong for sub objects
return_dict: bool = False,
) -> bool|int:
log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
# ### SECTION ### Secondary data validation
@@ -197,17 +197,19 @@ def update_user_obj(
log.debug(type(user_dict_obj))
if isinstance(user_dict_obj, dict):
user_dict = user_dict_obj
user_dict['id'] = user_id
try:
user_obj = User_Base(**user_dict)
log.debug(user_obj)
except ValidationError as e:
log.error(e.json())
return False
else:
user_obj = user_dict_obj
user_obj.id = user_id
log.debug(user_obj)
# IMPORTANT NOTE: Need to be extra careful if allowing an update to password, super, or manager. Maybe other fields?
user_dict = user_obj.dict(by_alias=False, exclude_unset=True, exclude={'password', 'super', 'manager', 'contact', 'organization', 'person', 'created_on', 'updated_on'})
# IMPORTANT NOTE: Need to be extra careful if allowing an update to password, super, or manager. Maybe other fields?
user_dict = user_obj.dict(by_alias=False, exclude_unset=True, exclude={'password', 'super', 'manager', 'contact', 'organization', 'person', 'created_on', 'updated_on'})
# log.debug(type(user_dict_obj))
@@ -309,15 +311,17 @@ def update_user_obj(
user_obj.id = user_id # Is this needed?
user_dict['id'] = user_id
if user_obj.new_password:
log.debug(user_obj.new_password)
else:
user_obj.new_password = secrets.token_urlsafe(default_num_bytes)
hash_string = secure_hash_string(string=user_obj.new_password)
user_obj.password = hash_string
user_dict['password'] = hash_string
# if user_obj.new_password:
log.debug(user_obj.new_password)
# if user_obj.password:
log.debug(user_obj.password)
# else:
# user_obj.new_password = secrets.token_urlsafe(default_num_bytes)
# hash_string = secure_hash_string(string=user_obj.new_password)
# user_obj.password = hash_string
# user_dict['password'] = hash_string
# log.debug(user_obj.new_password)
# Look for a person_id in the user_obj
if person_id: pass