def delete_group_handler()

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)