in modular_sdk/services/application_service.py [0:0]
def update(application: Application, attributes: List, updated_by: str):
updatable_attributes = [
Application.description,
Application.meta,
Application.secret,
Application.updated_by,
Application.is_deleted
]
actions = []
for attribute in attributes:
if attribute not in updatable_attributes:
_LOG.warning(f'Attribute {attribute.attr_name} '
f'can\'t be updated.')
continue
python_attr_name = Application._dynamo_to_python_attr(
attribute.attr_name)
update_value = getattr(application, python_attr_name)
actions.append(attribute.set(update_value))
actions.append(Application.updated_by.set(updated_by))
actions.append(Application.update_timestamp.set(
int(utc_datetime().timestamp() * 1e3)))
application.update(actions=actions)