in modular_api_cli/modular_handler/group_handler.py [0:0]
def delete_group_handler(self, group: str) -> CommandResponse:
"""
Delete group from ModularGroup table
:param group: Group name to delete
:return: CommandResponse
"""
_LOG.info(f'Going to delete group \'{group}\'')
group_item = self.group_service.describe_group(group_name=group)
if not group_item:
_LOG.error('Group does not exist')
raise ModularApiBadRequestException(
f'Group with name \'{group}\' does not exist')
if group_item.state != ACTIVATED_STATE:
_LOG.error(f'Group with name \'{group}\' is blocked or deleted')
raise ModularApiBadRequestException(
f'Group with name \'{group}\' is blocked or deleted. To get '
f'more detailed information please execute command:{line_sep}'
f'modular group describe --group {group}')
self._check_group_in_users(group_name=group)
if self.group_service.calculate_group_hash(group_item) != \
group_item.hash:
click.confirm(
f'Group with name \'{group}\' is compromised. Command execution'
f' leads to group entity hash sum recalculation. '
f'Are you sure?', abort=True)
group_item.state = REMOVED_STATE
group_item.last_modification_date = utc_time_now().isoformat()
group_hash_sum = self.group_service.calculate_group_hash(group_item)
group_item.hash = group_hash_sum
self.group_service.save_group(group_item=group_item)
message = f'Group with name \'{group}\' successfully deleted'
_LOG.info(message)
return CommandResponse(message=message)