Example #1
0
    def itemToDict(item: UserService) -> typing.Dict[str, typing.Any]:
        """
        Converts an assigned/cached service db item to a dictionary for REST response
        :param item: item to convert
        :param is_cache: If item is from cache or not
        """
        props = item.getProperties()

        if item.user is None:
            owner = ''
            owner_info = {'auth_id': '', 'user_id': ''}
        else:
            owner = item.user.pretty_name
            owner_info = {
                'auth_id': item.user.manager.uuid,
                'user_id': item.user.uuid
            }

        return {
            'id': item.uuid,
            'state_date': item.state_date,
            'creation_date': item.creation_date,
            'unique_id': item.unique_id,
            'friendly_name': item.friendly_name,
            'owner': owner,
            'owner_info': owner_info,
            'service': item.deployed_service.service.name,
            'service_id': item.deployed_service.service.uuid,
            'pool': item.deployed_service.name,
            'pool_id': item.deployed_service.uuid,
            'ip': props.get('ip', _('unknown')),
            'source_host': item.src_hostname,
            'source_ip': item.src_ip,
            'in_use': item.in_use
        }
Example #2
0
    def itemToDict(item: models.UserService,
                   is_cache: bool = False) -> typing.Dict[str, typing.Any]:
        """
        Converts an assigned/cached service db item to a dictionary for REST response
        :param item: item to convert
        :param is_cache: If item is from cache or not
        """
        props = item.getProperties()

        val = {
            'id':
            item.uuid,
            'id_deployed_service':
            item.deployed_service.uuid,
            'unique_id':
            item.unique_id,
            'friendly_name':
            item.friendly_name,
            'state':
            item.state if
            not (props.get('destroy_after') and item.state == State.PREPARING)
            else State.CANCELING,
            'os_state':
            item.os_state,
            'state_date':
            item.state_date,
            'creation_date':
            item.creation_date,
            'revision':
            item.publication and item.publication.revision or '',
            'ip':
            props.get('ip', _('unknown')),
            'actor_version':
            props.get('actor_version', _('unknown')),
        }

        if is_cache:
            val['cache_level'] = item.cache_level
        else:
            if item.user is None:
                owner = ''
                owner_info = {'auth_id': '', 'user_id': ''}
            else:
                owner = item.user.pretty_name
                owner_info = {
                    'auth_id': item.user.manager.uuid,
                    'user_id': item.user.uuid
                }

            val.update({
                'owner': owner,
                'owner_info': owner_info,
                'in_use': item.in_use,
                'in_use_date': item.in_use_date,
                'source_host': item.src_hostname,
                'source_ip': item.src_ip
            })
        return val